Scientists at the Institute of Neurology, University College London (UCL) study organization and functioning of brain circuits in health and in disease. The Institute is among the world leading centers of basic and transactional brain research, renowned of its pioneering studies in functional brain imaging, prion disease, synaptic function and related disciplines. Synaptic Imaging Laboratory at the Institute combines experimental probing of individual neural connections with realistic biophysical modeling to understand how information is transmitted and stored in the hippocampus, the brain region primarily involved in learning and memory formation. One fundamental aspect of his quest is to establish the microscopic mechanisms by which packets of signaling molecules released by nerve cells diffuse in the brain extra cellular space activating their target protein receptors.
To model these microscopic scenarios in the brain the Laboratory has developed a program that runs on MATLAB. That approach worked well in the early stages of the project, but when it came time to run the simulation on a more realistic set of data with an expanded arena, the limitations of MATLAB became apparent. MATLAB is an efficient environment for quick prototype development, but lacks the capabilities of lower-level programming languages for performance optimization, data management and distributed computing. The researchers realized that they needed a more powerful software tool, but did not have the in-house programming skills to develop one.
Vip Fargo LLC experts analyzed the existing MATLAB-based implementation, the desired capabilities of an ultimate simulation environment, and existing constraints of the Laboratory. Their solution was implementation on C++, which provides great ﬂexibility in memory management, as well as overall performance optimization. Vip Fargo LLC engineers also designed the new program to be easily executed in a distributed computing environment, which would provide an additional performance boost.
To evaluate the new system, the team ran the same simulation study on the previous MATLAB and the new, optimized C++ implementation. The study was executed on the same hardware for both cases. Just moving from MATLAB to optimized C++ code gave a 200 to 300 percent improvement in performance. The diagram below show the relative duration of C++ processing versus MATLAB, on simulations involving an increasing number of calculations. But the improvement didn't stop there. The new C++ implementation made it possible to take full advantage of distributed computing capabilities, and move the calculations to hardware with multi-core processors. Running the same C++ program on a 2 node/8 core machine yielded an additional 250 percent performance boost.
Overall, C++ distributed computing demonstrated an approximate 10-fold performance gain over the MATLAB-based prototype.
The UCL Laboratory has selected Vip Fargo LLC as a partner to help in developing an end-user-level software simulation environment to meet performance and scalability requirements that could not be achieved with the existing MATLAB implementation.
Vip Fargo LLC software experts not only designed and built the system that met all technical speciﬁcations, but ensured that the entire project remained well within ﬁnancial constraints.
The UCL team was extremely impressed with the technical skills, as well as the efficiency and work ethic, of Vip Fargo LLC developers. The project was completed on time and within budget.
As a result, UCL is planning to continue this partnership and will engage Vip Fargo LLC in upcoming development projects.