Practically Trivial Parallel Data Processing in a Neuroscience Laboratory

  • Michael Denker
  • Bernd Wiebelt
  • Denny Fliegner
  • Markus Diesmann
  • Abigail Morrison
Part of the Springer Series in Computational Neuroscience book series (NEUROSCI, volume 7)

Abstract

The complexity of modern data analysis techniques and the increasing amounts of data gushing out from neuroscientific experiments place new demands on the computing infrastructure required for data processing. The needs exceed the speed and memory constraints of a classical serial program design and require scientists to parallelize their analysis processes on distributed computer systems. In this chapter we explore, step by step, how to transform a typical data analysis program into a parallelized application. On the conceptual level, we demonstrate how to identify those parts of a serial program best suited for parallel execution. On the level of the practical implementation, we introduce four methods that assist in managing and distributing the parallelized code. By combining high-level scientific programming languages with modern techniques for job control and metaprogramming, no knowledge of system-level parallelization and the hardware architecture is required. We describe the solutions in a general fashion to facilitate the transfer of insights to the specific software and computer system environment of a particular laboratory.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Backofen R, Borrmann H-G, Deck W, Dedner A, De Raedt L, Desch K, Diesmann M, Geier M, Greiner A, Hess W, Honerkamp J, Jankowski S, Krossing I, Liehr A, Karwath A, Kloefkorn R, Pesche R, Potjans T, Roettger M, Schmiedt-Thieme L, Schneider G, Voss B, Wiebelt B, Wienemann P, Winterer V-H (2006) A bottom–up approach to grid-computing at a university: the black-forest-grid initiative. PIK 29(2):81–87 CrossRefGoogle Scholar
  2. Bader DA (2008) Petascale computing: algorithms and applications. Chapman & Hall/CRC, Boca Raton Google Scholar
  3. Butenhof DR (1997) Programming with POSIX threads. Addison-Wesley, Boston Google Scholar
  4. Czarnecki K, Eisenecker U (2000) Generative programming: methods, tools, and applications. Addison-Wesley, Reading (illustrated ed) Google Scholar
  5. Fliegner D, Grün S, Messer P, Diesmann M, Geisel M (2003). Distributed computing for neuroscience-data analysis. In: Proc. 5th Meeting German Neuroscience Society, pp 659–660 Google Scholar
  6. Foster I (1995) Designing and building parallel programs. Addison-Wesley, Reading Google Scholar
  7. Foster I, Kesselman C (2004). The Grid: Blueprint for a New Computing Infrastructure, 2nd edn. Morgan-Kaufman, San Francisco Google Scholar
  8. Gerstein G, Bloom MJ, Espinosa IE, Evanczuk S (1983) Design of a laboratory for multiunit studies. IEEE Trans Sys M Cybern 5:668–676 Google Scholar
  9. Kötter R (ed) (2009) Frontiers in Neuroscience special issue: Python in Neuroscience Google Scholar
  10. Langtangen HP (2006) Python scripting for computational neuroscience, 2nd edn. Springer, Berlin Google Scholar
  11. Miller R, Boxer L (2005) Algorithms sequential and parallel: a unified approach, 2nd edn. Charles River Media, Hingham Google Scholar
  12. Morrison A, Mehring C, Geisel T, Aertsen A, Diesmann M (2005) Advancing the boundaries of high connectivity network simulation with distributed computing. Neural Comput 17(8):1776–1801 CrossRefPubMedGoogle Scholar
  13. Newham C, Rosenblatt B (1995) Learning the bash shell, 1st edn. O’Reilly & Associates, Inc., Sebastopol Google Scholar
  14. Oram A, Talbott S (1991) Managing projects with make, 2nd edn. O’Reilly & Associates, Inc., Sebastopol Google Scholar
  15. Wilkinson B, Allen M (2004) Parallel programming: techniques and applications using networked workstations and parallel computers, 2nd edn. Prentice Hall, New York Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Michael Denker
    • 1
  • Bernd Wiebelt
    • 2
  • Denny Fliegner
    • 3
  • Markus Diesmann
    • 4
  • Abigail Morrison
    • 5
  1. 1.Laboratory for Statistical NeuroscienceRIKEN Brain Science InstituteWakoshiJapan
  2. 2.Bernstein Center FreiburgAlbert-Ludwig UniversityFreiburgGermany
  3. 3.Department of Nonlinear DynamicsMax-Planck-Institute for Dynamics and Self-OrganizationGöttingenGermany
  4. 4.Laboratory for Computational NeurophysicsRIKEN Brain Science InstituteWakoshiJapan
  5. 5.Functional Neural Circuits Group, Bernstein Center Freiburg & Faculty of BiologyAlbert-Ludwig UniversityFreiburgGermany

Personalised recommendations