Communicating Process Architectures · 2007 · 23 citations · 9 references
Cluster ComputingEngineeringCsp LibraryComputer ArchitectureSoftware EngineeringParallel SoftwareConcurrency (Computer Science)Parallel ComputingProgramming LanguagesCore Csp AbstractionsConcurrent ProgrammingComputer EngineeringComputer ScienceProcess CalculusPython Programming LanguageProgram AnalysisConcurrency TheoryProcess ControlFormal MethodsParallel ProgrammingConcurrent Data StructureParallel Programming ModelSystem SoftwareSequential Processes
The Python programming language is effective for rapidly writing programs and experimenting with them. It is increasingly being used in computational sciences, and in teaching computer science. CSP is effective for describing concurrency. It has become especially relevant with the emergence of commodity multi-core architectures. We are interested in exploring how a combination of Python and CSP can benefit both the computational sciences and the hands-on teaching of distributed and parallel computing in computer science. To make this possible, we have developed PyCSP, a CSP library for Python. PyCSP presently supports the core CSP abstractions. We introduce the PyCSP library, its implementation, a few performance benchmarks, and show example code using PyCSP. PyCSP has been used in the Extreme Multiprogramming Class at the CS department, university of Copenhagen with promising results.
9
Communicating sequential processes
C. A. R. Hoare · Communications of the ACM · 1983 · 3.8K citations · Full text
MPI: A Message-Passing Interface Standard
Message P Forum · 1994 · 2.7K citations
The Landscape of Parallel Computing Research: A View from Berkeley
Krste Asanović, Ras Bodik, Bryan Catanzaro et al. · UC Berkeley · 2006 · 2K citations
Nicholas Carriero, David Gelernter · Communications of the ACM · 1989 · 1.4K citations · Full text