Rapid development of scalable scientific software using a process oriented approach

Rune Møllegaard Friborg, Brian Vinter

4 Citationer (Scopus)

Abstract

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.


--------------------------------------------------------------------------------
OriginalsprogEngelsk
TidsskriftJournal of Computational Science
Vol/bind2
Udgave nummer3
Sider (fra-til)304-313
Antal sider10
ISSN1877-7503
DOI
StatusUdgivet - aug. 2011

Citationsformater