An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems

In this thesis, I present and analyze the novel stack-augmented split-tree data structure to support splitter hyperobjects for task-parallel systems. Splitters can mitigate races on shared, nonlocal state, where parallel nested tasks make independent local modifications without affecting shared hist...

Full description

Bibliographic Details
Main Author: Qi, Qi
Other Authors: Leiserson, Charles E.
Format: Thesis
Published: Massachusetts Institute of Technology 2022
Online Access:https://hdl.handle.net/1721.1/138981
_version_ 1826206047357894656
author Qi, Qi
author2 Leiserson, Charles E.
author_facet Leiserson, Charles E.
Qi, Qi
author_sort Qi, Qi
collection MIT
description In this thesis, I present and analyze the novel stack-augmented split-tree data structure to support splitter hyperobjects for task-parallel systems. Splitters can mitigate races on shared, nonlocal state, where parallel nested tasks make independent local modifications without affecting shared history. The data structure is inspired by “persistent” trees, but refined to achieve optimal performance in the common case. I prove that in a program with 𝑛 splitter variables using the mechanism based on the stack-augmented split-tree data structure, read and write accesses to a splitter variable cost Θ(1) except for the first access after a task migration, which costs 𝑂(log 𝑛 + log 𝐷) where 𝐷 is the maximum depth of task nesting. This splitter data structure will enable the parallelization of search algorithms for computationally expensive applications, such as SAT solvers, theorem provers, and game-playing programs. This thesis also contains theory and implementation work on other topics related to task-parallel programming and work stealing schedulers. Some parts of this thesis represent joint work with William Kuszmaul.
first_indexed 2024-09-23T13:23:14Z
format Thesis
id mit-1721.1/138981
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T13:23:14Z
publishDate 2022
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1389812022-01-15T03:27:11Z An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems Qi, Qi Leiserson, Charles E. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science In this thesis, I present and analyze the novel stack-augmented split-tree data structure to support splitter hyperobjects for task-parallel systems. Splitters can mitigate races on shared, nonlocal state, where parallel nested tasks make independent local modifications without affecting shared history. The data structure is inspired by “persistent” trees, but refined to achieve optimal performance in the common case. I prove that in a program with 𝑛 splitter variables using the mechanism based on the stack-augmented split-tree data structure, read and write accesses to a splitter variable cost Θ(1) except for the first access after a task migration, which costs 𝑂(log 𝑛 + log 𝐷) where 𝐷 is the maximum depth of task nesting. This splitter data structure will enable the parallelization of search algorithms for computationally expensive applications, such as SAT solvers, theorem provers, and game-playing programs. This thesis also contains theory and implementation work on other topics related to task-parallel programming and work stealing schedulers. Some parts of this thesis represent joint work with William Kuszmaul. M.Eng. 2022-01-14T14:42:32Z 2022-01-14T14:42:32Z 2021-06 2021-06-17T20:14:05.909Z Thesis https://hdl.handle.net/1721.1/138981 In Copyright - Educational Use Permitted Copyright MIT http://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Qi, Qi
An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems
title An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems
title_full An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems
title_fullStr An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems
title_full_unstemmed An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems
title_short An Efficient Data Structure for Implementing Splitter Hyperobjects in Task-Parallel Systems
title_sort efficient data structure for implementing splitter hyperobjects in task parallel systems
url https://hdl.handle.net/1721.1/138981
work_keys_str_mv AT qiqi anefficientdatastructureforimplementingsplitterhyperobjectsintaskparallelsystems
AT qiqi efficientdatastructureforimplementingsplitterhyperobjectsintaskparallelsystems