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

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.

concurrent data structures


lock-free synchronization

data stream processing


ΗΒ4, Hörsalsvägen 12, Campus Johanneberg
Opponent: Assoc. Prof. Vana Kalogeraki, Department of Informatics, Athens University of Economics and Business, Greece


Ioannis Nikolakopoulos

Chalmers, Data- och informationsteknik, Nätverk och system

Brief announcement: Concurrent data structures for efficient streaming aggregation

Annual ACM Symposium on Parallelism in Algorithms and Architectures,; (2014)p. 76-78

Paper i proceeding

Deterministic Real-Time Analytics of Geospatial Data Streams through ScaleGate Objects

DEBS 2015 - Proceedings of the 9th ACM International Conference on Distributed Event-Based Systems,; (2015)

Paper i proceeding

A Consistency Framework for Iteration Operations in Concurrent Data Structures

29th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2015, Hyderabad, India, 25-29 May,; (2015)p. 239-248

Paper i proceeding

A Study of the Behavior of Synchronization Methods in Commonly Used Languages and Systems

Proceedings of the 27th IEEE International Parallel & Distributed Processing Symposium,; (2013)p. 1309-1320

Paper i proceeding

ScaleJoin: a Deterministic, Disjoint-Parallel and Skew-Resilient Stream Join

Eight Swedish Workshop on Multi-Core Computing (MCC) Copenhagen, November 25-26, 2015,; (2015)

Paper i proceeding


Informations- och kommunikationsteknik


Datavetenskap (datalogi)




Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 4129

ΗΒ4, Hörsalsvägen 12, Campus Johanneberg

Opponent: Assoc. Prof. Vana Kalogeraki, Department of Informatics, Athens University of Economics and Business, Greece

Mer information