Rapid development of scalable scientific software using a process oriented approach

Research output: Contribution to journalJournal articleResearchpeer-review

  • Rune Møllegaard Friborg
  • Brian Vinter
Scientific applications are often not written with multiprocessing, cluster computing or grid computing in mind. This paper suggests using Python and PyCSP to structure scientific software through Communicating Sequential Processes. Three scientific applications are used to demonstrate the features of PyCSP and how networks of processes may easily be mapped into a visual representation for better understanding of the process workflow. We show that for many sequential solutions, the difficulty in implementing a parallel application is removed. The use of standard multi-threading mechanisms such as locks, conditions and monitors is completely hidden in the PyCSP library. We show the three scientific applications: kNN, stochastic minimum search and McStas to scale well on multi-processing, cluster computing and grid computing platforms using PyCSP.


--------------------------------------------------------------------------------
Original languageEnglish
JournalJournal of Computational Science
Volume2
Issue number3
Pages (from-to)304-313
Number of pages10
ISSN1877-7503
DOIs
Publication statusPublished - 2011

ID: 33650811