Fairness in responsive parallelism

Stefan K. Muller, Sam Westrick, Umut A. Acar

Research output: Contribution to journalArticlepeer-review

Abstract

Research on parallel computing has historically revolved around compute-intensive applications drawn from traditional areas such as high-performance computing. With the growing availability and usage of multicore chips, applications of parallel computing now include interactive parallel applications that mix compute-intensive tasks with interaction, e.g., with the user or more generally with the external world. Recent theoretical work on responsive parallelism presents abstract cost models and type systems for ensuring and reasoning about responsiveness and throughput of such interactive parallel programs. In this paper, we extend prior work by considering a crucial metric: fairness. To express rich interactive parallel programs, we allow programmers to assign priorities to threads and instruct the scheduler to obey a notion of fairness. We then propose the fairly prompt scheduling principle for executing such programs; the principle specifies the schedule for multithreaded programs on multiple processors. For such schedules, we prove theoretical bounds on the execution and response times of jobs of various priorities. In particular, we bound the amount, i.e., stretch, by which a low-priority job can be delayed by higher-priority work. We also present an algorithm designed to approximate the fairly prompt scheduling principle on multicore computers, implement the algorithm by extending the Standard ML language, and present an empirical evaluation.

Original languageEnglish (US)
Article number81
JournalProceedings of the ACM on Programming Languages
Volume3
Issue numberICFP
DOIs
StatePublished - Aug 2019

Keywords

  • Concurrency
  • Cost Semantics
  • Fairness
  • Parallelism
  • Priorities
  • Starvation

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Fairness in responsive parallelism'. Together they form a unique fingerprint.

Cite this