AMCilk: A Framework for Multiprogrammed Parallel Workloads

Document Type

Conference Proceeding

Publication Date

12-1-2020

Abstract

Modern parallel platforms, such as clouds or servers, are often shared among many different jobs. However, existing parallel programming runtime systems are designed and optimized for running a single parallel job, so it is generally hard to directly use them to schedule multiple parallel jobs without incurring high overhead and inefficiency. In this work, we develop AMCilk (Adaptive Multiprogrammed Cilk), a novel runtime system framework, designed to support multiprogrammed parallel workloads. AMCilk has client-server architecture where users can dynamically submit parallel jobs to the system. AMCilk has a single runtime system that runs these jobs while dynamically reallocating cores, last-level cache, and memory bandwidth among these jobs according to the scheduling policy. AMCilk exposes the interface to the system designer, which allows the designer to easily build different scheduling policies meeting the requirements of various application scenarios and performance metrics, while AMCilk transparently (to designers) enforces the scheduling policy. The primary feature of AMCilk is the low-overhead and responsive preemption mechanism that allows fast reallocation of cores between jobs. Our empirical evaluation indicates that AMCilk incurs small overheads and provides significant benefits on application-specific criteria for a set of 4 practical applications due to its fast and low-overhead core reallocation mechanism.

Identifier

85105518869 (Scopus)

ISBN

[9780738110356]

Publication Title

Proceedings 2020 IEEE 27th International Conference on High Performance Computing Data and Analytics Hipc 2020

External Full Text Location

https://doi.org/10.1109/HiPC50609.2020.00035

First Page

212

Last Page

222

Grant

1948457

Fund Ref

National Science Foundation

This document is currently not available here.

Share

COinS