CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Shared Memory Objects as Synchronization Abstractions: Algorithmic Implementations and Concurrent Applications

Yiannis Nikolakopoulos (Institutionen för data- och informationsteknik, Nätverk och system, Datakommunikation och distribuerade system (Chalmers))
Göteborg : Chalmers University of Technology, 2016. ISBN: 978-91-7597-448-4.- 237 s.

Multicore and many-core architectures have penetrated the vast majority of computing systems, from high-end servers to low-energy embedded devices. From the hardware's perspective, performance scalability comes in the form of increasing numbers of cores. Nevertheless, fully utilizing this power is still an open research and engineering issue. Meanwhile, many applications have strong needs for this power since they rely on processing large volumes of data, produced with high velocity, possibly from heterogeneous sources. Often, such processing has to be done on-the-fly and under real-time constraints. This thesis takes a perspective on shared memory objects in concurrent systems as abstractions that, while encapsulating hardware and implementation details, will allow algorithms and applications building upon them to utilize the hardware-parallelism. We pursue algorithmic implementations of such objects with fine-grain synchronization techniques, prove their correctness, consistency and progress properties, and evaluate their performance and the impact on related applications in a variety of hardware architectures. One of the fundamental challenges in algorithmic implementations of shared memory objects is that of synchronization. We first study the behavior of several synchronization methods and the possible impact of the different system characteristics. Then, we tackle consistency-related problems that arise when shared memory objects have to support extended interfaces, providing more operations than the typical abstract data type (ADT) they implement. Focusing on the iteration operation, we propose concurrency-aware consistency definitions as well as algorithmic designs for iteration operations in queues and double-ended queues. Apart from extended interfaces in shared objects, we explore novel ADTs and their algorithmic implementations, as components for building new scalable and concurrent algorithms. Motivated by the aforementioned ever increasing need for data processing and inspired by data-intensive and high data-rate applications, we focus on algorithms for data stream processing. We demonstrate the usage of the novel ADTs by building concurrent algorithms for different problems from the data streaming domain, specifically multi-way streaming aggregation and stream joins, showing significant performance improvements. We further explore the applicability of the proposed interfaces, by providing an alternative distributed shared memory design for many-core embedded architectures and evaluate it in a streaming application for baseband signal processing. The need for efficient hardware utilization is essential and this thesis shows how better data abstractions and algorithmic designs and implementations can have a significant impact in utilizing different multicore and many-core systems.

Nyckelord: concurrent data structures, lock-free synchronization, iteration, data stream processing, parallelism

Den här publikationen ingår i följande styrkeområden:

Läs mer om Chalmers styrkeområden  

Denna post skapades 2016-09-02. Senast ändrad 2016-09-06.
CPL Pubid: 241213