Dynamic ABP Work Stealing - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Dynamic ABP Work Stealing

Description:

... deque require only read & writes unless there is only one element. ... How to distinguish between the two when checking emptiness? Still point to Node B ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 15
Provided by: csBr7
Category:
Tags: abp | dynamic | run | stealing | up | work

less

Transcript and Presenter's Notes

Title: Dynamic ABP Work Stealing


1
Dynamic ABP Work Stealing
  • Presenter Yossi Lev
  • Sun Microsystems Laboratories Tel Aviv
    University
  • Joint work with
  • Danny Hender Nir Shavit
  • Tel-Aviv University Sun Microsystems Laboratories
    Tel Aviv University

2
Work Stealing Algorithms
  • Processes works with their local workpile.
  • If emptied, a process steals item from another
    workpile.

3
ABP Work Stealing AlgorithmArora Blumofe
Plaxton 98
  • A non-blocking work stealing algorithm
  • Intended for multiprogrammed environments.
  • The local workpile is implemented as an
    array-based deque.
  • Operations by a process on its local deque
    require only read writes unless there is only
    one element.

4
The Problem
  • Arrays may overflow.
  • Solutions people used
  • Exploit the array space better Reset-On-Empty,
    Cyclic Deque.
  • Specialized overflow handling Parallel Garbage
    CollectionDetlefs, Flood, Shavit, Zhang

5
The ABP Deque
6
Dynamic ABP Deques
  • Our Solution Implement the deque by a doubly
    linked list of small arrays. Save available nodes
    in a shared pool.

The Challenge Keep the good performance of the
original ABP deque.
Top
Bottom
Shared Pool of Nodes
Bottom
Top
Top
Bottom
7
Challenges
  • Empty Deque Detection
  • Maintaining the List Structure
  • Choosing the Node Size.

8
Challenge I Empty Deque
  • Empty deque detection Checking for crossing
    situation also between nodes.

9
Challenge II List Maintenance
  • Next and previous pointers are updated only by
    local process (keep good performance).
  • Deal with Loops.

How to distinguish between the two when checking
emptiness?
Still point to Node B
10
Challenge III Node Size
  • What size should the nodes be?
  • Use a local base-node with a big array for most
    of the deques entries.
  • Use share nodes with small arrays for the rest.

11
Reset-On-Empty
  • Support the Reset-On-Empty heuristic
  • Especially important with large base-node.
  • May need to change the target node on the fly.
  • New empty scenarios arises.

Updating Top Scenario A CAS succeeds
Updating Top Scenario B CAS failed
12
Performance
  • The Hood Library.
  • With regular and dynamic ABP deques.
  • Barnes Hut benchmark.
  • Stand-Alone and Multiprogrammed Env.
  • Setup
  • The same total amount of memory for
    regular/dynamic versions

13
Performance (Cont)
  • Stand alone run Dynamic ABP shows no performance
    overhead
  • Multiprogrammed environment Dynamic shows
    higher stability.

14
Summary
  • Array-based ABP deques can overflow. Therefore
    users must devise specialized overflow handling
    mechanisms.
  • The new dynamic deque implementation eliminates
    this need.
Write a Comment
User Comments (0)
About PowerShow.com