The increase of the number of multiprocessor cores gives the great opportunity for improvement of the parallel application performance. However, the programmer faces significant challenges. The raise of the work distribution overhead and the decrease of a work portion per thread may drastically degrade the application performance. A possible solution is to compose parallelism available in application at different levels or to run different applications simultaneously. However, this approach may require extended support in parallel programming models to overcome possible oversubscription issues. In our study we examine the performance different programming models provide while they are used to exploit composable parallelism. We consider OpenMP, oneTBB and Argobots to exploit parallelism available in the NAS Parallel Benchmarks and to compose several benchmarks in different ways. We also examine multi-zone versions of the benchmarks that exploit multiple levels of parallelism. We conducted our experiments on Arm-based and x86-based systems.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A Study of a Composable Approach to Parallel Programming for Many-Core Multiprocessors

  • Vladimir Bakhtin,
  • Nikita Kataev,
  • Alexander Kolganov,
  • Dmitry Zakharov,
  • Alexander Smirnov,
  • Mikhail Kocharmin

摘要

The increase of the number of multiprocessor cores gives the great opportunity for improvement of the parallel application performance. However, the programmer faces significant challenges. The raise of the work distribution overhead and the decrease of a work portion per thread may drastically degrade the application performance. A possible solution is to compose parallelism available in application at different levels or to run different applications simultaneously. However, this approach may require extended support in parallel programming models to overcome possible oversubscription issues. In our study we examine the performance different programming models provide while they are used to exploit composable parallelism. We consider OpenMP, oneTBB and Argobots to exploit parallelism available in the NAS Parallel Benchmarks and to compose several benchmarks in different ways. We also examine multi-zone versions of the benchmarks that exploit multiple levels of parallelism. We conducted our experiments on Arm-based and x86-based systems.