P1: ... 11-05-059
NECO.cls
August 10, 2006
17:31
This is a pre-print. Article was published in December 2006 issue (v19, pp. 1-5).
NOTE
Communicated by Alain Destexhe
A Distributed Computing Tool for Generating Neural Simulation Databases Robert J. Calin-Jageman
[email protected]
Paul S. Katz
[email protected] Department of Biology, Georgia State University, Atlanta, GA 30032, U.S.A.
After developing a model neuron or network, it is important to systematically explore its behavior across a wide range of parameter values or experimental conditions, or both. However, compiling a very large set of simulation runs is challenging because it typically requires both access to and expertise with high-performance computing facilities. To lower the barrier for large-scale model analysis, we have developed NeuronPM, a client/server application that creates a “screen-saver” cluster for running simulations in NEURON (Hines & Carnevale, 1997). NeuronPM provides a user-friendly way to use existing computing resources to catalog the performance of a neural simulation across a wide range of parameter values and experimental conditions. The NeuronPM client is a Windows-based screen saver, and the NeuronPM server can be hosted on any Apache/PHP/MySQL server. During idle time, the client retrieves model files and work assignments from the server, invokes NEURON to run the simulation, and returns results to the server. Administrative panels make it simple to upload model files, define the parameters and conditions to vary, and then monitor client status and work progress. NeuronPM is open-source freeware and is available for download at http://neuronpm.homeip.net. It is a useful entry-level tool for systematically analyzing complex neuron and network simulations. 1 Introduction Modern computing technology makes it relatively trivial to simulate complex neurons and networks involving tens to hundreds of parameters. This complexity comes at a cost, however, as it makes it increasingly difficult to understand a model from the results of a single simulation run. Thus, computational neuroscientists have recognized the utility of compiling databases of simulation runs (e.g., Foster, Ungar, & Schwaber, 1993; Goldman, Golowasch, Marder, & Abbott, 2001; Prinz, Billimoria, & Marder, 2003; Prinz, Bucher, & Marder, 2004), in which the behavior of a model is systematically explored across a wide range of parameter values or Neural Computation 18, 1–5 (2006)
C 2006 Massachusetts Institute of Technology
P1: ... 11-05-059
NECO.cls
August 10, 2006
2
17:31
R. Calin-Jageman and P. Katz
experimental conditions. Databases of neural simulations can be useful for tuning models to new data sets, analyzing the influence of different parameters, and assessing the uniqueness of different solution sets. Compiling large sets of simulation runs typically requires access to highperformance computing facilities. For example, Prinz et al. (2003) used several months of processor time on a high-speed cluster to explore the effects of nine parameters on a model of a single neuron (1.9 million simulations). This presents a resource barrier, as high-performance computing facilities are not universally available and accessible. It also presents a development barrier, as designing simulations to take full advantage of high-performance resources typically requires additional programming and expertise. Thus, there are currently impediments to conducting the extensive parameter-space analyses desirable for fully understanding a model. To make it easier for neuroscientists to perform large-scale simulation analyses in their own labs, we sought to develop a system that would use commonly available computing resources and require minimal technical expertise for deployment. Our solution is a client/server application called NeuronPM, which creates a “screen-saver cluster” for running simulations in NEURON (Hines & Carnevale, 1997, 2001). NeuronPM provides a user-friendly means to compile large databases of simulation runs with commonly available computer resources. 2 System Architecture The NeuronPM client is a Microsoft Windows screen saver written with Microsoft Visual Studio.Net Express, a free development environment. The client runs simulations written for the NEURON simulation environment (Hines & Carnevale, 1997, 2001). Simulations are executed by directly invoking NEURON on the client computers, so NEURON models can be run using NeuronPM with little or no modification. Model files and work assignments are retrieved from a NeuronPM server, and result files are uploaded back to the server. All communication is through HTTP protocols over port 80. The NeuronPM server is a set of PHP files on an Apache web server connected to a MySQL database. The server can be hosted on compatible Windows or Linux machines. Work assignments are given to clients in large batches, reducing the communication overhead between the client and server. This allows even a rudimentary server to maintain a relatively large pool of clients. An extensive administrative interface is included on the NeuronPM server, with functions for uploading model files, defining the ranges and intervals of parameters and experimental conditions, and tracking clients and work assignments. Thus, setting up and executing large simulation runs can be accomplished entirely through the administrative interface,
P1: ... 11-05-059
NECO.cls
August 10, 2006
17:31
Generating Simulation Databases
3
with no additional programming. This distinguishes NeuronPM from alternatives such as PVM (e.g., Geist et al., 1994), which require coding a C, C++, or Fortran control system for defining and spawning tasks. A simple IP-based security system allows the administrator to filter unwanted clients.
3 Test Case We used NeuronPM to conduct a parameter-space analysis of a four-neuron model of the Tritonia swim central pattern generator (Frost, Lieb, Tunstall, Mensh, & Katz, 1997). To understand how the synaptic parameters in this network that control the production of rhythmic activity, we varied the weights of nine synapses, with each weight taking on five different values (∼1.9 millions configurations). We distributed this analysis using NeuronPM and a pool of 14 clients. Our original NEURON scripts for the model simulated 50 s of network activity and reported onset and timing of burst activity for each cell in the network and onset and timing of network oscillations. Preparing the NEURON model for distribution required changing only two lines of code in the model (for reporting results). We used the administrative panels from the NeuronPM server to define the parameters and parameter ranges for the search. The server scripts automatically generated all the NEURON code for setting parameters and creating results files. NeuronPM completed the parameter sweep in just less than four days. The best client in the pool (a 2.8 Ghz Pentium IV with 2 GB RAM) averaged 1.21 s per simulation run and would have required about 27 days of continuous work to complete the entire series of runs. NeuronPM thus accomplished a 6.75 times increase in performance from the best client. Performance did not scale linearly with client pool size as the clients do not serve as dedicated machines, but complete work only when idle and in screen-saver mode. The server (a 1.6 Ghz Pentium IV with 756 MB RAM) never approached maximal load and continued to serve as a development platform throughout the analysis. The final result set consisted of approximately 66 MB of indexed text files containing both summary and detailed measurements for each of the 1.9 million model configurations. This database of model performance allowed us to characterize the boundaries at which the model network produces rhythmic spiking activity. It also enabled us to determine how different synapses influence this oscillatory behavior (frequency and duration). This type of large database of simulation results could easily serve other purposes, such as tuning (finding parameter sets that provide a desired behavior), stability analysis (defining the range of parameters within which a model can maintain a desired behavior), and experimentation (determining model behavior under a range of inputs). To this end, NeuronPM also
P1: ... 11-05-059
NECO.cls
August 10, 2006
4
17:31
R. Calin-Jageman and P. Katz
has been successfully transplanted to other laboratories and tested with a variety of NEURON models. 4 Limitations The IP-based security system used for NeuronPM is probably insufficient for distribution of the client to the general public. However, it would be appropriate for deployment to lab- and department-wide pools of clients. For example, we have installed the NeuronPM client at a department undergraduate computing lab (over 30 clients). Finally, NeuronPM distributes sets of simulation runs to each client. Unlike distributed systems like PVM, NeuronPM cannot distribute a single simulation across multiple clients. 5 Conclusion NeuronPM is an open-source, freeware project. The client, server, and documentation are available on the Neuron PM web site: http://neuronpm.homeip.net. NeuronPM is unlikely to match the speed of a high-performance computing resource. However, the usability of the system lowers the entry point for compiling large databases of simulation runs, an essential step in the analysis of complex neuron and network simulations. Furthermore, NeuronPM could easily serve as a foundation for developing a similar solution for other simulation packages (e.g., XPP). Acknowledgments This work was supported in part by NIH grant 5R01NS035371-15 to P.S.K. References Foster, W. R., Ungar, L. H., & Schwaber, J. S. (1993). Significance of conductances in Hodgkin-Huxley models. J. Neurophysiol., 70(6), 2502–2518. Frost, W. N., Lieb, J. R., Tunstall, M. J., Mensh, B., & Katz, P. S. (1997). Integrateand-fire simulations of two molluscan neural circuits. In P. Stein (Ed.), Neurons, networks and motor behavior (pp. 173–179). Cambridge, MA: MIT Press. Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., & Sunderam, V. (1994). PVM: Parallel virtual machine. Cambridge, MA: MIT Press. Goldman, M. S., Golowasch, J., Marder, E., & Abbott, L. F. (2001). Global structure, robustness, and modulation of neuronal models. J. Neurosci., 21(14), 5229–5238. Hines, M. L., & Carnevale, N. T. (1997). The NEURON simulation environment. Neural Comput., 9(6), 1179–1209. Hines, M. L., & Carnevale, N. T. (2001). NEURON: A tool for neuroscientists. Neuroscientist, 7(2), 123–135.
P1: ... 11-05-059
NECO.cls
August 10, 2006
17:31
Generating Simulation Databases
5
Prinz, A. A., Billimoria, C. P., & Marder, E. (2003). Alternative to hand-tuning conductance-based models: Construction and analysis of databases of model neurons. J. Neurophysiol., 90(6), 3998–4015. Prinz, A. A., Bucher, D., & Marder, E. (2004). Similar network activity from disparate circuit parameters. Nat. Neurosci., 7(12), 1345–1352.
Received November 11, 2005; accepted February 19, 2006.