Philippas Tsigas

dblp:t/PhilippasTsigas · DBLP profile ↗
← Back
113ranked-venue papers
1as first author
16since 2021 · last 2026
0000-0001-9635-9154ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 53 · 1 first-author · 12 since 2021Theory of computation · 15 · 2 since 2021Human-computer interaction and ubiquitous computing · 11Security and privacy · 6Databases, data management, data science and information retrieval · 5Graphics, computer vision, multimedia, augmented reality and games · 5Applied, interdisciplinary, general and emerging computing · 5 · 1 since 2021Artificial intelligence and machine learning · 4 · 1 since 2021Computer networks · 3Software engineering, systems software and programming languages · 1
YearPublicationVenuePosition
2026 I P . L S H . D B S C A N : Integrated parallel density-based clustering by locality-sensitive hashing
abstract
Locality-sensitive hashing (LSH) is an established method for fast data indexing and approximate similarity search, with useful parallelism properties. Although indexes and similarity measures are key for data clustering, little has been investigated on the multifaceted benefits of LSH in the problem. We show how approximate DBSCAN clustering can be fused into the process of creating an LSH index, and, through parallelization and fine-grained synchronization, also utilize efficiently available computing capacity. The resulting algorithm, I P . L S H . D B S C A N , described in this article, can support a wide range of applications with diverse distance functions, as well as data distributions and dimensionality. We analyse the algorithm’s asymptotic completion time and provide an open-source prototype implementation. We also conduct a detailed evaluation measuring latency and accuracy metrics of I P . L S H . D B S C A N , on a 36-core machine with 2-way hyper threading on massive data-sets with various numbers of dimensions. The analysis and the empirical study of I P . L S H . D B S C A N show how it complements the landscape of established state-of-the-art methods, by offering up to several orders of magnitude speed-up on higher dimensional datasets, with tunable high clustering accuracy.
Amir Keramatian, Vincenzo Gulisano, Marina Papatriantafilou, Philippas Tsigas
Discret. Appl. Math.4
2025 Interval-Asynchrony: Delimited Intervals of Localised Asynchrony for Fast Parallel SGD
Jacob Garby, Philippas Tsigas
Euro-Par (2)2
2025 Balanced Allocations over Efficient Queues: A Fast Relaxed FIFO Queue
abstract
Relaxed semantics have been introduced to increase the achievable parallelism of concurrent data structures in exchange for weakening their ordering semantics. In this paper, we revisit the balanced allocations d-choice load balancing scheme in the context of relaxed FIFO queues. Our novel load balancing approach distributes operations evenly across n sub-queues based on operation counts, achieving low relaxation errors independent on the queues size, as opposed to similar earlier designs. We prove its relaxation errors to be of O(n log log n/log d) with high probability for a collection of possible executions. Furthermore, our scheme, contrary to previous ones, manages to interface and integrate the most performant linearizable queue designs from the literature as components. Our resulting relaxed FIFO queue is experimentally shown to outperform the previously best design using balanced allocations by more than four times in throughput, while simultaneously incurring less than a thousandth of its relaxation errors. In a concurrent breadth-first-search benchmark, our queue consistently outperforms both relaxed and strict state-of-the-art FIFO queues.
Kåre von Geijer, Philippas Tsigas, Elias Johansson, Sebastian Hermansson
PPoPP2
2025 Wasp: Efficient Asynchronous Single-Source Shortest Path on Multicore Systems via Work Stealing
abstract
The Single-Source Shortest Path (SSSP) problem is a fundamental graph problem with an extensive set of real-world applications. State-of-the-art parallel algorithms for SSSP, such as the Δ -stepping algorithm, create parallelism through priority coarsening. Priority coarsening results in redundant computations that diminish the benefits of parallelization and limit parallel scalability.
Marco D'Antonio, Son T. Mai, Philippas Tsigas, Hans Vandierendonck
SC3
2025 Elastic Relaxation of Concurrent Data Structures
Kåre von Geijer, Philippas Tsigas
IEEE Trans. Parallel Distributed Syst.2
2024 How to Relax Instantly: Elastic Relaxation of Concurrent Data Structures
Kåre von Geijer, Philippas Tsigas
Euro-Par (3)2
2023 PARMA-CC: A family of parallel multiphase approximate cluster combining algorithms
abstract
Clustering is a common task in data analysis applications. Despite the extensive literature, the continuously increasing volumes of data produced by sensors (e.g., rates of several MB/s by 3D scanners such as LIDAR sensors), and the time-sensitivity of the applications leveraging the clustering outcomes (e.g., detecting critical situations such as detecting boundary crossing from a robot arm that could injure human beings) demand for efficient data clustering algorithms that can effectively utilize the increasing computational capacities of modern hardware. To that end, we leverage approximation and parallelization, where the former is to scale down the amount of data, and the latter is to scale up the computation. Regarding parallelization, we explore a design space for synchronization and workload distribution among the threads. As we study different parts of the design space, we propose representative Parallel Multiphase Approximate Cluster Combining, abbreviated as PARMA-CC, algorithms. We show that PARMA-CC algorithms yield equivalent clustering outcomes despite their different approaches. Furthermore, we show that certain PARMA-CC algorithms can achieve higher efficiency with respect to certain properties of the data to be clustered. Generally speaking, in PARMA-CC algorithms, parallel threads compute summaries associated with clusters of data (sub)sets. As the threads concurrently combine the summaries, they construct a comprehensive summary of the sets of clusters. By approximating a cluster with its respective geometrical summaries, PARMA-CC algorithms scale well with increased data volumes, and, by computing and efficiently combining the summaries in parallel, they enable latency improvements. PARMA-CC algorithms utilize special data structures that enable parallelism through in-place data processing. As we show in our analysis and evaluation, PARMA-CC algorithms can complement and outperform well-established methods, with significantly better scalability, while still providing highly accurate results in a variety of data sets, even with skewed data distributions, which cause the traditional approaches to exhibit their worst-case behaviour.
Amir Keramatian, Vincenzo Gulisano, Marina Papatriantafilou, Philippas Tsigas
J. Parallel Distributed Comput.4
2022 $\mathtt {IP.LSH.DBSCAN}$: Integrated Parallel Density-Based Clustering Through Locality-Sensitive Hashing
Amir Keramatian, Vincenzo Gulisano, Marina Papatriantafilou, Philippas Tsigas
Euro-Par4
2022 ASAP.SGD: Instance-based Adaptiveness to Staleness in Asynchronous SGD
abstract
Concurrent algorithmic implementations of Stochastic Gradient Descent (SGD) give rise to critical questions for compute-intensive Machine Learning (ML). Asynchrony implies speedup in some contexts, and challenges in others, as stale updates may lead to slower, or non-converging executions. While previous works showed asynchrony-adaptiveness can improve stability and speedup by reducing the step size for stale updates according to static rules, there is no one-size-fits-all adaptation rule, since the optimal strategy depends on several factors. We introduce (i) $\mathtt{ASAP.SGD}$, an analytical framework capturing necessary and desired properties of staleness-adaptive step size functions and (ii) \textsc{tail}-$\tau$, a method for utilizing key properties of the execution instance, generating a tailored strategy that not only dampens the impact of stale updates, but also leverages fresh ones. We recover convergence bounds for adaptiveness functions satisfying the $\mathtt{ASAP.SGD}$ conditions for general, convex and non-convex problems, and establish novel bounds for ones satisfying the Polyak-Lojasiewicz property. We evaluate \textsc{tail}-$\tau$ with representative AsyncSGD concurrent algorithms, for Deep Learning problems, showing \textsc{tail}-$\tau$ is a vital complement to AsyncSGD, with (i) persistent speedup in wall-clock convergence time in the parallelism spectrum, (ii) considerably lower risk of non-convergence, as well as (iii) precision levels for which original SGD implementations fail.
Karl Bäckström, Marina Papatriantafilou, Philippas Tsigas
ICML3
2022 Performance Analysis and Modelling of Concurrent Multi-access Data Structures
abstract
The major impediment to scaling concurrent data structures is memory contention when accessing shared data structure access-points, leading to thread serialisation, hindering parallelism. Aiming to address this challenge, significant amount of work in the literature has proposed multi-access techniques that improve concurrent data structure parallelism. However, there is little work on analysing and modelling the execution behaviour of concurrent multi-access data structures especially in a shared memory setting.
Adones Rukundo, Aras Atalar, Philippas Tsigas
SPAA3
2022 STRETCH: Virtual Shared-Nothing Parallelism for Scalable and Elastic Stream Processing
abstract
Stream processing applications extract value from raw data through Directed Acyclic Graphs of data analysis tasks. Shared-nothing (SN) parallelism is the de-facto standard to scale stream processing applications. Given an application, SN parallelism ins9tantiates several copies of each analysis task, making each instance responsible for a dedicated portion of the overall analysis, and relies on dedicated queues to exchange data among connected instances. On the one hand, SN parallelism can scale the execution of applications both up and out since threads can run task instances within and across processes/nodes. On the other hand, its lack of sharing can cause unnecessary overheads and hinder the scaling up when threads operate on data that could be jointly accessed in shared memory. This trade-off motivated us in studying a way for stream processing applications to leverage shared memory and boost the scale up (before the scale out) while adhering to the widely-adopted and SN-based APIs for stream processing applications. We introduceSTRETCH, a framework that maximizes the scale up and offers instantaneous elastic reconfigurations (without state transfer) for stream processing applications. We propose the concept of Virtual Shared-Nothing (VSN) parallelism and elasticity and provide formal definitions and correctness proofs for the semantics of the analysis tasks supported bySTRETCH, showing they extend the ones found in common Stream Processing Engines. We also provide a fully implemented prototype and show thatSTRETCH's performance exceeds that of state-of-the-art frameworks such as Apache Flink and offers, to the best of our knowledge, unprecedented ultra-fast reconfigurations, taking less than 40 ms even when provisioning tens of new task instances.
Vincenzo Gulisano, Hannaneh Najdataei, Yiannis Nikolakopoulos, Alessandro Vittorio Papadopoulos, Marina Papatriantafilou, Philippas Tsigas
IEEE Trans. Parallel Distributed Syst.6
2021 TSLQueue: An Efficient Lock-Free Design for Priority Queues
Adones Rukundo, Philippas Tsigas
Euro-Par2
2021 Consistent Lock-free Parallel Stochastic Gradient Descent for Fast and Stable Convergence
abstract
Stochastic Gradient Descent (SGD) is an essential element in Machine Learning (ML) algorithms. Asynchronous shared-memory parallel SGD (AsyncSGD), including synchronization-free algorithms, e.g. HOGWILD!, have received interest in certain contexts, due to reduced overhead compared to synchronous parallelization. Despite that they induce staleness and inconsistency, they have shown speedup for problems satisfying smooth, strongly convex targets, and gradient sparsity. Recent works take important steps towards understanding the potential of parallel SGD for problems not conforming to these strong assumptions, in particular for deep learning (DL). There is however a gap in current literature in understanding when AsyncSGD algorithms are useful in practice, and in particular how mechanisms for synchronization and consistency play a role. We contribute with answering questions in this gap by studying a spectrum of parallel algorithmic implementations ofAsyncSGD, aiming to understand how shared-data synchronization influences the convergence properties in fundamental DL applications. We focus on the impact of consistency-preserving non-blocking synchronization in SGD convergence, and in sensitivity to hyper-parameter tuning. We propose Leashed-SGD, an extensible algorithmic framework of consistency-preserving implementations of AsyncSGD, employing lock-free synchronization, effectively balancing throughput and latency. Leashed-SGD features a natural contention-regulating mechanism, as well as dynamic memory management, allocating space only when needed. We argue analytically about the dynamics of the algorithms, memory consumption, the threads' progress over time, and the expected contention. We provide a comprehensive empirical evaluation, validating the analytical claims, benchmarking the proposed Leashed-SGD framework, and comparing to baselines for two prominent deep learning (DL) applications: multilayer perceptrons (MLP) and convolutional neural networks (CNN). We observe the crucial impact of contention, staleness and consistency and show how, thanks to the aforementioned properties, Leashed-SGD provides significant improvements in stability as well as wall-clock time to convergence (from 20-80% up to 4 x improvements) compared to the standard lock-based AsyncSGD algorithm and HOGWILD!, while reducing the overall memory footprint.
Karl Bäckström, Ivan Walulya, Marina Papatriantafilou, Philippas Tsigas
IPDPS4
2021 MAD-C: Multi-stage Approximate Distributed Cluster-combining for obstacle detection and localization
Amir Keramatian, Vincenzo Gulisano, Marina Papatriantafilou, Philippas Tsigas
J. Parallel Distributed Comput.4
2021 ScaleJoin: A Deterministic, Disjoint-Parallel and Skew-Resilient Stream Join
abstract
The inherently large and varying volumes of information generated in large scale systems demand near real-time processing of data streams. In this context, data streaming is imperative for data-intensive processing infrastructures. Stream joins, the streaming counterpart of database joins, compare tuples coming from different streams and constitute one of the most important and expensive data streaming operators. Algorithmic implementations of stream joins have to be capable of efficiently processing bursty and rate-varying data streams in a deterministic and skew-resilient fashion. To leverage the design of modern multicore architectures, scalability and parallelism need to be addressed also in the algorithmic design. In this paper we present ScaleJoin, an algorithmic construction for deterministic and parallel stream joins that guarantees all the above properties, thus filling in a gap in the existing state-of-the-art. Key to the novelty of ScaleJoin is the ScaleGate data structure and its lock-free implementation. ScaleGate facilitates concurrent data exchange and balances independent actions among processing threads; enabling fine-grain parallelism and deterministic processing. It allows ScaleJoin to run on an arbitrary number of processing threads, evenly sharing the overall comparisons run in parallel and achieving disjoint and skew-resilient high processing throughput and low processing latency.
Vincenzo Gulisano, Yiannis Nikolakopoulos, Marina Papatriantafilou, Philippas Tsigas
IEEE Trans. Big Data4
2021 Concurrent linearizable nearest neighbour search in LockFree-kD-tree
Bapi Chatterjee, Ivan Walulya, Philippas Tsigas
Theor. Comput. Sci.3
2019 MindTheStep-AsyncPSGD: Adaptive Asynchronous Parallel Stochastic Gradient Descent
abstract
Stochastic Gradient Descent (SGD) is very useful in optimization problems with high-dimensional non-convex target functions, and hence constitutes an important component of several Machine Learning and Data Analytics methods. Recently there have been significant works on understanding the parallelism inherent to SGD, and its convergence properties. Asynchronous, parallel SGD (AsyncPSGD) has received particular attention, due to observed performance benefits. On the other hand, asynchrony implies inherent challenges in understanding the execution of the algorithm and its convergence, stemming from the fact that the contribution of a thread might be based on an old (stale) view of the state. In this work we aim to deepen the understanding of AsyncPSGD in order to increase the statistical efficiency in the presence of stale gradients. We propose new models for capturing the nature of the staleness distribution in a practical setting. Using the proposed models, we derive a staleness-adaptive SGD framework, MindTheStep-AsyncPSGD, for adapting the step size in an online-fashion, which provably reduces the negative impact of asynchrony. Moreover, we provide general convergence time bounds for a wide class of staleness-adaptive step size strategies for convex target functions. We also provide a detailed empirical study, showing how our approach implies faster convergence for deep learning applications.
Karl Bäckström, Marina Papatriantafilou, Philippas Tsigas
IEEE BigData3
2019 Modeling the Performance of Atomic Primitives on Modern Architectures
abstract
Utilizing the atomic primitives of a processor to access a memory location atomically is key to the correctness and feasibility of parallel software systems. The performance of atomics plays a significant role in the scalability and overall performance of parallel software systems.
Fazeleh Sadat Hoseini, Aras Atalar, Philippas Tsigas
ICPP3
2019 Monotonically Relaxing Concurrent Data-Structure Semantics for Increasing Performance: An Efficient 2D Design Framework
abstract
There has been a significant amount of work in the literature proposing semantic relaxation of concurrent data structures for improving scalability and performance. By relaxing the semantics of a data structure, a bigger design space, that allows weaker synchronization and more useful parallelism, is unveiled. Investigating new data structure designs, capable of trading semantics for achieving better performance in a monotonic way, is a major challenge in the area. We algorithmically address this challenge in this paper. We present an efficient, lock-free, concurrent data structure design framework for out-of-order semantic relaxation. We introduce a new two dimensional algorithmic design, that uses multiple instances of a given data structure. The first dimension of our design is the number of data structure instances operations are spread to, in order to benefit from parallelism through disjoint memory access; the second dimension is the number of consecutive operations that try to use the same data structure instance in order to benefit from data locality. Our design can flexibly explore this two-dimensional space to achieve the property of monotonically relaxing concurrent data structure semantics for better performance within a tight deterministic relaxation bound, as we prove in the paper. We show how our framework can instantiate lock-free out-of-order queues, stacks, counters and dequeues. We provide implementations of these relaxed data structures and evaluate their performance and behaviour on two parallel architectures. Experimental evaluation shows that our two-dimensional design significantly outperforms the respected previous proposed designs with respect to scalability and performance. Moreover, our design increases performance monotonically as relaxation increases.
Adones Rukundo, Aras Atalar, Philippas Tsigas
DISC3
2018 Lock-Free Search Data Structures: Throughput Modeling with Poisson Processes
abstract
This paper considers the modelling and the analysis of the performance of lock-free concurrent search data structures. Our analysis considers such lock-free data structures that are utilized through a sequence of operations which are generated with a memoryless and stationary access pattern. Our main contribution is a new way of analysing lock-free search data structures: our execution model matches with the behavior that we observe in practice and achieves good throughput predictions. Search data structures are formed of linked basic blocks, usually referred as nodes, that can be accessed by two kinds of events, characterized by their latencies; (i) CAS events originated as a result of modifications of the search data structures (ii) Read events originated during traversals. This type of data structures are usually designed to accommodate a large number of data nodes, which makes the occurrence of an event on a given node rare at any given time. The throughput is defined by the number of events per operation in conjunction with the factors that impact the latencies of these events. We frame these impacting factors under capacity and coherence cache misses. In this context, we model the events as Poisson processes that we can merge and split to estimate the latencies of the events based on the interleaving of events from different threads, and in turn estimate the throughput. We have validated our analysis on several fundamental lock-free search data structures such as linked lists, hash tables, skip lists and binary trees.
Aras Atalar, Paul Renaud-Goud, Philippas Tsigas
OPODIS3
2018 Brief Announcement: 2D-Stack - A Scalable Lock-Free Stack Design that Continuously Relaxes Semantics for Better Performance
Adones Rukundo, Aras Atalar, Philippas Tsigas
PODC3
2018 Concurrent Lock-Free Unbounded Priority Queue with Mutable Priorities
Ivan Walulya, Bapi Chatterjee, Ajoy K. Datta, Rashmi Niyolia, Philippas Tsigas
SSS5
2018 Viper: A module for communication-layer determinism and scaling in low-latency stream processing
Ivan Walulya, Dimitris Palyvos-Giannas, Yiannis Nikolakopoulos, Vincenzo Gulisano, Marina Papatriantafilou, Philippas Tsigas
Future Gener. Comput. Syst.6
2018 Shared-object system equilibria: Delay and throughput analysis
Iosif Salem, Elad Michael Schiller, Marina Papatriantafilou, Philippas Tsigas
Theor. Comput. Sci.4
2017 Scalable Lock-Free Vector with Combining
abstract
Dynamic vectors are among the most commonly used data structures in programming. They provide constant time random access and resizable data storage. Additionally, they provide constant time insertion (pushback) and deletion (popback) at the end of the sequence. However, in a multithreaded system, concurrent pushback and popback operations attempt to update the same shared object, creating a synchronization bottleneck. In this paper, we present a lock-free vector design that efficiently addresses the synchronization bottlenecks by utilizing a combining technique on pushback operations. Typical combining techniques come with the price of blocking. Our design introduces combining without sacrificing lock-freedom. We evaluate the performance of our design on a dual socket NUMA Intel server. The results show that our design performs comparably at low loads, and out-performs prior concurrent blocking and non-blocking vector implementations at high contention, by as much as 2.7×.
Ivan Walulya, Philippas Tsigas
IPDPS2
2017 Wait-Free Programming for General Purpose Computations on Graphics Processors
abstract
The fact that graphics processors (GPUs) are today’s most powerful computational hardware for the dollar has motivated researchers to utilize the ubiquitous and powerful GPUs for general-purpose computing. However, unlike CPUs, GPUs are optimized for processing 3D graphics (e.g., graphics rendering), a kind of data-parallel applications, and consequently, several GPUs do not support strong synchronization primitives to coordinate their cores. This prevents the GPUs from being deployed more widely for general-purpose computing. This paper aims at bridging the gap between the lack of strong synchronization primitives in the GPUs and the need for strong synchronization mechanisms in parallel applications. Based on the intrinsic features of typical GPU architectures, we construct strong synchronization objects such as wait-free and$t$-resilientread-modify-writeobjects for a general model of GPU architectures without hardware synchronization primitives such astest-and-setandcompare-and-swap. Accesses to the wait-free objects have time complexity$O(N)$, where$N$is the number of processes. The wait-free objects have the optimal space complexity$O(N^2)$. Our result demonstrates that it is possible to construct wait-free synchronization mechanisms for GPUs without strong synchronization primitives in hardware and that wait-free programming is possible for such GPUs.
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
IEEE Trans. Computers2
2016 Help-Optimal and Language-Portable Lock-Free Concurrent Data Structures
abstract
Helping is a widely used technique to guarantee lock-freedom in many concurrent data structures. An optimized helping strategy improves the overall performance of a lock-free algorithm. In this paper, we propose help-optimality, which essentially implies that no operation step is accounted for exclusive helping in the lock-free synchronization of concurrent operations. To describe the concept, we revisit the designs of a lock-free linked-list and a lock-free binary search tree and present improved algorithms. Our algorithms employ atomic single-word compare-and-swap (CAS) primitives and are linearizable. We design the algorithms without using any language/platformspecific mechanism. Specifically, we use neither bit-stealing froma pointer nor runtime type introspection of objects. Thus, our algorithms are language-portable. Further, to optimize the amortized number of steps per operation, if a CAS execution tomodify a shared pointer fails, we obtain a fresh set of thread-local variables without restarting an operation from scratch. We use several micro-benchmarks in both C/C++ and Java to validate the efficiency of our algorithms against existing state-of-the-art. The experiments show that the algorithms are scalable. Our implementations perform on a par with highly optimizedones and in many cases yield 10%-50% higher throughput.
Bapi Chatterjee, Ivan Walulya, Philippas Tsigas
ICPP3
2016 How Lock-free Data Structures Perform in Dynamic Environments: Models and Analyses
abstract
In this paper we present two analytical frameworks for calculating the performance of lock-free data structures. Lock-free data structures are based on retry loops and are called by application-specific routines. In contrast to previous work, we consider in this paper lock-free data structures in dynamic environments. The size of each of the retry loops, and the size of the application routines invoked in between, are not constant but may change dynamically. The new frameworks follow two different approaches. The first framework, the simplest one, is based on queuing theory. It introduces an average-based approach that facilitates a more coarse-grained analysis, with the benefit of being ignorant of size distributions. Because of this independence from the distribution nature it covers a set of complicated designs. The second approach, instantiated with an exponential distribution for the size of the application routines, uses Markov chains, and is tighter because it constructs stochastically the execution, step by step. Both frameworks provide a performance estimate which is close to what we observe in practice. We have validated our analysis on (i) several fundamental lock-free data structures such as stacks, queues, deques and counters, some of them employing helping mechanisms, and (ii) synthetic tests covering a wide range of possible lock-free designs. We show the applicability of our results by introducing new back-off mechanisms, tested in application contexts, and by designing an efficient memory management scheme that typical lock-free algorithms can utilize.
Aras Atalar, Paul Renaud-Goud, Philippas Tsigas
OPODIS3
2016 Customization methodology for implementation of streaming aggregation in embedded systems
Lazaros Papadopoulos, Dimitrios Soudris, Ivan Walulya, Philippas Tsigas
J. Syst. Archit.4
2016 A Systematic Methodology for Optimization of Applications Utilizing Concurrent Data Structures
abstract
Modern multicore embedded systems often execute applications that rely heavily on concurrent data structures. The selection of efficient concurrent data structure implementations for a specific application is usually a complex and time consuming task, because each design decision often affects the performance and the energy consumption of the embedded system in various and occasionally unpredictable ways. The complexity is normally addressed by developers by adopting ad-hoc design solutions, which are often suboptimal and yield poor results. To face this problem, we propose a semi-automated methodology for the optimization of applications that utilize concurrent data structures that is based on design space exploration. The proposed approach is evaluated by using both microbenchmarks and real-world applications that are executed on multicore embedded systems with different architectural specifications. Our results show that we can identify various trade-offs between different data structure implementations that can be used to optimize applications that rely on concurrent data structures.
Lazaros Papadopoulos, Ivan Walulya, Philippas Tsigas, Dimitrios Soudris
IEEE Trans. Computers3
2015 Scalejoin: A deterministic, disjoint-parallel and skew-resilient stream join
abstract
The inherently large and varying volumes of data generated to facilitate autonomous functionality in large scale cyber-physical systems demand near real-time processing of data streams, often as close to the sensing devices as possible. In this context, data streaming is imperative for data-intensive processing infrastructures. Stream joins, the streaming counterpart of database joins, compare tuples coming from different streams and constitute one of the most important and expensive data streaming operators. Dictated by the needs of big data streaming analytics, algorithmic implementations of stream joins have to be capable of efficiently processing bursty and rate-varying data streams in a deterministic and skew-resilient fashion. To leverage the design of modern multicore architectures, scalability and parallelism need to be addressed also in the algorithmic design. In this paper we present ScaleJoin, an algorithmic construction for deterministic and parallel stream joins that guarantees all the above properties, thus filling in a gap in the existing state-of-the art. Key to the novelty of ScaleJoin is a new data structure, Scalegate, and its lock-free implementation. ScaleGate facilitates concurrent data exchange and balances independent actions among processing threads; it also enables fine-grain parallelism while providing the necessary synchronization for deterministic processing. As a result, it allows ScaleJoin to run on an arbitrary number of processing threads that can evenly share the overall comparisons run in parallel and achieve high processing throughput and low processing latency. As we show, ScaleJoin not only guarantees deterministic, disjoint and skew-resilient parallelism, but also achieves higher throughput than state-of-the-art parallel stream joins.
Vincenzo Gulisano, Yiannis Nikolakopoulos, Marina Papatriantafilou, Philippas Tsigas
IEEE BigData4
2015 Modeling Energy Consumption of Lock-Free Queue Implementations
abstract
This paper considers the problem of modelling the energy behaviour of lock-free concurrent queue data structures. Our main contribution is a way to model the energy behaviour of lock-free queue implementations and parallel applications that use them. Focusing on steady state behaviour we decompose energy behaviour into throughput and power dissipation which can be modeled separately and later recombined into several useful metrics, such as energy per operation. Based on our models, instantiated from synthetic benchmark data, and using only a small amount of additional application specific information, energy and throughput predictions can be made for parallel applications that use the respective data structure implementation. To model throughput we propose a generic model forlock-free queue throughput behaviour, based on combination of the dequeuers' throughput and enqueuers' throughput. To model power dissipation we commonly split the contributions from the various computer components into static, activation and dynamic parts, where only the dynamic part depends on the actual instructions being executed. To instantiate the models a synthetic benchmark explores each queue implementation over the dimensions of processor frequency and number of threads. Finally, we show how to make predictions of application throughput and power dissipation for a parallel application using lock-free queue requiring only a limited amount of information about the application work done between queue operations. Our case study on a Mandelbrot application shows convincing prediction results.
Aras Atalar, Anders Gidenstam, Paul Renaud-Goud, Philippas Tsigas
IPDPS4
2015 A Consistency Framework for Iteration Operations in Concurrent Data Structures
abstract
Concurrent data structures provide the means to multi-threaded applications to share data. Data structures come with a set of predefined operations, specified by the semantics of the data structure. In the literature and in several contemporary commonly used programming environments, the notion of iteration has been introduced for collection data structures, as a bulk operation enhancing the native set of operations. Iterations in several of these contexts have been treated as sequential in nature and may provide weak consistency guarantees when running concurrently with the native operations of the data structures. In this work we study iterations in concurrent data structures in the context of concurrency with the native operations and the guarantees that they provide. Besides invariability, we propose a set of consistency specifications for such bulk operations, including also concurrency-aware properties by building on Lamppost's systematic definitions for registers. Furthermore, by using queues and composite registers as case-studies of underlying objects, we provide a set of constructions of iteration operations, satisfying the properties and showing containment relations. Besides the trade-off between consistency and throughput, we point out and study trade-off between the overhead of the bulk operation and possible support (helping) by the native operations of the data structure.
Yiannis Nikolakopoulos, Anders Gidenstam, Marina Papatriantafilou, Philippas Tsigas
IPDPS4
2015 The lock-free k-LSM relaxed priority queue
abstract
We present a new, concurrent, lock-free priority queue that relaxes the delete-min operation to allow deletion of any of the ρ smallest keys instead of only a minimal one, where ρ is a parameter that can be configured at runtime. It is built from a logarithmic number of sorted arrays, similar to log-structured merge-trees (LSM). For keys added and removed by the same thread the behavior is identical to a non-relaxed priority queue. We compare to state-of-the-art lock-free priority queues with both relaxed and non-relaxed semantics, showing high performance and good scalability of our approach.
Martin Wimmer 0003, Jakob Gruber, Jesper Larsson Träff, Philippas Tsigas
PPoPP4
2015 Analyzing the Performance of Lock-Free Data Structures: A Conflict-Based Model
Aras Atalar, Paul Renaud-Goud, Philippas Tsigas
DISC3
2014 A local seed selection algorithm for overlapping community detection
abstract
One of the widely studied structural properties of social and information networks is their community structure, and a vast variety of community detection algorithms have been proposed in the literature. Expansion of a seed node into a community is one of the most successful methods for local community detection, especially when the global structure of the network is not accessible. An algorithm for local community detection only requires a partial knowledge of the network and the computations can be done in parallel starting from seed nodes. The parallel nature of local algorithms allow for fast and scalable solutions, however, the coverage of the communities heavily depends on the seed selection. The communities identified by a local algorithm might cover only a subset of the nodes in a network if the seeds are not selected carefully. In this paper, we propose a novel seeding algorithm which is parameter free, utilizes merely the local structure of the network, and identifies good seeds which span over the whole network. In order to find such seeds, our algorithm first computes similarity indices from local link prediction techniques to assign a similarity score to each node, and then a biased graph coloring algorithm is used to enhance the seed selection. Our experiments using large-scale real-world networks show that our algorithm is able to select good seeds which are then expanded into high quality overlapping communities covering the vast majority of the nodes in the network using a personalized PageRank-based community detection algorithm. We also show that using our local seeding algorithm can dramatically reduce the execution time of community detection.
Farnaz Moradi 0001, Tomas Olovsson, Philippas Tsigas
ASONAM3
2014 Lock-Free Cuckoo Hashing
abstract
This paper presents a lock-free cuckoo hashing algorithm, to the best of our knowledge this is the first lock-free cuckoo hashing in the literature. The algorithm allows mutating operations to operate concurrently with query ones and requires only single word compare-and-swap primitives. Query of items can operate concurrently with others mutating operations, thanks to the two-round query protocol enhanced with a logical clock technique. When an insertion triggers a sequence of key displacements, instead of locking the whole cuckoo path, our algorithm breaks down the chain of relocations into several single relocations which can be executed independently and concurrently with other operations. A fine tuned synchronization and a helping mechanism for relocation are designed. The mechanisms allow high concurrency and provide progress guarantees for the data structure's operations. Our experimental results show that our lock-free cuckoo hashing performs consistently better than two efficient lock-based hashing algorithms, the chained and the hopscotch hash-map, in different access pattern scenarios.
Philippas Tsigas
ICDCS2
2014 ParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
Philippas Tsigas, Håkan Sundell
OPODIS2
2014 Overlapping Communities for Identifying Misbehavior in Network Communications
Farnaz Moradi 0001, Tomas Olovsson, Philippas Tsigas
PAKDD (1)3
2014 Efficient lock-free binary search trees
abstract
In this paper we present a novel algorithm for concurrent lock-free internal binary search trees (BST) and implement a Set abstract data type (ADT) based on that. We show that in the presented lock-free BST algorithm the amortized step complexity of each set operation - Add, Remove and Contains - is O(H(n) + c), where H(n) is the height of the BST with n number of nodes and c is the contention during the execution. Our algorithm adapts to contention measures according to read-write load. If the situation is read-heavy, the operations avoid helping the concurrent Remove operations during traversal, and adapt to interval contention. However, for the write-heavy situations we let an operation help a concurrent Remove, even though it is not obstructed. In that case, an operation adapts to point contention. It uses single-word compare-and-swap (CAS) operations. We show that our algorithm has improved disjoint-access-parallelism compared to similar existing algorithms. We prove that the presented algorithm is linearizable. To the best of our knowledge, this is the first algorithm for any concurrent tree data-structure in which the modify operations are performed with an additive term of contention measure.
Bapi Chatterjee, Nhan Nguyen Dang, Philippas Tsigas
PODC3
2014 Data structures for task-based priority scheduling
abstract
We present three lock-free data structures for priority task scheduling: a priority work-stealing one, a centralized one with ρ-relaxed semantics, and a hybrid one combining both concepts. With the single-source shortest path (SSSP) problem as example, we show how the different approaches affect the prioritization and provide upper bounds on the number of examined nodes. We argue that priority task scheduling allows for an intuitive and easy way to parallelize the SSSP problem, notoriously a hard task. Experimental evidence supports the good scalability of the resulting algorithm. The larger aim of this work is to understand the trade-offs between scalability and priority guarantees in task scheduling systems. We show that ρ-relaxation is a valuable technique for improving the first, while still allowing semantic constraints to be satisfied: the lock-free, hybrid $k$-priority data structure can scale as well as work-stealing, while still providing strong priority scheduling guarantees, which depend on the parameter k. Our theoretical results open up possibilities for even more scalable data structures by adopting a weaker form of ρ-relaxation, which still enables the semantic constraints to be respected.
Martin Wimmer 0003, Francesco Versaci, Jesper Larsson Träff, Daniel Cederman, Philippas Tsigas
PPoPP5
2014 Brief announcement: concurrent data structures for efficient streaming aggregation
abstract
We briefly describe our study on the problem of streaming multiway aggregation, where large data volumes are received from multiple input streams. Multiway aggregation is a fundamental computational component in data stream management systems, requiring low-latency and high throughput solutions.We focus on the problem of designing concurrent data structures enabling for low-latency and high-throughput multiway aggregation; an issue that has been overlooked in the literature. We propose two new concurrent data structures and their lock-free linearizable implementations, supporting both order-sensitive and order-insensitive aggregate functions.Results from an extensive evaluation show significant improvement in the aggregation performance,in terms of both processing throughput and latency over the commonly-used techniques based on queues.
Daniel Cederman, Vincenzo Gulisano, Yiannis Nikolakopoulos, Marina Papatriantafilou, Philippas Tsigas
SPAA5
2013 Topic 12: Theory and Algorithms for Parallel Computation - (Introduction)
Giuseppe F. Italiano, Henning Meyerhenke, Guy E. Blelloch, Philippas Tsigas
Euro-Par4
2013 A Study of the Behavior of Synchronization Methods in Commonly Used Languages and Systems
abstract
Synchronization is a central issue in concurrency and plays an important role in the behavior and performance of modern programmes. Programming languages and hardware designers are trying to provide synchronization constructs and primitives that can handle concurrency and synchronization issues efficiently. Programmers have to find a way to select the most appropriate constructs and primitives in order to gain the desired behavior and performance under concurrency. Several parameters and factors affect the choice, through complex interactions among (i) the language and the language constructs that it supports, (ii) the system architecture, (iii) possible run-time environments, virtual machine options and memory management support and (iv) applications. We present a systematic study of synchronization strategies, focusing on concurrent data structures. We have chosen concurrent data structures with different number of contention spots. We consider both coarse-grain and fine-grain locking strategies, as well as lock-free methods. We have investigated synchronization-aware implementations in C++, C# (.NET and Mono) and Java. Considering the machine architectures, we have studied the behavior of the implementations on both Intel's Nehalem and AMD's Bulldozer. The properties that we study are throughput and fairness under different workloads and multiprogramming execution environments. For NUMA architectures fairness is becoming as important as the typically considered throughput property. To the best of our knowledge this is the first systematic and comprehensive study of synchronization-aware implementations. This paper takes steps towards capturing a number of guiding principles and concerns for the selection of the programming environment and synchronization methods in connection to the application and the system characteristics.
Daniel Cederman, Bapi Chatterjee, Nhan Nguyen Dang, Yiannis Nikolakopoulos, Marina Papatriantafilou, Philippas Tsigas
IPDPS6
2013 Work-stealing with configurable scheduling strategies
abstract
Work-stealing systems are typically oblivious to the nature of the tasks they are scheduling. They do not know or take into account how long a task will take to execute or how many subtasks it will spawn. Moreover, task execution order is typically determined by an underlying task storage data structure, and cannot be changed. There are thus possibilities for optimizing task parallel executions by providing information on specific tasks and their preferred execution order to the scheduling system.
Martin Wimmer 0003, Daniel Cederman, Jesper Larsson Träff, Philippas Tsigas
PPoPP4
2013 Safe system-level concurrency on resource-constrained nodes
abstract
Despite the continuous research to facilitate WSNs development, most safety analysis and mitigation efforts in concurrency are still left to developers, who must manage synchronization and shared memory explicitly. In this paper, we present a system language that ensures safe concurrency by handling threats at compile time, rather than at runtime. Based on the synchronous programming model, our design allows for a simple reasoning about concurrency that enables compile-time analysis resulting in deterministic and memory-safe programs. As a trade-off, our design imposes limitations on the language expressiveness, such as doing computationally-intensive operations and meeting hard real-time responsiveness. To show that the achieved expressiveness and responsiveness is sufficient for a wide range of WSN applications, we implement widespread network protocols and the CC2420 radio driver. The implementations show a reduction in source code size, with a penalty of memory increase below 10% in comparison to nesC. Overall, we ensure safety properties for programs relying on high-level control abstractions that also lead to concise and readable code.
Francisco Sant'Anna, Noemi de La Rocque Rodriguez, Roberto Ierusalimschy, Olaf Landsiedel, Philippas Tsigas
SenSys5
2013 Self-stabilizing TDMA Algorithms for Wireless Ad-Hoc Networks without External Reference
Thomas Petig, Elad Michael Schiller, Philippas Tsigas
SSS3
2013 Scalable group communication supporting configurable levels of consistency
abstract
SUMMARY Group communication is deployed in many evolving Internet‐scale cooperative applications such as multiplayer online games and virtual worlds to efficiently support interaction on information relevant to a potentially very large number of users or objects. Especially peer‐to‐peer based group communication protocols have evolved as a promising approach to allow intercommunication between many distributed peers. Yet, the delivery semantics of robust and scalable protocols such as gossiping is not sufficient to support consistency semantics beyond eventual consistency because no relationship on the order of events is enforced. On the other hand, traditional consistency models provided by reliable group communication providing causal or even total order are restricted to support only small groups. This article proposes thecluster consistencymodel which bridges the gap between traditional and current approaches in supporting both scalability and ordered event delivery. We introduce a dynamic and fault tolerant cluster management method that can coordinate concurrent access to resources in a peer‐to‐peer system and can be used to establishfault‐tolerantconfigurable cluster consistency with predictable reliability, running on top of decentralised probabilistic protocols supporting scalable group communication. This is achieved by a general two‐layered architecture that can be applied on top of the standard Internet communication layers and offers a modular, layered set of services to the applications that need them. Further, we present afault‐tolerantmethod implementing causal cluster consistency with predictable reliability, running on top of decentralised probabilistic protocols supporting group communication. This paper provides analytical and experimental evaluation of the properties regarding the fault tolerance of the approach. Furthermore, our experimental study, conducted by implementing and evaluating the two‐layered architecture on top of standard Internet transport services, shows that the approach scales well, imposes an even load on the system, and provides high‐probability reliability guarantees. Copyright © 2011 John Wiley & Sons, Ltd.
Anders Gidenstam, Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
Concurr. Comput. Pract. Exp.4
2013 Supporting Lock-Free Composition of Concurrent Data Objects: Moving Data between Containers
abstract
Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks, priority inversion, and convoying. They have also been shown to work well in practice. However, composing the operations they provide into larger atomic operations, while still guaranteeing efficiency and lock-freedom, is a challenging algorithmic task. We present a lock-free methodology for composing a wide variety of concurrent linearizable objects together by unifying their linearization points. This makes it possible to relatively easily introduce atomic lock-free move operations to a wide range of concurrent lock-free containers. This move operation allows data to be transferred from one container to another, in a lock-free way, without blocking any of the operations supported by the original container. For a data object to be suitable for composition using our methodology it needs to fulfill a set of requirements. These requirement are, however, generic enough to be fulfilled by a large set of objects. To show this we have performed case studies on six commonly used lock-free objects (a stack, a queue, a skip list, a deque, a doubly linked list and a hash table) to demonstrate the general applicability of the methodology. We also show that the operations originally supported by the data objects keep their performance behavior under our methodology.
Daniel Cederman, Philippas Tsigas
IEEE Trans. Computers2
2012 Understanding the Performance of Concurrent Data Structures on Graphics Processors
Daniel Cederman, Bapi Chatterjee, Philippas Tsigas
Euro-Par3
2012 Self-stabilizing (k, r)-Clustering in Clock Rate-Limited Systems
Andreas Larsson 0001, Philippas Tsigas
SIROCCO2
2012 Brief Announcement: KARYON: Towards Safety Kernels for Cooperative Vehicular Systems
António Casimiro, Jörg Kaiser, Elad Michael Schiller, Philippas Tsigas, José Parizi, Rolf Johansson 0002, Renato Librino
SSS5
2012 Autonomous TDMA Alignment for VANETs
abstract
The problem of local clock synchronization is studied in the context of media access control (MAC) protocols, such as time division multiple access (TDMA), for dynamic and wireless ad hoc networks. In the context of TDMA, local pulse synchronization mechanisms let neighboring nodes align the timing of their packet transmissions, and by that avoid transmission interferences between consecutive timeslots. Existing implementations for Vehicular Ad-Hoc Networks (VANETs) assume the availability of common (external) sources of time, such as base-stations or geographical positioning systems (GPS). This work is the first to consider autonomic design criteria, which are imperative when no common time sources are available, or preferred not to be used, due to their cost and signal loss. We present self-*pulse synchronization strategies. Their implementing algorithms consider the effects of communication delays and transmission interferences. We demonstrate the algorithms via extensive simulations in different settings including node mobility. We also validate these simulations in the MicaZ platform, whose native clocks are driven by inexpensive crystal oscillators. The results imply that the studied algorithms can facilitate autonomous TDMA protocols for VANETs.
Mohamed Mustafa, Marina Papatriantafilou, Elad Michael Schiller, Amir Tohidi, Philippas Tsigas
VTC Fall5
2012 An Evaluation of Community Detection Algorithms on Large-Scale Email Traffic
Farnaz Moradi 0001, Tomas Olovsson, Philippas Tsigas
SEA3
2012 Mitigating Distributed Denial of Service Attacks in Multiparty Applications in the Presence of Clock Drifts
abstract
Network-based applications commonly open some known communication port(s), making themselves easy targets for (distributed) Denial of Service (DoS) attacks. Earlier solutions for this problem are based on port-hopping between pairs of processes which are synchronous or exchange acknowledgments. However, acknowledgments, if lost, can cause a port to be open for longer time and thus be vulnerable, while time servers can become targets to DoS attack themselves. Here, we extend port-hopping to support multiparty applications, by proposing the BIGWHEEL algorithm, for each application server to communicate with multiple clients in a port-hopping manner without the need for group synchronization. Furthermore, we present an adaptive algorithm, HOPERAA, for enabling hopping in the presence of bounded asynchrony, namely, when the communicating parties have clocks with clock drifts. The solutions are simple, based on each client interacting with the server independently of the other clients, without the need of acknowledgments or time server(s). Further, they do not rely on the application having a fixed port open in the beginning, neither do they require the clients to get a "first-contact” port from a third party. We show analytically the properties of the algorithms and also study experimentally their success rates, confirm the relation with the analytical bounds.
Zhang Fu, Marina Papatriantafilou, Philippas Tsigas
IEEE Trans. Dependable Secur. Comput.3
2011 Progress Guarantees When Composing Lock-Free Objects
Nhan Nguyen Dang, Philippas Tsigas
Euro-Par (2)2
2011 A Self-stabilizing (k, r)-clustering Algorithm with Multiple Paths for Wireless Ad-hoc Networks
abstract
Wireless Ad-hoc networks are distributed systems that often reside in error-prone environments. Self-stabilization lets the system recover autonomously from an arbitrary state, making the system recover from errors and temporarily broken assumptions. Clustering nodes within ad-hoc networks can help forming backbones, facilitating routing, improving scaling, aggregating information, saving power and much more. We present the first self-stabilizing distributed (k,r)-clustering algorithm. A (k,r)-clustering assigns k cluster heads within r communication hops for all nodes in the network while trying to minimize the total number of cluster heads. The algorithm uses synchronous communication rounds and uses multiple paths to different cluster heads for improved security, availability and fault tolerance. The algorithm assigns, when possible, at least k cluster heads to each node within O(r) rounds from an arbitrary configuration. The set of cluster heads stabilizes, with high probability, to a local minimum within O(gr log n) rounds, where n is the size of the network and g is an upper bound on the number of nodes within 2r hops.
Andreas Larsson 0001, Philippas Tsigas
ICDCS2
2011 A lock-free algorithm for concurrent bags
abstract
A lock-free bag data structure supporting unordered buffering is presented in this paper. The algorithm supports multiple producers and multiple consumers, as well as dynamic collection sizes. To handle concurrency efficiently, the algorithm was designed to thrive for disjoint-access-parallelism for the supported semantics. Therefore, the algorithm exploits a distributed design combined with novel techniques for handling concurrent modifications of linked lists using double marks, detection of total emptiness, and efficient memory management with hazard pointer handover. Experiments on a 24-way multi-core platform show significantly better performance for the new algorithm compared to previous algorithms of relevance.
Håkan Sundell, Anders Gidenstam, Marina Papatriantafilou, Philippas Tsigas
SPAA4
2011 Secure and self-stabilizing clock synchronization in sensor networks
Jaap-Henk Hoepman, Andreas Larsson 0001, Elad Michael Schiller, Philippas Tsigas
Theor. Comput. Sci.4
2010 Cache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency
Anders Gidenstam, Håkan Sundell, Philippas Tsigas
OPODIS3
2010 Self-stabilizing (k, r)-Clustering in Wireless Ad-hoc Networks with Multiple Paths
Andreas Larsson 0001, Philippas Tsigas
OPODIS2
2010 Supporting lock-free composition of concurrent data objects
abstract
Lock-free data objects offer several advantages over their blocking counterparts, such as being immune to deadlocks and convoying and, more importantly, being highly concurrent. But they share a common disadvantage in that the operations they provide are difficult to compose into larger atomic operations while still guaranteeing lock-freedom. We present a lock-free methodology for composing highly concurrent linearizable objects together by unifying their linearization points. This makes it possible to relatively easily introduce atomic lock-free move operations to a wide range of concurrent objects. Experimental evaluation has shown that the operations originally supported by the data objects keep their performance behavior under our methodology.
Daniel Cederman, Philippas Tsigas
PPoPP2
2010 NBmalloc: Allocating Memory in a Lock-Free Manner
abstract
Efficient, scalable memory allocation for multithreaded applications on multiprocessors is a significant goal of recent research. In the distributed computing literature it has been emphasized that lock-based synchronization and concurrency-control may limit the parallelism in multiprocessor systems. Thus, system services that employ such methods can hinder reaching the full potential of these systems. A natural research question is the pertinence and the impact of lock-free concurrency control in key services for multiprocessors, such as in the memory allocation service, which is the theme of this work. We show the design and implementation of NBmalloc , a lock-free memory allocator designed to enhance the parallelism in the system. The architecture of NBmalloc is inspired by Hoard, a well-known concurrent memory allocator, with modular design that preserves scalability and helps avoiding false-sharing and heap-blowup. Within our effort to design appropriate lock-free algorithms for NBmalloc , we propose and show a lock-free implementation of a new data structure, flat-set, supporting conventional “internal” set operations as well as “inter-object” operations, for moving items between flat-sets. The design of NBmalloc also involved a series of other algorithmic problems, which are discussed in the paper. Further, we present the implementation of NBmalloc and a study of its behaviour in a set of multiprocessor systems. The results show that the good properties of Hoard w.r.t. false-sharing and heap-blowup are preserved.
Anders Gidenstam, Marina Papatriantafilou, Philippas Tsigas
Algorithmica3
2010 Game authority for robust and scalable distributed selfish-computer systems
abstract
Distributed algorithm designers often assume that system processes execute the same predefined software. Alternatively, when they do not assume that, designers turn to non-cooperative games and seek an outcome that corresponds to a rough consensus when no coordination is allowed. We argue that both assumptions are inapplicable in many real distributed systems, e.g., the Internet, and propose designing self-stabilizing and Byzantine fault-tolerant distributed game authorities. Once established, the game authority can secure the execution of any complete information game. As a result, we reduce costs that are due to the processes’ freedom of choice. Namely, we reduce the price of malice.
Shlomi Dolev, Elad Michael Schiller, Paul G. Spirakis, Philippas Tsigas
Theor. Comput. Sci.4
2010 The Synchronization Power of Coalesced Memory Accesses
abstract
Multicore architectures have established themselves as the new generation of computer architectures. As part of the one core to many cores evolution, memory access mechanisms have advanced rapidly. Several new memory access mechanisms have been implemented in many modern commodity multicore architectures. By specifying how processing cores access shared memory, memory access mechanisms directly influence the synchronization capabilities of multicore architectures. Therefore, it is crucial to investigate the synchronization power of these new memory access mechanisms. This paper investigates the synchronization power of coalesced memory accesses, a family of memory access mechanisms introduced in recent large multicore architectures such as the Compute Unified Device Architecture (CUDA). We first define three memory access models to capture the fundamental features of the new memory access mechanisms. Subsequently, we prove the exact synchronization power of these models in terms of their consensus numbers. These tight results show that the coalesced memory access mechanisms can facilitate strong synchronization between the threads of multicore architectures, without the need of synchronization primitives other than reads and writes. In the case of the contemporary CUDA processors, our results imply that the coalesced memory access mechanisms have consensus numbers up to 64.
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
IEEE Trans. Parallel Distributed Syst.2
2009 NB-FEB: A Universal Scalable Easy-to-Use Synchronization Primitive for Manycore Architectures
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
OPODIS2
2009 Preliminary results on nb-feb, a synchronization primitive for parallel programming
abstract
We introduce a non-blocking full/empty bit primitive, or NB-FEB for short, as a promising synchronization primitive for parallel programming on may-core architectures. We show that the NB-FEB primitive is universal, scalable and feasible. NB-FEB, together with registers, can solve the consensus problem for an arbitrary number of processes (universality). NB-FEB is combinable, namely its memory requests to the same memory location can be combined into only one memory request, which consequently mitigates performance degradation due to synchronization "hot spots" (scalability). Since NB-FEB is a variant of the original full/empty bit that always returns a value instead of waiting for a conditional flag, it is as feasible as the original full/empty bit, which has been implemented in many computer systems (feasibility).
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
PPoPP2
2009 Online Search with Time-Varying Price Bounds
Peter Damaschke, Phuong Hoai Ha, Philippas Tsigas
Algorithmica3
2009 Efficient and Reliable Lock-Free Memory Reclamation Based on Reference Counting
abstract
We present an efficient and practical lock-free method for semiautomatic (application-guided) memory reclamation based on reference counting, aimed for use with arbitrary lock-free dynamic data structures. The method guarantees the safety of local as well as global references, supports arbitrary memory reuse, uses atomic primitives that are available in modern computer systems, and provides an upper bound on the amount of memory waiting to be reclaimed. To the best of our knowledge, this is the first lock-free method that provides all of these properties. We provide analytical and experimental study of the method. The experiments conducted have shown that the method can also provide significant performance improvements for lock-free algorithms of dynamic data structures that require strong memory management.
Anders Gidenstam, Marina Papatriantafilou, Håkan Sundell, Philippas Tsigas
IEEE Trans. Parallel Distributed Syst.4
2008 Evaluating motion constraints for 3D wayfinding in immersive and desktop virtual environments
abstract
Motion constraints providing guidance for 3D navigation have recently been suggested as a way of offloading some of the cognitive effort of traversing complex 3D environments on a computer. We present findings from an evaluation of the benefits of this practice where users achieved significantly better results in memory recall and performance when given access to such a guidance method. The study was conducted on both standard desktop computers with mouse and keyboard, as well as on an immersive CAVE system. Interestingly, our results also show that the improvements were more dramatic for desktop users than for CAVE users, even outperforming the latter. Furthermore, the study indicates that allowing the users to retain local control over the navigation on the desktop platform helps them in familiarizing themselves with the 3D world.
Niklas Elmqvist, M. Eduard Tudoreanu, Philippas Tsigas
CHI3
2008 A Practical Quicksort Algorithm for Graphics Processors
Daniel Cederman, Philippas Tsigas
ESA2
2008 Wait-free Programming for General Purpose Computations on Graphics Processors
abstract
The fact that graphics processors (GPUs) are today’s most powerful computational hardware for the dollar has motivated researchers to utilize the ubiquitous and powerful GPUs for general-purpose computing. Recent GPUs feature the single-program multiple-data (SPMD) multicore architecture instead of the single-instruction multiple-data (SIMD). However, unlike CPUs, GPUs devote their transistors mainly to data processing rather than data caching and flow control, and consequently most of the powerful GPUs with many cores do not support any synchronization mechanisms between their cores. This prevents GPUs from being deployed more widely for general-purpose computing. This paper aims at bridging the gap between the lack of synchronization mechanisms in recent GPU architectures and the need of synchronization mechanisms in parallel applications. Based on the intrinsic features of recent GPU architectures, we construct strong synchronization objects like wait-free and t-resilient read-modify-write objects for a general model of recent GPU architectures without strong hardware synchronization primitives like test-and-set and compare-and-swap. Accesses to the wait-free objects have time complexity O(N), whether N is the number of processes. Our result demonstrates that it is possible to construct wait-free synchronization mechanisms for GPUs without the need of strong synchronization primitives in hardware and that wait-free programming is possible for GPUs.
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
IPDPS2
2008 Wait-free programming for general purpose computations on graphics processors
abstract
This paper aims at bridging the gap between the lack of synchronization mechanisms in recent graphics processor (GPU) architectures and the need of synchronization mechanisms in parallel applications. Based on the intrinsic features of recent GPU architectures, we construct strong synchronization objects like wait-free and t-resilient read-modify-write objects for a general model of recent GPU architectures without strong hardware synchronization primitives like test-and-set and compare-and-swap. Accesses to the new wait-free objects have time complexity O(N), where N is the number of concurrent processes. The wait-free objects have space complexity O(N2), which is optimal. Our result demonstrates that it is possible to construct wait-free synchronization mechanisms for GPUs without the need of strong synchronization primitives in hardware and that wait-free programming is possible for GPUs.
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
PODC2
2008 Mitigating Distributed Denial of Service Attacks in Multiparty Applications in the Presence of Clock Drifts
abstract
A weak point in network-based applications is that they commonly open some known communication port(s), making themselves targets for denial of service (DoS) attacks. Considering adversaries that can eavesdrop and launch directed DoS attacks to the applications' open ports, solutions based on pseudo-random port-hopping have been suggested. As port-hopping needs that the communicating parties hop in a synchronized manner, these solutions suggest acknowledgment-based protocols between a client-server pair or assume the presence of synchronized clocks. Acknowledgments, if lost, can cause a port to be open for a longer time and thus be vulnerable to DoS attacks; Time servers for synchronizing clocks can become targets to DoS attack themselves. Here we study the case where the communicating parties have clocks with rate drift, which is common in networking. We propose an algorithm, BigWheel, for servers to communicate with multiple clients in a port-hopping manner, thus enabling support to multi-party applications as well. The algorithm does not rely on the server having a fixed port open in the beginning, neither does it require from the client to get a "first-contact" port from a third party. We also present an adaptive algorithm, HoPerAA, for hopping in the presence of clock-drift, as well as the analysis and evaluation of the methods. The solutions are simple, based on each client interacting with the server independently of the other clients, without the need of acknowledgments or time server. Provided that one has an estimation of the time it takes for the adversary to detect that a port is open and launch an attack, the method we propose doesnot make it possible to the eavesdropping adversary to launch an attack directed to the application's open port(s).
Zhang Fu, Marina Papatriantafilou, Philippas Tsigas
SRDS3
2008 The Synchronization Power of Coalesced Memory Accesses
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus
DISC2
2008 Lock-free deques and doubly linked lists
Håkan Sundell, Philippas Tsigas
J. Parallel Distributed Comput.2
2008 A Taxonomy of 3D Occlusion Management for Visualization
abstract
While an important factor in depth perception, the occlusion effect in 3D environments also has a detrimental impact on tasks involving discovery, access, and spatial relation of objects in a 3D visualization. A number of interactive techniques have been developed in recent years to directly or indirectly deal with this problem using a wide range of different approaches. In this paper, we build on previous work on mapping out the problem space of 3D occlusion by defining a taxonomy of the design space of occlusion management techniques in an effort to formalize a common terminology and theoretical framework for this class of interactions. We classify a total of 50 different techniques for occlusion management using our taxonomy and then go on to analyze the results, deriving a set of five orthogonal design patterns for effective reduction of 3D occlusion. We also discuss the "gaps" in the design space, areas of the taxonomy not yet populated with existing techniques, and use these to suggest future research directions into occlusion management.
Niklas Elmqvist, Philippas Tsigas
IEEE Trans. Vis. Comput. Graph.2
2007 Topic 8 Distributed Systems and Algorithms
Luís E. T. Rodrigues, Achour Mostéfaoui, Christof Fetzer, Philippas Tsigas
Euro-Par4
2007 Employing Dynamic Transparency for 3D Occlusion Management: Design Issues and Evaluation
abstract
Recent developments in occlusion management for 3D environments often involve the use of dynamic transparency, or virtual “X-ray vision”, to promote target discovery and access in complex 3D worlds. However, there are many different approaches to achieving this effect and their actual utility for the user has yet to be evaluated. Furthermore, the introduction of semi-transparent surfaces adds additional visual complexity that may actually have a negative impact on task performance. In this paper, we report on an empirical user study comparing dynamic transparency to standard viewpoint controls. Our implementation of the technique is an image-space algorithm built using modern programmable shaders to achieve real-time performance and visually pleasing results. Results from the user study indicate that dynamic transparency is superior for perceptual tasks in terms of both efficiency and correctness. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Niklas Elmqvist, Ulf Assarsson, Philippas Tsigas
INTERACT (1)3
2007 Game authority for robust andscalable distributed selfish-computer systems
Shlomi Dolev, Elad Michael Schiller, Paul G. Spirakis, Philippas Tsigas
PODC4
2007 Secure and Self-stabilizing Clock Synchronization in Sensor Networks
Jaap-Henk Hoepman, Andreas Larsson 0001, Elad Michael Schiller, Philippas Tsigas
SSS4
2007 TrustNeighborhoods: Visualizing Trust in Distributed File Sharing Systems
abstract
We present TrustNeighborhoods, a security trust visualization for situational awareness on the Internet aimed at novice and intermediate users of a distributed file sharing system. The TrustNeighborhoods technique uses the metaphor of a multi-layered city or fortress to intuitively represent trust as a simple geographic relation. The visualization uses a radial space-filling layout; there is a 2D mode for editing and configuration, as well as a 3D mode for exploration and overview. In addition, the 3D mode supports a simple animated "fly-to" command that is intended to show the user the context and trust of a particular document by zooming in on the document and its immediate neighborhood in the 3D city. The visualization is intended for integration into an existing desktop environment, connecting to the distributed file sharing mechanisms of the environment and non-obtrusively displaying a 3D orientation animation in the background for any file being accessed over the network. A formal user study shows that the technique supports significantly higher trust assignment accuracy than manual trust assignment at the cost of only a minor time investment.
Niklas Elmqvist, Philippas Tsigas
EuroVis2
2007 A Taxonomy of 3D Occlusion Management Techniques
abstract
While an important factor in depth perception, the occlusion effect in 3D environments also has a detrimental impact on tasks involving discovery, access, and spatial relation of objects in a 3D visualization. A number of interactive techniques have been developed in recent years to directly or indirectly deal with this problem using a wide range of different approaches. In this paper, we build on previous work on mapping out the problem space of 3D occlusion by defining a taxonomy of the design space of occlusion management techniques in an effort to formalize a common terminology and theoretical framework for this class of interactions. We classify a total of 25 different techniques for occlusion management using our taxonomy and then go on to analyze the results, deriving a set of five orthogonal design patterns for effective reduction of 3D occlusion. We also discuss the "gaps" in the design space, areas of the taxonomy not yet populated with existing techniques, and use these to suggest future research directions into occlusion management.
Niklas Elmqvist, Philippas Tsigas
VR2
2007 Tour generation for exploration of 3D virtual environments
abstract
Navigation in complex and large-scale 3D virtual environments has been shown to be a difficult task, imposing a high cognitive load on the user. In this paper, we present a comprehensive method for assisting users in exploring and understanding such 3D worlds. The method consists of two distinct phases: an off-line computation step deriving a grand tour using the world geometry and any semantic target information as input, and an on-line interactive navigation step providing guided exploration and improved spatial perception for the user. The former phase is based on a voxelized version of the geometrical dataset that is used to compute a connectivity graph for use in a TSP-like formulation of the problem. The latter phase takes the output tour from the off-line step as input for guiding 3D navigation through the environment.
Niklas Elmqvist, M. Eduard Tudoreanu, Philippas Tsigas
VRST3
2007 View-projection animation for 3D occlusion management
abstract
Inter-object occlusion is inherent to 3D environments and is one of the challenges of using 3D instead of 2D computer graphics for visualization. Based on an analysis of this effect, we present an interaction technique for view-projection animation that reduces inter-object occlusion in 3D environments without modifying the geometrical properties of the objects themselves. The technique allows for smooth on-demand animation between parallel and perspective projection modes as well as online manipulation of view parameters, enabling the user to quickly and easily adapt the view to reduce occlusion. A user study indicates that the technique provides many of the occlusion reduction benefits of traditional camera movement, but without the need to actually change the viewpoint. We have also implemented a prototype of the technique in the Blender 3D modeler.
Niklas Elmqvist, Philippas Tsigas
Comput. Graph.2
2007 Self-tuning reactive diffracting trees
Phuong Hoai Ha, Marina Papatriantafilou, Philippas Tsigas
J. Parallel Distributed Comput.3
2007 Efficient self-tuning spin-locks using competitive analysis
Phuong Hoai Ha, Marina Papatriantafilou, Philippas Tsigas
J. Syst. Softw.3
2006 View projection animation for occlusion reduction
abstract
Inter-object occlusion is inherent to 3D environments and is one of the challenges of using 3D instead of 2D computer graphics for information visualization. In this paper, we examine this occlusion problem by building a theoretical framework of its causes and components. As a result of this analysis, we present an interaction technique for view projection animation that reduces inter-object occlusion in 3D environments without modifying the geometrical properties of the objects themselves. The technique provides smooth on-demand animation between parallel and perspective projection modes as well as online manipulation of view parameters, allowing the user to quickly and easily adapt the view to avoid occlusion. A user study indicates that the technique significantly improves object discovery over normal perspective views. We have also implemented a prototype of the technique in the Blender 3D modeller.
Niklas Elmqvist, Philippas Tsigas
AVI2
2006 Competitive Freshness Algorithms for Wait-Free Data Objects
Peter Damaschke, Phuong Hoai Ha, Philippas Tsigas
Euro-Par3
2006 LYDIAN: An extensible educational animation environment for distributed algorithms
abstract
LYDIAN is an environment to support the teaching and learning of distributed algorithms. It provides a collection of distributed algorithms as well as continuous animations. Users can combine algorithms and animations with arbitrary network structures defining the interconnection and behavior of the distributed algorithm. Further, it facilitates the creation of algorithm descriptions as well as the creation of network structures. This makes LYDIAN a flexible tool to be used with students with different skills and backgrounds. This article gives an overview about various ideas and concepts behind LYDIAN by describing in detail the framework for an educational visualization and simulation environment for learning/teaching distributed algorithms as well as discussing possible extensions, which may improve possibilities for user interaction. Moreover, in our effort to understand better what visualization and simulation environments, such as LYDIAN, need to provide, we show results taken from a case study integrating LYDIAN in an undergraduate distributed-systems course.
Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
ACM J. Educ. Resour. Comput.3
2005 Allocating Memory in a Lock-Free Manner
Anders Gidenstam, Marina Papatriantafilou, Philippas Tsigas
ESA3
2005 Dynamic and Fault-tolerant Cluster Management
abstract
Recent decentralised event-based systems have focused on providing event delivery which scales with increasing number of processes. While the main focus of research has been on ensuring that processes maintain only a small amount of information on maintaining membership and routing, an important factor in achieving scalability for event-based peer-to-peer dissemination system is the number of events disseminated at the same time. This work presents a dynamic and fault tolerant cluster management method which can be used to coordinate concurrent access to resources in a peer-to-peer system. In the context of event-based dissemination systems the cluster management can be used to control the number of concurrently disseminated events. We present and analyse an algorithm implementing the proposed cluster management model in a fault-tolerant and decentralised way. The algorithm provides for each cluster a limited set of tickets. A process which has obtained a ticket may send events corresponding to the resources of the cluster. The algorithm guarantees that no two processes ever issue an event corresponding to the same ticket at the same time. The cluster management model on its own has interesting properties which can be useful for many peer-to-peer applications.
Anders Gidenstam, Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
Peer-to-Peer Computing4
2005 Efficient multi-word locking using randomization
abstract
In this paper we examine the general multi-word lock problem, where processes are allowed to multilock arbitrary registers. Aiming for a highly efficient solution we propose a randomized algorithm which successfully breaks long dependency chains, the crucial factor for slowing down an execution. In the analysis we focus on the 2-word lock problem and show that in this special case an execution of our algorithm takes with high probability at most time O( ∆ 3 log n / log log n), where n is the number of registers and ∆ the maximal number of processes interested in the same register (the contention). Furthermore, we implemented our algorithm for the general multi-word lock problem on an SGI Origin2000 machine, demonstrating that our algorithm is not only of theoretical interest.
Phuong Hoai Ha, Philippas Tsigas, Mirjam Wattenhofer, Roger Wattenhofer
PODC2
2005 Fast and lock-free concurrent priority queues for multi-thread systems
Håkan Sundell, Philippas Tsigas
J. Parallel Distributed Comput.2
2004 Multi-word Atomic Read/Write Registers on Multiprocessor Systems
Andreas Larsson 0001, Anders Gidenstam, Phuong Hoai Ha, Marina Papatriantafilou, Philippas Tsigas
ESA5
2004 Self-tuning Reactive Distributed Trees for Counting and Balancing
Phuong Hoai Ha, Marina Papatriantafilou, Philippas Tsigas
OPODIS3
2004 Lock-Free and Practical Doubly Linked List-Based Deques Using Single-Word Compare-and-Swap
Håkan Sundell, Philippas Tsigas
OPODIS2
2003 Integrating a simulation-visualisation environment in a basic distributed systems course: a case study using LYDIAN
abstract
Distributed algorithms can be difficult to understand as well as to teach. A way to provide students with an experience of the execution of a distributed algorithm is the use of a simulation-visualisation environment. In this work we present a case study of integrating a simulation-visualisation environment into a distributed system course. We evaluate a distributed system assignment in which students used LYDIAN, an extensible library for distributed algorithms and animations, to implement their algorithms. In our study neither the teachers nor the students had earlier class experience with LYDIAN. The feedback received gives valuable information on what simulation-visualisation environments for distributed algorithms need to provide in order to be successfully used in class. We are not aware of any similar study in the area of distributed computing. However, the feedback we have received shows the significance of such evaluations to help users improve their performance and help them to acknowledge the wealth of tools they are provided.
Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
ITiCSE3
2002 Self-Stabilization of Wait-Free Shared Memory Objects
Jaap-Henk Hoepman, Marina Papatriantafilou, Philippas Tsigas
J. Parallel Distributed Comput.3
2002 Distributed Long-Lived List Colouring: How to Dynamically Allocate Frequencies in Cellular Networks
Naveen Garg 0001, Marina Papatriantafilou, Philippas Tsigas
Wirel. Networks3
2001 Using actors in an interactive animation in a graduate course on distributed system
abstract
We describe and evaluate an experiment where actors were used to simulate the behaviour of processes in a distributed system in order to explain the concept of self-stabilisation in a graduate course on distributed systems.A self-stabilising system is one that ensures that the system's behaviour eventually stabilises to a safe subset of states regardless of the initial state. Protocols satisfying this elegant property, which enables a system to recover from transient failures that can alter the state of the system, are often hard to understand, especially for students that have not studied distributed computing and systems before.The experiment was part of an introductory course on distributed computing and systems for graduates in October 2000. The purpose of this interactive animation was to introduce to the students the basic concepts behind self-stabilisation (eligible states, transient faults, execution convergence) before their formal introduction.All of the students had a degree either in mathematics or computing science and had taken a course on algorithms before. However, most of the students did not have a background in distributed systems or distributed algorithms. The latter was not only the motivation for preparing this method of presentation but also what made this a challenging effort.The feedback from the class was that the concept and this teaching method were very well received. We could observe that their understanding evolved to the point that they were able to successfully come up with ideas for solutions and argue for/prove their correctness. As suggested in [1], dramatisation of executions can help the students to understand new issues and complications. This work shows that this is true even for graduate level courses. In our experiment we could conclude that dramatisation can be almost as powerful as a programming exercise in the teaching process; sometimes even more efficient, especially when we need to teach new concepts to an audience with diverse educational backgrounds. In analysing the results of our method we make a combination of the qualitative and quantitative approaches [4].
Boris Koldehofe, Philippas Tsigas
ITiCSE2
2001 A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems
abstract
A non-blocking FIFO queue algorithm for multiprocessor shared memory systems is presented in this paper. The algorithm is very simple, fast and scales very well in both symmetric and non-symmetric multiprocessor shared memory systems. Experiments on a 64-node SUN Enterprise 10000 — a symmetric multiprocessorsystem — and on a 64-node SGI Origin 2000 — a cache coherent non uniform memory access multiprocessorsystem — indicate that our algorithm considerably outperforms the best of the known alternatives in both multiprocessors in any level of multiprogramming. This work introduces two new, simple algorithmic mechanisms. The first lowers the contention to key variables used by the concurrent enqueue and/or dequeue operations which consequently results in the good performance of the algorithm, the second deals with the pointer recycling problem, an inconsistency problem that all non-blocking algorithms based on the compare-and-swap synchronisation primitive have to address. In our construction we selected to use compare-and-swap since compare-and-swap is an atomic primitive that scales well under contention and either is supported by modern multiprocessors or can be implemented efficiently on them.
Philippas Tsigas, Yi Zhang 0004
SPAA1
2000 LYDIAN (poster session): an extensible educational animation environment for distributed algorithms
abstract
No abstract available.
Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
ITiCSE3
2000 A simple and fast Wait-Free Snapshot Algorithm for Real-Time Systems
Håkan Sundell, Philippas Tsigas, Yi Zhang 0004
OPODIS2
2000 Wait-Free Handshaking Using Rainbow Colouring
abstract
The construction of shared data objects is a fundamental issue in asynchronous concurrent systems, since these objects provide the means for communication and synchronization between processes. Constructions which guarantee that concurrent access to the shared object by processes is free from waiting are of particular interest, since they help to increase the amount of parallelism and to provide fault-tolerance. The problem of constructing a $k$-valued wait-free shared register out of binary subregisters of the same type, where each write access consists of one subwrite (constructions with one-write) is important, since it lies at the heart of studying lower bounds of the complexities of register constructions and trade-offs between them. The first such construction was for the safe register case; it uses $k$ binary safe registers and exploits the properties of a rainbow colouring function of a hypercube graph. The best known construction for the regular (atomic) case uses ${k \choose 2}$ binary regular (resp. atomic) registers, while if the one-write requirement is lifted, there exists a construction that uses $4 (\log k+1)$ binary registers. Here we show how rainbow colouring can be extended to simulate handshaking between the reader and the writer of the register, thus offering a wait-free solution for the atomic case with one reader, using only $3k-2$ binary registers. The best known lower bound for such a construction is $k-1$.
Marina Papatriantafilou, Philippas Tsigas
Comput. J.2
1999 Distributed algorithms visualisation for educational purposes
abstract
We present our work on building interactive continuous visualisations of distributed algorithms for educational purposes. The animations are comprised by a set of visualisation windows. The visualisation windows are designed so that they demonstrate i) the different behaviours of the algorithms while running in different systems, ii) the different behaviours that the algorithms exhibit under different timing and workload of the system iii) the time and space complexities of the algorithms and iv) the "key ideas" of the functionality of the algorithms. Visualisations have been written for a set of lO algorithms that are tought in a Distributed Algorithms advanced undergraduate course.
Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
ITiCSE3
1998 Building animations of distributed algorithms for educational purposes (poster)
abstract
No abstract available.
Boris Koldehofe, Marina Papatriantafilou, Philippas Tsigas
ITiCSE3
1998 Randomized Naming Using Wait-Free Shared Variables
Alessandro Panconesi, Marina Papatriantafilou, Philippas Tsigas, Paul M. B. Vitányi
Distributed Comput.3
1997 On Distributed Resource Handling: Dining, Drinking and Mobile Philosophers
Marina Papatriantafilou, Philippas Tsigas
OPODIS2
1996 Simple Atomic Snapshots: A Linear Complexity Solution with Unbounded Time-Stamps
abstract
Let X1,…,Xc be variables which together constitute a composite register. These variables are shared by a number of processes which operate in a totally asynchronous and wait-free manner. An operation by a process on the composite register is either a write to one of the variables or a read of the values of all variables. All operations are required to be atomic, i.e. an execution of any number of them (including reads) must be linearizable, in a way consistent with the values returned by the reads. In a single reader composite register no two reads can concurrently access the composite register. We give a new protocol implementing a single reader composite register for the case when there is a single writer per variable. Our construction uses time-stamps that may take values as large as the number of operations performed. The advantages of our construction over previous (bounded time-stamps) solutions are: (i) Both the protocol and its formal correctness proof are easy to understand. (ii) The time complexity of an operation of our construction (i.e. the number of its sub-operations) and the number of the subregisters used in our construction are at most equal to the number of processes that can concurrently access the composite register.
Lefteris M. Kirousis, Paul G. Spirakis, Philippas Tsigas
Inf. Process. Lett.3
1994 Randomized Wait-Free Naming
Alessandro Panconesi, Marina Papatriantafilou, Philippas Tsigas, Paul M. B. Vitányi
ISAAC3
1994 How a Rainbow Coloring Function Can Simulate Wait-Free Handshaking
Marina Papatriantafilou, Philippas Tsigas
MFCS2
1994 Reading Many Variables in One Atomic Operation: Solutions with Linear or Sublinear Complexity
abstract
We address the problem of reading several variables (components) X/sub 1/,...,X/sub c/, all in one atomic operation, by only one process, called the reader, while each of these variables are being written by a set of writers. All operations (i.e., both reads and writes) are assumed to be totally asynchronous and wait-free. For this problem, only algorithms that require at best quadratic time and space complexity can be derived from the existing literature. (The time complexity of a construction is the number of suboperations of a high-level operation and its space complexity is the number of atomic shared variables it needs) In this paper, we provide a deterministic protocol that has linear (in the number of processes) space complexity, linear time complexity for a read operation, and constant time complexity for a write. Our solution does not make use of time-stamps. Rather, it is the memory location where a write writes that differentiates it from the other writes. Also, introducing randomness in the location where the reader gets the value that it returns, we get a conceptually very simple probabilistic algorithm. This algorithm has an overwhelmingly small, controllable probability of error. Its space complexity, and also the time complexity of a read operation, are sublinear. The time complexity of a write is constant. On the other hand, under the Archimedean time assumption, we get a protocol whose time and space complexity do not depend on the number of writers, but are linear in the number of components only. (The time complexity of a write operation is still constant.).>
Lefteris M. Kirousis, Paul G. Spirakis, Philippas Tsigas
IEEE Trans. Parallel Distributed Syst.3