The Tiny-Tasks Granularity Trade-Off: Balancing Overhead Versus Performance in Parallel Systems

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Autoren

Organisationseinheiten

Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Seiten (von - bis)1128-1144
Seitenumfang17
FachzeitschriftIEEE Transactions on Parallel and Distributed Systems
Jahrgang34
Ausgabenummer4
Frühes Online-Datum4 Jan. 2023
PublikationsstatusVeröffentlicht - 1 Apr. 2023

Abstract

Models of parallel processing systems typically assume that one has ll workers and jobs are split into an equal number of k=lk=l tasks. Splitting jobs into k > lk>l smaller tasks, i.e. using 'tiny tasks', can yield performance and stability improvements because it reduces the variance in the amount of work assigned to each worker, but as kk increases, the overhead involved in scheduling and managing the tasks begins to overtake the performance benefit. We perform extensive experiments on the effects of task granularity on an Apache Spark cluster, and based on these, develop a four-parameter model for task and job overhead that, in simulation, produces sojourn time distributions that match those of the real system. We also present analytical results which illustrate how using tiny tasks improves the stability region of split-merge systems, and analytical bounds on the sojourn and waiting time distributions of both split-merge and single-queue fork-join systems with tiny tasks. Finally we combine the overhead model with the analytical models to produce an analytical approximation to the sojourn and waiting time distributions of systems with tiny tasks which include overhead. We also perform analogous tiny-tasks experiments on a hybrid multi-processor shared memory system based on MPI and OpenMP which has no load-balancing between nodes. Though no longer strict analytical bounds, our analytical approximations with overhead match both the Spark and MPI/OpenMP experimental results very well.

ASJC Scopus Sachgebiete

Zitieren

The Tiny-Tasks Granularity Trade-Off: Balancing Overhead Versus Performance in Parallel Systems. / Bora, Stefan; Walker, Brenton; Fidler, Markus.
in: IEEE Transactions on Parallel and Distributed Systems, Jahrgang 34, Nr. 4, 01.04.2023, S. 1128-1144.

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Download
@article{ad7d1aff0bcb47f0b0e775cd473ca0c4,
title = "The Tiny-Tasks Granularity Trade-Off: Balancing Overhead Versus Performance in Parallel Systems",
abstract = "Models of parallel processing systems typically assume that one has ll workers and jobs are split into an equal number of k=lk=l tasks. Splitting jobs into k > lk>l smaller tasks, i.e. using 'tiny tasks', can yield performance and stability improvements because it reduces the variance in the amount of work assigned to each worker, but as kk increases, the overhead involved in scheduling and managing the tasks begins to overtake the performance benefit. We perform extensive experiments on the effects of task granularity on an Apache Spark cluster, and based on these, develop a four-parameter model for task and job overhead that, in simulation, produces sojourn time distributions that match those of the real system. We also present analytical results which illustrate how using tiny tasks improves the stability region of split-merge systems, and analytical bounds on the sojourn and waiting time distributions of both split-merge and single-queue fork-join systems with tiny tasks. Finally we combine the overhead model with the analytical models to produce an analytical approximation to the sojourn and waiting time distributions of systems with tiny tasks which include overhead. We also perform analogous tiny-tasks experiments on a hybrid multi-processor shared memory system based on MPI and OpenMP which has no load-balancing between nodes. Though no longer strict analytical bounds, our analytical approximations with overhead match both the Spark and MPI/OpenMP experimental results very well.",
keywords = "Network calculus, parallel processing, performance bounds, processing overhead, Spark, synchronization constraints, task granularity, tiny-tasks",
author = "Stefan Bora and Brenton Walker and Markus Fidler",
note = "Funding Information: This work was supported in part by the German Research Council (DFG) under Grant VaMoS FI 1236/7-1. ",
year = "2023",
month = apr,
day = "1",
doi = "10.1109/TPDS.2022.3233712",
language = "English",
volume = "34",
pages = "1128--1144",
journal = "IEEE Transactions on Parallel and Distributed Systems",
issn = "1045-9219",
publisher = "IEEE Computer Society",
number = "4",

}

Download

TY - JOUR

T1 - The Tiny-Tasks Granularity Trade-Off

T2 - Balancing Overhead Versus Performance in Parallel Systems

AU - Bora, Stefan

AU - Walker, Brenton

AU - Fidler, Markus

N1 - Funding Information: This work was supported in part by the German Research Council (DFG) under Grant VaMoS FI 1236/7-1.

PY - 2023/4/1

Y1 - 2023/4/1

N2 - Models of parallel processing systems typically assume that one has ll workers and jobs are split into an equal number of k=lk=l tasks. Splitting jobs into k > lk>l smaller tasks, i.e. using 'tiny tasks', can yield performance and stability improvements because it reduces the variance in the amount of work assigned to each worker, but as kk increases, the overhead involved in scheduling and managing the tasks begins to overtake the performance benefit. We perform extensive experiments on the effects of task granularity on an Apache Spark cluster, and based on these, develop a four-parameter model for task and job overhead that, in simulation, produces sojourn time distributions that match those of the real system. We also present analytical results which illustrate how using tiny tasks improves the stability region of split-merge systems, and analytical bounds on the sojourn and waiting time distributions of both split-merge and single-queue fork-join systems with tiny tasks. Finally we combine the overhead model with the analytical models to produce an analytical approximation to the sojourn and waiting time distributions of systems with tiny tasks which include overhead. We also perform analogous tiny-tasks experiments on a hybrid multi-processor shared memory system based on MPI and OpenMP which has no load-balancing between nodes. Though no longer strict analytical bounds, our analytical approximations with overhead match both the Spark and MPI/OpenMP experimental results very well.

AB - Models of parallel processing systems typically assume that one has ll workers and jobs are split into an equal number of k=lk=l tasks. Splitting jobs into k > lk>l smaller tasks, i.e. using 'tiny tasks', can yield performance and stability improvements because it reduces the variance in the amount of work assigned to each worker, but as kk increases, the overhead involved in scheduling and managing the tasks begins to overtake the performance benefit. We perform extensive experiments on the effects of task granularity on an Apache Spark cluster, and based on these, develop a four-parameter model for task and job overhead that, in simulation, produces sojourn time distributions that match those of the real system. We also present analytical results which illustrate how using tiny tasks improves the stability region of split-merge systems, and analytical bounds on the sojourn and waiting time distributions of both split-merge and single-queue fork-join systems with tiny tasks. Finally we combine the overhead model with the analytical models to produce an analytical approximation to the sojourn and waiting time distributions of systems with tiny tasks which include overhead. We also perform analogous tiny-tasks experiments on a hybrid multi-processor shared memory system based on MPI and OpenMP which has no load-balancing between nodes. Though no longer strict analytical bounds, our analytical approximations with overhead match both the Spark and MPI/OpenMP experimental results very well.

KW - Network calculus

KW - parallel processing

KW - performance bounds

KW - processing overhead

KW - Spark

KW - synchronization constraints

KW - task granularity

KW - tiny-tasks

UR - http://www.scopus.com/inward/record.url?scp=85147217340&partnerID=8YFLogxK

U2 - 10.1109/TPDS.2022.3233712

DO - 10.1109/TPDS.2022.3233712

M3 - Article

AN - SCOPUS:85147217340

VL - 34

SP - 1128

EP - 1144

JO - IEEE Transactions on Parallel and Distributed Systems

JF - IEEE Transactions on Parallel and Distributed Systems

SN - 1045-9219

IS - 4

ER -

Von denselben Autoren