Change search
ReferencesLink to record
Permanent link

Direct link
Programming Model and Protocols for Reconfigurable Distributed Systems
KTH, School of Information and Communication Technology (ICT), Software and Computer systems, SCS.
2013 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Distributed systems are everywhere. From large datacenters to mobile devices, an ever richer assortment of applications and services relies on distributed systems, infrastructure, and protocols. Despite their ubiquity, testing and debugging distributed systems remains notoriously hard. Moreover, aside from inherent design challenges posed by partial failure, concurrency, or asynchrony, there remain significant challenges in the implementation of distributed systems. These programming challenges stem from the increasing complexity of the concurrent activities and reactive behaviors in a distributed system on the one hand, and the need to effectively leverage the parallelism offered by modern multi-core hardware, on the other hand.

This thesis contributes Kompics, a programming model designed to alleviate some of these challenges. Kompics is a component model and programming framework for building distributed systems by composing message-passing concurrent components. Systems built with Kompics leverage multi-core machines out of the box, and they can be dynamically reconfigured to support hot software upgrades. A simulation framework enables deterministic execution replay for debugging, testing, and reproducible behavior evaluation for largescale Kompics distributed systems. The same system code is used for both simulation and production deployment, greatly simplifying the system development, testing, and debugging cycle.

We highlight the architectural patterns and abstractions facilitated by Kompics through a case study of a non-trivial distributed key-value storage system. CATS is a scalable, fault-tolerant, elastic, and self-managing key-value store which trades off service availability for guarantees of atomic data consistency and tolerance to network partitions. We present the composition architecture for the numerous protocols employed by the CATS system, as well as our methodology for testing the correctness of key CATS algorithms using the Kompics simulation framework.

Results from a comprehensive performance evaluation attest that CATS achieves its claimed properties and delivers a level of performance competitive with similar systems which provide only weaker consistency guarantees. More importantly, this testifies that Kompics admits efficient system implementations. Its use as a teaching framework as well as its use for rapid prototyping, development, and evaluation of a myriad of scalable distributed systems, both within and outside our research group, confirm the practicality of Kompics.

Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology, 2013. , xviii, 212 p.
Trita-ICT-ECS AVH, ISSN 1653-6363 ; 13:07
, SICS Dissertation Series, ISSN 1101-1335 ; 62
Keyword [en]
distributed systems, programming model, message-passing concurrency, nested hierarchical composition, reactive components, software architecture, dynamic reconfiguration, multi-core, discrete-event simulation, peer-to-peer, testing, debugging, distributed key-value stores, data replication, consistency, linearizability, network partition tolerance, consistent hashing, self-organization, scalability, elasticity, fault tolerance, consistent quorums
National Category
Computer Systems
URN: urn:nbn:se:kth:diva-122311ISBN: 978-91-7501-694-8OAI: diva2:622008
Public defence
2013-06-05, Sal/Hall D, Forum, KTH-ICT, Isafjordsgatan 39, Kista, 13:00 (English)
Swedish Research Council, 2009-4299

QC 20130520

Available from: 2013-05-20 Created: 2013-05-20 Last updated: 2013-08-16Bibliographically approved

Open Access in DiVA

fulltext(8205 kB)453 downloads
File information
File name FULLTEXT01.pdfFile size 8205 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Arad, Cosmin Ionel
By organisation
Software and Computer systems, SCS
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 453 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 350 hits
ReferencesLink to record
Permanent link

Direct link