Title: Event-based parallel computing - partially ordered event-triggered systems (POETS)
Funder: Engineering and Physical Sciences Research Council

Abstract: POETS (Partially Ordered Event Triggered Systems) is a significantly different way of approaching large, compute intensive problems. The evolution of traditional computer technology has taken us from simple machines with a handful of bytes of memory and (by the standards of today) glacial clock speeds, to multi-gigabyte architectures running five or six orders of magnitude faster, but with the same fundamental process at the heart: a central core doing one thing at a time. Over the past few years, architectures have appeared containing multiple cores, but exploiting these efficiently in the general case remains a 'holy grail' of computer science. POETS takes an alternative approach, made possible only today by the proliferation of cheap, small cores and massive reconfigurable platforms. A previous EPSRC project, BIMPA, enabled us to assemble a million core machine, creating a kind of 'meta-computer'. Rather than program explicitly the behaviour of each core and each communication between them, as is done in conventional supercomputers, here the programmer defines a set of relatively small, simple behaviours for the set of cores, and leaves them to get on with it - with the right behavioural definitions , the system 'self-organises' to produce the desired results. BIMPA was designed primarily for neuroscience applications, but a subsidiary research objective allowed us to study the use of the architecture for alternative (physics-based) problems, and we have demonstrated that this kind of approach can lead to dramatic speed increases over conventional solution techniques. POETS is not a general-purpose computing technique, but it is elegantly suited to a variety of traditionally compute intensive engineering and research problems, where it can produce results orders of magnitude faster than conventional machines at a fraction of the cost. The purpose of this research project is to explore this application arena: what kind of architectures are best (fastest)? How might they be automatically configured to self-organise? How might we build bridges between this new technology and a nascent user base? Industry has invested heavily - quite sensibly - in computing technology over the years, and if POETS is to become the disruptive technology we believe it to be capable of, we need to address a serious 'hearts and minds' issue for commercial uptake to ensue.

Lay abstract: POETS - Partial Ordered Event Triggered Systems - is a new form of computing technique, made possible today by the proliferation of conventional cores at negligible cost, and the massive capabilities of programmable hardware (FPGAs). It is significantly different from conventional computing systems, and requires the design/construction of both hardware and infrastructure software from the ground up. For certain classes of (traditionally extremely compute intensive) problem, POETS can - we contend - offer massive (orders of magnitude) speedups at a fraction of the cost of a conventional supercomputer. This translates directly into reducing the high-performance compute requirements of many engineering and research disciplines, with the attendant cost reduction. * The overarching goal of this programme proposal is to research and develop the core technology - hardware, firmware and software - that will enable the techniques of event-based programming and the underpinning hardware to be as ubiquitous as conventional computing architectures and methodologies are today. We will deliver a portfolio of exemplars, attacking real, engineering/physics problems, and clearly demonstrating the superiority of the POETS approach to conventional solutions. The technical objectives of this Programme are: 1. To explore the POETS architecture design space, to establish the (broad) architectural aspects important to system performance. 2. To produce a suite of generic infrastructure software (akin to the operating system, configuration, monitoring and debugging tools usually taken for granted on established architectures). 3. To produce end-user sympathetic application-specific input techniques (akin to compilers on established architectures). POETS is applicable to a wide range of problems from a wide range of disciplines. Each of these disciplines has its own (set of) languages and definition mindsets, some extremely entrenched. To try to persuade a community to adopt a new and relatively unproven technology that also includes a large entry learning curve is not a sensible strategy. We must take the initiative in offering to "build bridges" to other communities, by learning what specific problems they have and attempting to help solve them. 4. To build an exemplar application portfolio: Initially, each sector of the user base will have to be impressed by an example they understand and with which they are familiar.

Research activity codes: 1.4 METHODOLOGIES AND MEASUREMENTS
Health categories: GENERIC HEALTH RELEVANCE;NEUROLOGICAL