Performance tuning for actor programs through decoupled concurrency
Autor: | Xinghui Zhao, Tai Nguyen |
---|---|
Rok vydání: | 2017 |
Předmět: |
010302 applied physics
Computer science Non-lock concurrency control Distributed computing Concurrency Distributed concurrency control Multiversion concurrency control 02 engineering and technology 01 natural sciences 020202 computer hardware & architecture Concurrent object-oriented programming 0103 physical sciences 0202 electrical engineering electronic engineering information engineering Concurrent computing Isolation (database systems) Safety Risk Reliability and Quality Optimistic concurrency control Software |
Zdroj: | Software Quality Journal. 26:1097-1117 |
ISSN: | 1573-1367 0963-9314 |
Popis: | Recent advances in hardware architectures, particularly multicore and manycore processors, implicitly require programmers to write concurrent programs that can be executed in parallel on multiple cores. However, writing correct and efficient concurrent programs is challenging. The traditional way of writing concurrent programs mixes concurrency and functionality code. As a result, in order to fully exploit the potentials that the underlying hardware provides, the code must be changed to utilize the more advanced hardware resources. To address this challenge, we propose a new parallel programming paradigm which separates programs’ concurrency from their functionality code, harnessing the notable programmability of the Actor model. Specifically, the level of concurrency of an actor system can be dynamically tuned at run-time based on predefined tuning policies, which are programmable and reusable. We have developed two tuning policies, and experimental results show that our approach is effective in achieving high performance on high-end computing architectures, yet it does not introduce extra overhead on the hardware which does not support high level of concurrency. This can be done without extra effort from the programmers. This approach also opens up many opportunities for programming concurrency tuning policies for different purposes without changing the code of the actual computations. |
Databáze: | OpenAIRE |
Externí odkaz: |