Javascript must be enabled to continue!
aPyCSP – Asynchronous PyCSP Using Python Coroutines and Asyncio
View through CrossRef
PyCSP provides a CSP (Communicating Sequential Processes) based library for Python, where CSP processes can be executed as threads, operating system processes or greenlets. The main drawback of using threads and processes is that they limit the number of CSP processes that a program can use due to operating system restrictions and memory and synchronisation overheads. This overhead is reduced when using greenlets, but requires the use of an external library. aPyCSP is an experimental implementation of PyCSP that uses recent support for coroutines in Python and the asyncio library. This paper explores two implementation approaches for aPyCSP where the most recent version is shorter, simpler to read and understand and supports more functionality than the original version, including generic channel support and input and output guards. We believe some of the identified implementation techniques can be useful for other CSP libraries. The aPyCSP implementation is also faster and uses less memory per CSP process, allowing us to scale to 15 million processes on a computer with 64 GB memory.
Title: aPyCSP – Asynchronous PyCSP Using Python Coroutines and Asyncio
Description:
PyCSP provides a CSP (Communicating Sequential Processes) based library for Python, where CSP processes can be executed as threads, operating system processes or greenlets.
The main drawback of using threads and processes is that they limit the number of CSP processes that a program can use due to operating system restrictions and memory and synchronisation overheads.
This overhead is reduced when using greenlets, but requires the use of an external library.
aPyCSP is an experimental implementation of PyCSP that uses recent support for coroutines in Python and the asyncio library.
This paper explores two implementation approaches for aPyCSP where the most recent version is shorter, simpler to read and understand and supports more functionality than the original version, including generic channel support and input and output guards.
We believe some of the identified implementation techniques can be useful for other CSP libraries.
The aPyCSP implementation is also faster and uses less memory per CSP process, allowing us to scale to 15 million processes on a computer with 64 GB memory.
Related Results
L᾽«unilinguisme» officiel de Constantinople byzantine (VIIe-XIIe s.)
L᾽«unilinguisme» officiel de Constantinople byzantine (VIIe-XIIe s.)
<p>Νίκος Οικονομίδης</...
Cometary Physics Laboratory: spectrophotometric experiments
Cometary Physics Laboratory: spectrophotometric experiments
<p><strong><span dir="ltr" role="presentation">1. Introduction</span></strong&...
North Syrian Mortaria and Other Late Roman Personal and Utility Objects Bearing Inscriptions of Good Luck
North Syrian Mortaria and Other Late Roman Personal and Utility Objects Bearing Inscriptions of Good Luck
<span style="font-size: 11pt; color: black; font-family: 'Times New Roman','serif'">ΠΗΛΙΝΑ ΙΓ&Delta...
Morphometry of an hexagonal pit crater in Pavonis Mons, Mars
Morphometry of an hexagonal pit crater in Pavonis Mons, Mars
<p><strong>Introduction:</strong></p>
<p>Pit craters are peculiar depressions found in almost every terrestria...
Un manoscritto equivocato del copista santo Theophilos († 1548)
Un manoscritto equivocato del copista santo Theophilos († 1548)
<p><font size="3"><span class="A1"><span style="font-family: 'Times New Roman','serif'">ΕΝΑ ΛΑΝ&...
Ballistic landslides on comet 67P/Churyumov–Gerasimenko
Ballistic landslides on comet 67P/Churyumov–Gerasimenko
<p><strong>Introduction:</strong></p><p>The slow ejecta (i.e., with velocity lower than escape velocity) and l...
Stress transfer process in doublet events studied by numerical TREMOL simulations: Study case Ometepec 1982 Doublet.
Stress transfer process in doublet events studied by numerical TREMOL simulations: Study case Ometepec 1982 Doublet.
<pre class="western"><span><span lang="en-US">Earthquake doublets are a characteristic rupture <...
Effects of a new land surface parametrization scheme on thermal extremes in a Regional Climate Model
Effects of a new land surface parametrization scheme on thermal extremes in a Regional Climate Model
<p><span>The </span><span>EFRE project Big Data@Geo aims at providing high resolution </span><span&...

