Kevin Chalmers
Building a C++CSP Channel Using C++ Atomics
Chalmers, Kevin
Authors
Abstract
Mutex-based implementations of synchronous channels are slow. This work investigates atomic operations as a technique to improve communication efficiency between two threads via a busy channel. Such a channel provides faster communication than a mutex-based one where the number of threads is identical to the hardware con-currency. To evaluate communication performance, a communication time benchmark is used alongside a selection time benchmark. The communication time benchmark is scaled to evaluate the impact of thread counts greater than the available hardware. Results show that an above ten-times improvement in communication time is possible when the hardware supports the threads fully. The improvement drops as further threads are added to the system due to operating system scheduling taking over the determination of thread activeness. Selection time similarly shows improvement when thread count matches hardware, but likewise reduces as thread count increases. We can conclude that a busy channel is useful in an environment where the thread count matches the available hardware, which is of interest to parallel application developers or control systems with similar properties.
Citation
Chalmers, K. (2017, August). Building a C++CSP Channel Using C++ Atomics. Presented at Communicating Process Architectures 2017, Malta
Presentation Conference Type | Conference Paper (published) |
---|---|
Conference Name | Communicating Process Architectures 2017 |
Start Date | Aug 20, 2017 |
Acceptance Date | Jun 23, 2017 |
Online Publication Date | Aug 20, 2017 |
Publication Date | 2019 |
Deposit Date | Aug 15, 2019 |
Publisher | IOS Press |
Series Title | Concurrent Systems Engineering |
Series Number | 70 |
Series ISSN | 1879-8039 |
ISBN | 978-1-61499-948-5 |
DOI | https://doi.org/10.3233/978-1-61499-949-2-19 |
Keywords | concurrency; channel communication; atomic operations |
Public URL | http://researchrepository.napier.ac.uk/Output/1273252 |
Downloadable Citations
About Edinburgh Napier Research Repository
Administrator e-mail: repository@napier.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2025
Advanced Search