This software package contains the NuPoCo framework used in the publication "Maximizing System Utilization via Parallelism Management for Co-Located Parallel Applications" presented at PACT'18. The artifact enables interested readers to evaluate/modify the NuPoCo framework and to reproduce the results discussed in the paper.
This artifact consists of three components:
- Runtime environment: this includes the NuPoCo resource manager (the performance model and the parallelism manager) and a library that connects between the resource manager and the OpenMP applications.
- GOMP library: several different versions of the GOMP library are provided. One of them implements the cooperative work scheduling technique.
- Benchmarks: the sources of the benchmark applications used in the publication and several scripts to automate the experiments.
Younghyun Cho, Camilo A.C. Guzman, and Bernhard Egger. "Maximizing System Utilization via Parallelism Management for Co-Located Parallel Applications." To appear in Proceedings of the the 2018 International Conference on Parallel Architectures and Compilation (PACT'18), Limassol, Cyprus, November 2018.
Downloading the Artifact
Target Hardware Platforms
The framework assumes NUMA multi-socket multi-core systems that support collecting the number of memory requests at each interconnection link and each memory controller from hardware performance counters. The implementation of the performance monitoring unit of the resource manager is currently machine-dependent and may require modifications to run on other plaforms.
The framework assumes a Linux environment where the numactl and libnuma tools are installed, and the hardware performance counters are accessible via the perf interface or Intel's PCM tool. The GOMP libraries assume gcc-5.4.0.
Access to target platforms
If access to NUMA machines is difficult we may be able to provide access to the target platforms used in the evaluation. Email email@example.com to make an inquiry.
Installation, Reproducing the Results, and Customization
Follow the instructions in the README.md files in the artifact packages for both platforms.
Last update: July 2018