学位论文详细信息
Improving the Performance of User-level Runtime Systems for Concurrent Applications
Runtime;Concurrency;Thread Programming;Actor Model;User-level Threads;User-level Runtime
Barghi, Samanadvisor:Karsten, Martin ; affiliation1:Faculty of Mathematics ; Karsten, Martin ;
University of Waterloo
关键词: Thread Programming;    User-level Threads;    Actor Model;    Runtime;    Concurrency;    User-level Runtime;    Doctoral Thesis;   
Others  :  https://uwspace.uwaterloo.ca/bitstream/10012/13935/1/BARGHI_SAMAN.pdf
瑞士|英语
来源: UWSPACE Waterloo Institutional Repository
PDF
【 摘 要 】

Concurrency is an essential part of many modern large-scale software systems. Applications must handle millions of simultaneous requests from millions of connected devices. Handlingsuch a large number of concurrent requests requires runtime systems that efficiently man-age concurrency and communication among tasks in an application across multiple cores.Existing low-level programming techniques provide scalable solutions with low overhead,but require non-linear control flow. Alternative approaches to concurrent programming,such as Erlang and Go, support linear control flow by mapping multiple user-level executionentities across multiple kernel threads (M:N threading). However, these systems providecomprehensive execution environments that make it difficult to assess the performanceimpact of user-level runtimes in isolation.This thesis presents a nimble M:N user-level threading runtime that closes this con-ceptual gap and provides a software infrastructure to precisely study the performanceimpact of user-level threading. Multiple design alternatives are presented and evaluatedfor scheduling, I/O multiplexing, and synchronization components of the runtime. Theperformance of the runtime is evaluated in comparison to event-driven software, system-level threading, and other user-level threading runtimes. An experimental evaluation isconducted using benchmark programs, as well as the popular Memcached application.The user-level runtime supports high levels of concurrency without sacrificing applicationperformance. In addition, the user-level scheduling problem is studied in the context ofan existing actor runtime that maps multiple actors to multiple kernel-level threads. Inparticular, two locality-aware work-stealing schedulers are proposed and evaluated. It isshown that locality-aware scheduling can significantly improve the performance of a classof applications with a high level of concurrency. In general, the performance and resourceutilization of large-scale concurrent applications depends on the level of concurrency thatcan be expressed by the programming model. This fundamental effect is studied by refiningand customizing existing concurrency models.

【 预 览 】
附件列表
Files Size Format View
Improving the Performance of User-level Runtime Systems for Concurrent Applications 1933KB PDF download
  文献评价指标  
  下载次数:13次 浏览次数:15次