Writing maintainable and correct programs for parallel or concurrent execution on multicore processors is an increasing challenge. This talk presents PyCSP, an opensource framework for orchestrating concurrency in Python, that comes as a Python module. PyCSP is based on the formal algebra Communicating Sequential Processes, but programmers need not know the algebra nor make formal proofs to take advantage of PyCSP. A small set of design rules exists, that guarantees applications behave correctly.
This will be a presentation of PyCSP and what benefits it can provide to the audience compared to other concurrent programming methods.
PyCSP is released under the MIT License, can easily be bundled with other packages and works great on Linux / BSD systems.
Website: http://code.google.com/p/pycsp/
Other means of working with CSP include Google's Go, C++CSP, Occam-pi,
JCSP, CHP and more.
Rune M. Friborg is a Ph.D. student at the eScience Center, DIKU, University of Copenhagen (Denmark). Parts of his working hours is spent developing PyCSP and is currently working on a PyCSP with distributed processes.
His first introduction to linux was installing Slackware from 20+ disks in 1997 and has since then been around Redhat, Mandrake, FreeBSD, Gentoo, Fedora, Solaris and is now alternating between Mac OS X and Ubuntu.
Research interests are Communicating Sequential Processes (CSP), parallel programming and scientific workflow modelling.