University of Illinois Chicago
Browse

Delegation Systems for Efficient and Safe Multi-Core Programming

Download (969.31 kB)
thesis
posted on 2019-08-01, 00:00 authored by Sepideh Roghanchi
Highly parallel hardware is common in many contemporary computing platforms, making multi-threaded design key to high application performance. Today, the dominant paradigm for multi-threaded programming is synchronized access to shared memory, or locking for short. In this thesis, we revisit the question of delegation vs. synchronized access to shared memory, and show through analysis and demonstration that delegation can be much faster than locking under a range of common circumstances, even in highly concurrent, uncontended scenarios. Starting from first principles, we propose fast, fly-weight delegation (ffwd). The highly optimized design of ffwd allows it to significantly outperform prior work on delegation, while retaining the scalability advantage. Next, we introduce gepard, that adopts light-weight user threads (fibers), designed for delegation, on both the client and server sides of the delegation system. In addition to improved performance, gepard adds support for common software requirements such as nested delegation and lock acquisition in delegated functions. In our evaluation, we use 7 benchmark applications, and 6 shared data structures, and compare our delegation system to a selection of lock, combining, lock-free, software transactional memory and delegation designs. We port memcached to delegation, and show a 4.3 X improvement over stock memcached on YCSB workloads, and a modest improvement over sharded stock memcached. We also demonstrate multi-redis, a multi-threaded version of redis, which delegates the single-threaded database to one thread. Multi-redis yields 17 X throughput increase vs single-threaded stock redis, on standard workloads, using 32 hardware threads. It also improves modestly on 32-way sharded stock redis. Using gepard, performance is improved up to 4 X with respect to locking methods on splash2.

History

Advisor

Eriksson, Jakob

Chair

Eriksson, Jakob

Department

Computer Science

Degree Grantor

University of Illinois at Chicago

Degree Level

  • Doctoral

Degree name

PhD, Doctor of Philosophy

Committee Member

Kanich, Chris Wu, Xingbo kshemkalyani , Ajay Devietti, Joseph

Submitted date

August 2019

Thesis type

application/pdf

Language

  • en

Issue date

2019-09-03

Usage metrics

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC