The United States National Academy of Engineers has already classified brain emulation as one of the Grand Engineering Challenges. Brain emulation in-silico is a relevant research field for various reasons:
- The immediate benefit of brain emulation is a greater understanding of brain behaviour by simulations based on biologically plausible models. Depending on the complexity of the model, it can provide insight into single-cell behaviour to network dynamics of whole brain regions without the need for in-vivo experiments. This can greatly accelerate brain experimentation and the understanding of biological mechanisms.
- One important eventual goal of the field is brain rescue. If brain function can be emulated in silico accurately enough and in real-time, it can lead to brain prosthetics and implants that can recover brain functionality lost due to health conditions and accidents.
The general goal of the project is to apply high-performance, innovative solutions to enable large-scale, accurate or real-time brain simulations and enhance experimental setups or data analysis of the experimental data concerning brain research. Thus, our activities employ a multitude of HPC and other technologies such as FPGAs, Dataflow Computing, GPUs and Many-core processors. The long-term goal and main focus of the effort within this theme is the development of a generic tooling framework for accelerated brain simulations, the BrainFrame Framework.
The BrainFrame Project targets the Acceleration of large-scale brain simulations: Focused mainly on cerebellar models, exploring the use of various HPC node technologies such as FPGAs, GPUs, dataflow engines and many-core processors (Xeon Phis) for delivering largely scalable, high-speed simulation platforms.
The BrainFrame Framework
Depending on the desired model characteristics, we identify two general types of simulations that are relevant in neuroscientific experiments. The first one (TYPE-I) has to do with highly accurate (biophysically accurate and even accurate to the molecular level) models of smaller-sized networks (>100 and <1000) that require real-time or close to real-time performance. The second type involves the simulation of large- or very large-scale networks in which accuracy can often be relaxed. These experiments attempt to simulate network sizes and connection densities closely resembling their biological counterparts (TYPE-II experiments – over 1000 neurons). This, in combination with the variety of models commonly used, makes for a class of applications that vary greatly in terms of workload, while also, depending on the case, requiring high throughput, low latency or both. A single type of HPC fabric, either software- or hardware-based cannot cover all possible use cases with optimal efficiency.
A better approach is to provide scientists with an acceleration platform that has the ability to adjust to the aforementioned variety of workload characteristics. A heterogeneous system that integrates multiple HPC technologies, instead of just one, would be able to provide this. In addition, a framework for a heterogeneous system using a popular user interface for all integrated technologies can also provide the ability to select a different accelerator, depending on availability, cost and performance desired. Such a hardware back-end must overcome additional challenges to be used in the field. It requires a front-end which should provide two crucial features:
An easy and commonly used interface through which neuroscientists can employ the platform, without the constant mediation of an engineer.
A front-end that can reuse the vast amount of models already available to the community.
The eventual goal of the acceleration effort is creating such a heterogeneous back-end, based on Maxeler DFE, Xeon PHI and GPGPU technologies. This backend is combined with a PyNN front-end to implement the BrainFrame tool flow. PyNN, a Python-based, simulator-independent language for the specification of brain models, is a widely known and used framework by computational neuroscientists. PyNN is capable of achieving high-speed simulation and it already offers a common interface to popular simulation platforms such as NEURON and NEST as well as newly developing ones that show great future potential, such as NeuroML.