Carnegie Mellon University
Browse

Provably Efficient Coscheduling of Computation and Memory through Disentanglement

Download (1.64 MB)
thesis
posted on 2025-02-07, 19:30 authored by Jatin AroraJatin Arora

Because of its many desirable properties, such as its ability to control effects and thus potentially disastrous race conditions, functional programming offers a viable approach to programming modern multicore computers. This has led to the development of several parallel functional languages, typically based on dialects of ML and Haskell. However, these languages have traditionally underperformed compared to procedural languages such as C and Java. The primary reason for this underperformance has been the lack of scalable memory management techniques that can match the increased demand of memory in parallel execution.

Building on a long line of work on parallel memory management, this thesis proposes provably efficient techniques for managing memory in parallel functional programs. The key idea behind our techniques is to coschedule the parallel computation with its data, enabling the memory manager to exploit the disentanglement hypothesis—the idea that parallel tasks of a program largely execute independently and avoid side-effecting data that may be accessed by others–for efficiency. We implement these techniques in the MPL compiler for parallel ML, and our experimental results show that the techniques can marry the safety benefits of functional programming with performance.

Funding

SHF: AF: Large: Collaborative Research: Parallelism without Concurrency

Directorate for Computer & Information Science & Engineering

Find out more...

SHF: Medium: Collaborative Research: Automatic Locality Management for Dynamically Scheduled Parallelism

Directorate for Computer & Information Science & Engineering

Find out more...

XPS: FULL: Bridging Parallel and Queueing-Theoretic Scheduling

Directorate for Computer & Information Science & Engineering

Find out more...

SHF: Medium: Algorithmic lambda-Calculus for the Design, Analysis, and Implementation of Parallel Algorithms

Directorate for Computer & Information Science & Engineering

Find out more...

Collaborative Research: PPoSS: Planning: Unifying Software and Hardware to Achieve Performant and Scalable Zero-cost Parallelism in the Heterogeneous Future

Directorate for Computer & Information Science & Engineering

Find out more...

Collaborative Research: SHF: Medium: Responsive Parallelism for Interactive Applications: Theory and Practice

Directorate for Computer & Information Science & Engineering

Find out more...

SHF: Small: Solving the Parallel Functional Programming Challenge

Directorate for Computer & Information Science & Engineering

Find out more...

Collaborative Research: PPoSS: LARGE: Unifying Software and Hardware to Achieve Performant and Scalable Frictionless Parallelism in the Heterogeneous Future

Directorate for Computer & Information Science & Engineering

Find out more...

History

Date

2024-08-13

Degree Type

  • Dissertation

Department

  • Computer Science

Degree Name

  • Doctor of Philosophy (PhD)

Advisor(s)

Umut Acar