<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-29T03:48:10Z</responseDate><request verb="GetRecord" identifier="oai:odr.chalmers.se:20.500.12380/219016" metadataPrefix="dim">https://odr.chalmers.se/server/oai/request</request><GetRecord><record><header><identifier>oai:odr.chalmers.se:20.500.12380/219016</identifier><datestamp>2026-02-27T10:05:15Z</datestamp><setSpec>Technology</setSpec><setSpec>com_20.500.12380_11</setSpec><setSpec>com_20.500.12380_1</setSpec><setSpec>col_20.500.12380_29</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="author">Färnstrand, Linus</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department" lang="sv">Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department" lang="en">Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2019-07-03T13:42:24Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2019-07-03T13:42:24Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued">2015</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">https://hdl.handle.net/20.500.12380/219016</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract">This thesis describes the design, implementation and benchmarking of a work stealing fork-join library, called ForkJoin, for the new language Rust. Rust is a programming language with a novel approach to memory safety and concurrency, and guarantees memory safety through zero-cost abstractions and thorough checks at compile time rather than run time. Rust is very well suited for computationally intensive applications, but it is lacking some basic tools for creating parallelism, something that is essential for utilizing modern hardware. This paper takes existing algorithms for fork-join parallelism and work stealing and implements them in Rust. The resulting library provides a safe and fast interface to a fork-join thread pool with low work overhead and a good ability to scale up to many processors. Inspiration for the implementation done during this project comes partly from Cilk, a work stealing fork-join framework for C, but also from other, more modern papers within the same topic. Three main types of algorithms that fit fork-join parallelism are identified and discussed in this report. This thesis and the design and implementation of ForkJoin, focuses on providing a simple framework for working with these different algorithms, in spite of their internal differences.</dim:field>
   <dim:field mdschema="dc" element="language" qualifier="iso">eng</dim:field>
   <dim:field mdschema="dc" element="setspec" qualifier="uppsok">Technology</dim:field>
   <dim:field mdschema="dc" element="subject">Data- och informationsvetenskap</dim:field>
   <dim:field mdschema="dc" element="subject">Computer and Information Science</dim:field>
   <dim:field mdschema="dc" element="title">Parallelization in Rust with fork-join and friends: Creating the fork-join framework</dim:field>
   <dim:field mdschema="dc" element="type" qualifier="degree" lang="sv">Examensarbete för masterexamen</dim:field>
   <dim:field mdschema="dc" element="type" qualifier="degree" lang="en">Master Thesis</dim:field>
   <dim:field mdschema="dc" element="type" qualifier="uppsok">H</dim:field>
   <dim:field mdschema="local" element="programme">Computer science – algorithms, languages and logic (MPALG), MSc</dim:field>
   <dim:field mdschema="others" element="access-status">open.access</dim:field>
</dim:dim></metadata></record></GetRecord></OAI-PMH>