<?xml version="1.0" encoding="utf-8"?>
<export-example>
  <doc>
    <id>1000</id>
    <completedYear/>
    <publishedYear>2020</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst>241</pageFirst>
    <pageLast>255</pageLast>
    <pageNumber/>
    <edition/>
    <issue/>
    <volume/>
    <type>conferenceobject</type>
    <publisherName/>
    <publisherPlace/>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>0</belongsToBibliography>
    <completedDate>2021-02-03</completedDate>
    <publishedDate>--</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">Accelerating Real-Time Applications with Predictable Work-Stealing</title>
    <abstract language="eng">Modern compute architectures often consist of multiple CPU cores to achieve their performance, as physical properties put a limit on the execution speed of a single processor. This trend is also visible in the embedded and real-time domain, where programmers are forced to parallelize their software to keep deadlines. Additionally, embedded systems rely increasingly on modular applications, that can easily be adapted to different system loads and hardware configurations.&#13;
&#13;
To parallelize applications under these dynamic conditions, often dispatching frameworks like Threading Building Blocks (TBB) are used in the desktop and server segment. More recently, Embedded Multicore Building Blocks (EMB2) was developed as a task-based programming solution designed with the constraints of embedded systems in mind.&#13;
&#13;
In this paper, we discuss how task-based programming fits such systems by analyzing scheduler implementation variants, with a focus on classic work-stealing and the libraries TBB and EMB2. Based on the state of the art we introduce a novel resource-trading concept that allows static memory allocation in a work-stealing runtime holding strict space and time bounds. We conduct benchmarks between an early prototype of the concept, TBB and EMB2, showing that resource-trading does not introduce additional runtime overheads, while unfortunately also not improving on execution time variances.</abstract>
    <parentTitle language="eng">Architecture of computing systems - ARCS 2020: 33rd international conference, Aachen, Germany, May 25-28, 2020, proceedings</parentTitle>
    <identifier type="doi">10.1007/978-3-030-52794-5_18</identifier>
    <enrichment key="opus.source">publish</enrichment>
    <enrichment key="BegutachtungStatus">begutachtet</enrichment>
    <author>Florian Fritz</author>
    <author>Michael Schmid</author>
    <author>Jürgen Mottok</author>
    <subject>
      <language>eng</language>
      <type>uncontrolled</type>
      <value>Real-time</value>
    </subject>
    <subject>
      <language>eng</language>
      <type>uncontrolled</type>
      <value>Parallel programming</value>
    </subject>
    <subject>
      <language>eng</language>
      <type>uncontrolled</type>
      <value>Work-stealing</value>
    </subject>
    <collection role="ddc" number="005">Computerprogrammierung, Programme, Daten</collection>
    <collection role="institutes" number="FakEI">Fakultät Elektro- und Informationstechnik</collection>
    <collection role="othforschungsschwerpunkt" number="16315">Information und Kommunikation</collection>
    <collection role="institutes" number="">Laboratory for Safe and Secure Systems (LAS3)</collection>
  </doc>
</export-example>
