Global ETD Search

Search theses and dissertations gathered from participating repositories worldwide. Every result links back to the library that holds it. No account is needed.

Results

Showing 1 to 18 of 18 for “"fork-join"”.

  1. How should compilers represent fork-join parallelism?

    This thesis explores how fork-join parallelism, as supported by concurrency platforms such as Cilk and OpenMP, can be embedded into a compiler's intermediate representation (IR). Mainstream compilers typically treat parallel linguistic constructs as syntactic sugar for function calls into a …

    mit Repository record for How should compilers represent fork-join parallelism? (opens in a new tab)

  2. Enabling the Rust Compiler to Reason about Fork/Join Parallelism via Tapir

    Rust + Cilk is an extension to the Rust language incorporating Cilk’s keywords for language level parallelism. The Rust + Cilk compiler leverages the Rust compiler’s static verification of data race freedom and the OpenCilk parallelism platform’s strong theoretical guarantees for performance of …

    mit Repository record for Enabling the Rust Compiler to Reason about Fork/Join Parallelism via Tapir (opens in a new tab)

  3. On the Interoperability of Programming Languages based on the Fork-Join Parallelism Model

    This thesis describes the implementation of MetaFork, a meta-language for concurrency platforms targeting multicore architectures. First of all, MetaFork is a multithreaded language based on the fork-join model of concurrency: it allows the programmer to express parallel algorithms assuming that …

    uwo Repository record for On the Interoperability of Programming Languages based on the Fork-Join Parallelism Model (opens in a new tab)

  4. Optimizing work stealing algorithms with scheduling constraints

    The fork-join paradigm of concurrent expression has gained popularity in conjunction with work-stealing schedulers. Random work-stealing schedulers have been shown to effectively perform dynamic load balancing, yielding provably-efficient schedules and space bounds on shared-memory architectures …

    uiuc Repository record for Optimizing work stealing algorithms with scheduling constraints (opens in a new tab)

  5. Provably good race detection that runs in parallel

    … (SP) relationships "on the fly" for fork-join multithreaded programs. For a fork-join program with T1 work and a critical-path length of T[infinity], the serial SP-Maintenance algorithm runs in O(T1) time. The parallel algorithm executes in the nearly optimal O(T1/P + PT[infinity]) …

    mit Repository record for Provably good race detection that runs in parallel (opens in a new tab)

  6. Bug Finding Methods for Multithreaded Student Programming Projects

    The fork-join framework project is one of the more challenging programming assignments in the computer science curriculum at Virginia Tech. Students in Computer Systems must manage a pool of threads to facilitate the shared execution of dynamically created tasks. This project is difficult because …

    vt Repository record for Bug Finding Methods for Multithreaded Student Programming Projects (opens in a new tab)

  7. The JCilk-1 runtime system

    … thread that created it. JCilk imports Cilk's fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. It also introduces exceptions into that fork-join structure, leading to some some surprising semantic synergies. In particular, JCilk …

    mit Repository record for The JCilk-1 runtime system (opens in a new tab)

  8. Expanding the synthesis of distributed memory implementations

    … shared memory parallelism that uses the popular fork-join model. The primary contribution of this thesis is the means by which the code is assured to be free of race conditions. Sketch uses constraint satisfaction analysis to ensure it synthesizes code the functions properly for all inputs, and I …

    mit Repository record for Expanding the synthesis of distributed memory implementations (opens in a new tab)

  9. Composable abstractions for synchronization in dynamic threading platforms

    … with arbitrary dependencies as a library in a fork-join platform. Conventional wisdom suggests that a fork-join platform can execute an arbitrary task graph only with special runtime support or by converting the graph into a series-parallel computation which has less parallelism. By …

    mit Repository record for Composable abstractions for synchronization in dynamic threading platforms (opens in a new tab)

  10. Practical static race detection for Java parallel loops

    … expressing parallelism at a higher level (e.g., fork-join, futures, parallel loops) are becoming available in all major programming languages. We claim that specializing an analysis to take advantage of the extra semantic information provided by the use of these constructs and libraries improves …

    uiuc Repository record for Practical static race detection for Java parallel loops (opens in a new tab)

  11. Contention Bounds for Locking Computations

    … general task graphs, in the restricted case of fork-join (series-parallel) computations with 𝑛 strands and a single lock we offer a Θ(𝑛²) exact algorithm as well as a Θ(𝑛) 2-approximation for worst case contention. In proving these bounds linking maximum contention to the antichain sizes of a …

    mit Repository record for Contention Bounds for Locking Computations (opens in a new tab)

  12. Design and Implementation of a Nonblocking Randomized Work Stealing Scheduler

    … lock-free system. In addition to enabling fork-join task parallelism, FLCN supports other Cilk features such as reducer hyperobjects. Through analyzing the performance of FLCN on various canonical benchmark programs, I find that for programs with low amounts of work, FLCN performs worse …

    mit Repository record for Design and Implementation of a Nonblocking Randomized Work Stealing Scheduler (opens in a new tab)

  13. The JCilk multithreaded language

    … model. Specifically, JCilk imports Cilk's fork-join primitives spawn and sync into Java to provide procedure-call semantics for concurrent subcomputations. More importantly, JCilk integrates exception handling with multi-threading by defining semantics consistent with Java's existing …

    mit Repository record for The JCilk multithreaded language (opens in a new tab)

  14. Algorithms incorporating concurrency and caching

    … testing for atomicity violations in a parallel fork-join program. These algorithms augment a parallel program with a data structure that answers queries about the program's structure, on the fly. Specifically, one data structure, called SP-ordered-bags, maintains the series-parallel …

    mit Repository record for Algorithms incorporating concurrency and caching (opens in a new tab)

  15. Accurate Identification of Significant Aberrations in Cancer Genome: Implementation and Applications

    … we adopt concurrent computing using Java Fork/Join API to speed up the analysis. We evaluate the performance of the AISAIC package in both empirical family-wise type I error rate and detection power on a large number of simulation data, and get promising results. Finally, we use AISAIC to …

    vt Repository record for Accurate Identification of Significant Aberrations in Cancer Genome: Implementation and Applications (opens in a new tab)

  16. Off-lattice kinetic Monte Carlo methods and the Fe-H system: saddle-points, symmetry, and coroutines

    … Building a fully-portable continuation-stealing fork-join framework to efficiently parallelise heterogeneous work across heterogeneous processors, which was necessary to practically enable the simulations above. \end{itemize} We apply our OLKMC implementation to study the diffusion, …

    cambridge Repository record for Off-lattice kinetic Monte Carlo methods and the Fe-H system: saddle-points, symmetry, and coroutines (opens in a new tab)

  17. Efficient redundancy techniques to reduce delay in Cloud systems

    … replication to coding, and propose the (n, k) fork-join model to analyze the delay in accessing an (n, k) erasure-coded storage system. This analysis provides practical insights into how many users can access a piece of content simultaneously, and how fast they can be served. Achieving low …

    mit Repository record for Efficient redundancy techniques to reduce delay in Cloud systems (opens in a new tab)

  18. An effect system and language for deterministic-by-default parallel programming

    … for deterministic parallel programming using a fork-join model of parallel control. With simple modular checking, and with no runtime checking overhead, the effect system guarantees at compile time that there are no conflicting memory accesses between any pairs of parallel tasks. The effect …

    uiuc Repository record for An effect system and language for deterministic-by-default parallel programming (opens in a new tab)