Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
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

Analysis of pregnancy outcomes following surgical treatment of cesarean scar pregnancy
Analysis of pregnancy outcomes following surgical treatment of cesarean scar pregnancy
Abstract Purpose To investigate the surgical treatment approaches for patients with Cesarean scar pregnancy (CSP) and the effects on subsequent preg...
Bioactive Lipid Mediators Predict Platelet Function in Transfusion Recipients: A Phase 1 Randomized Clinical Trial in Healthy Humans
Bioactive Lipid Mediators Predict Platelet Function in Transfusion Recipients: A Phase 1 Randomized Clinical Trial in Healthy Humans
Background: Platelets are stored at room temperature for 5-7 days (RSP) and are transfused to patients who are bleeding or at risk of bleeding. Due to frequent and severe shortages...
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...
Etude des Mécanismes de Transformation de Modèles CSP/SAT
Etude des Mécanismes de Transformation de Modèles CSP/SAT
A Study on the CSP/SAT Model Transformation Mechanisms La plupart des problèmes combinatoires peuvent être formulés comme des CSP (Constraint Satisfaction Problems)...
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. Treatm...
Platelet dysfunction reversal with cold-stored vs. room temperature-stored platelet transfusions
Platelet dysfunction reversal with cold-stored vs. room temperature-stored platelet transfusions
ABSTRACT Background Platelets are stored at room temperature for 5-7 days (RSP). Due to frequent and severe shortages, the FDA ...
The Continuous Sampling Plan for Two Production Lines: The CSP-2L
The Continuous Sampling Plan for Two Production Lines: The CSP-2L
This paper presents the CSP-2L continuous sampling plan, which is designed for product inspectionon two independent production lines at the same time. The purpose of the CSP-2L is ...
The Povarov Reaction: A Versatile Method to Synthesize Tetrahydroquinolines, Quinolines and Julolidines
The Povarov Reaction: A Versatile Method to Synthesize Tetrahydroquinolines, Quinolines and Julolidines
AbstractThe multicomponent Povarov reaction represents a powerful approach for the construction of substances containing N-heterocyclic frameworks. By using the Povarov reaction, i...

Back to Top