Javascript must be enabled to continue!
Development and Evaluation of a Modern C++CSP Library
View through CrossRef
Although many CSP inspired libraries exist, none yet have targeted modern C++ (C++11 onwards). The work presented has a main objective of providing a new C++CSP library which adheres to modern C++ design principles and standards. A secondary objective is to develop a library that provides simple message passing concurrency in C++ using only the standard library. The library is evaluated in comparison to JCSP using microbenchmarks. CommsTime and StressedAlt are used to determine the properties of coordination time, selection time, and maximum process count. Further macrobenchmarks, Monte Carlo π and Mandelbrot, are gathered to measure potential speedup with C++CSP. From the microbenchmarks, it is shown that C++CSP performs better than JCSP in communication and selection operations, and due to using the same threading model as JCSP can create an equal number of processes. From the macrobenchmarks, it is shown that C++CSP can provide an almost six times speedup for computation based workloads, and a four times speedup for memory based work-loads. The implementation of move semantics in channels have provided suitable enhancements to overcome data copy costs in channels. Therefore, C++CSP is considered a useful addition to the range of CSP libraries available. Future work will investigate other benchmarks within C++CSP as well as development of networking and skeleton based frameworks.
Title: Development and Evaluation of a Modern C++CSP Library
Description:
Although many CSP inspired libraries exist, none yet have targeted modern C++ (C++11 onwards).
The work presented has a main objective of providing a new C++CSP library which adheres to modern C++ design principles and standards.
A secondary objective is to develop a library that provides simple message passing concurrency in C++ using only the standard library.
The library is evaluated in comparison to JCSP using microbenchmarks.
CommsTime and StressedAlt are used to determine the properties of coordination time, selection time, and maximum process count.
Further macrobenchmarks, Monte Carlo π and Mandelbrot, are gathered to measure potential speedup with C++CSP.
From the microbenchmarks, it is shown that C++CSP performs better than JCSP in communication and selection operations, and due to using the same threading model as JCSP can create an equal number of processes.
From the macrobenchmarks, it is shown that C++CSP can provide an almost six times speedup for computation based workloads, and a four times speedup for memory based work-loads.
The implementation of move semantics in channels have provided suitable enhancements to overcome data copy costs in channels.
Therefore, C++CSP is considered a useful addition to the range of CSP libraries available.
Future work will investigate other benchmarks within C++CSP as well as development of networking and skeleton based frameworks.
Related Results
Safety and Efficacy of 14-Day Cold Stored Platelets in Reversing Effects of Aspirin
Safety and Efficacy of 14-Day Cold Stored Platelets in Reversing Effects of Aspirin
Abstract
Background: Aspirin is an antiplatelet therapy used to reduce the risk of vascular occlusive events. However, this therapy is associated with an increased r...
Abstract 210: Novel antibody drug conjugate to inhibit mesothelioma tumor growth
Abstract 210: Novel antibody drug conjugate to inhibit mesothelioma tumor growth
Abstract
Mesothelioma is an aggressive but rare form of cancer with a poor prognosis. 1-year survival is ~40% and 5-year survival remains in single digits. Treatment...
Platelet dysfunction reversal with cold-stored vs. room temperature-stored platelet transfusions
Platelet dysfunction reversal with cold-stored vs. room temperature-stored platelet transfusions
ABSTRACTBackgroundPlatelets are stored at room temperature for 5-7 days (RSP). Due to frequent and severe shortages, the FDA recently approved up to 14-day cold-stored platelets in...
Transformed common spatial pattern for motor imagery-based brain-computer interfaces
Transformed common spatial pattern for motor imagery-based brain-computer interfaces
ObjectiveThe motor imagery (MI)-based brain–computer interface (BCI) is one of the most popular BCI paradigms. Common spatial pattern (CSP) is an effective algorithm for decoding M...
Uterine Artery Embolization Combined with Subsequent Suction Evacuation as Low-Risk Treatment for Cesarean Scar Pregnancy
Uterine Artery Embolization Combined with Subsequent Suction Evacuation as Low-Risk Treatment for Cesarean Scar Pregnancy
Objective: The aim of this study is to propose a standardized management of care for patients diagnosed with cesarean scar pregnancy (CSP). There are two types of CSP: Type 1 (on t...
Conduction system pacing upgrade versus biventricular pacing on pacemaker-induced cardiomyopathy: a retrospective observational study
Conduction system pacing upgrade versus biventricular pacing on pacemaker-induced cardiomyopathy: a retrospective observational study
Objective: The feasibility of the conduction system pacing (CSP) upgrade as an alternative modality to the traditional biventricular pacing (BiVP) upgrade in patients with pacemake...
Corporate Diversification and Corporate Social Performance in Indonesia
Corporate Diversification and Corporate Social Performance in Indonesia
The relationship between corporate diversification and corporate social performance (CSP) is under-investigated, especially in emerging countries. This study examines the relations...
A Review of Moldflow and Finite Element Analysis Simulation of Chip Scale Packaging (CSP) for Light Emitting Diode (LED)
A Review of Moldflow and Finite Element Analysis Simulation of Chip Scale Packaging (CSP) for Light Emitting Diode (LED)
LED technology has been evolving aggressively in recent years from incandescent bulb during older days to as small as chip scale package. There is tremendous pressure to stay comp...


