Cx3Dp: A Parallel Framework for Modeling the Growth and Development of Neural Tissue

The development of
neural tissues such as the neocortex unfolds from a limited number of stem
cells by successive mitosis, migration, differentiation and adaptation of cells
that finally come to take up specific functional roles. Unlike self-assembly in
which the necessary components are given, and assembly depends largely on
complementary structure and forces of interaction. The self-construction of
development makes explicit use of structural and organizational information
encoded in the genome. We have been exploring this complex process by modeling
and simulation. In a previous publication, we described a software framework
(Cx3D), that enables the simulation of development in physical 3D environment
that respects the physical of interaction of objects as well as diffusion of
morphogens. (Zubler and Douglas, 2009). However, the success of that system in
simulating development soon brought us to the limits of single-threaded, single-computer
applications. To open the route to simulating larger cortical areas and their
inter-areal connections, we require a more general version of Cx3D that can
exploit multiprocessor/multicomputer systems. To this end we have designed a
parallel version of Cx3D (Cx3Dp) that addresses these improvements and
can also be run cross-platform. The system scales well with addition of
processors and computers. Computers can be dynamically added to the simulation
if the need for more computational power or more memory arises. The load
balancing will acquire the new resources and balance the system in a way that
each computer takes the same amount of time to complete one time step. The
simulation can be saved after any time step, over multiple computers, and can
be reloaded and continued again if necessary. The diffusion framework has also
been redesigned. The diffusion is now implemented on an octree grid system that
can be adapted to a desired resolution, according to the resolution necessary
for the diffusion. Compared to the previous version of Cx3D. This improvement
allows higher flexibility in assigning the computational resources to the
diffusion. Currently we are running simulations of up to 200’000 cells and
400’000 cell compartments on 3 machines with 64 GB of memory and 24 cores
each, using only 25% of the memory available. The system scales well in
speed when adding cores, and in speed and memory on adding machines. The
new Cx3Dp thus opens the way to very large scale simulation of developing
systems on simple networks of consumer computers.