Change search
ReferencesLink to record
Permanent link

Direct link
Programming Model and Protocols for Reconfigurable Distributed Systems
RISE, Swedish ICT, SICS. School of Information and Communication Technology.
Number of Authors: 1
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 large-scale 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, Sweden: Universitetsservice US-AB , 2013, 17. , 234 p.
SICS dissertation series, ISSN 1101-1335
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 and Information Science
URN: urn:nbn:se:ri:diva-24202ISBN: 978-91-7501-694-8 (print)OAI: diva2:1043282
Available from: 2016-10-31 Created: 2016-10-31 Last updated: 2016-10-31

Open Access in DiVA

fulltext(9884 kB)10 downloads
File information
File name FULLTEXT01.pdfFile size 9884 kBChecksum SHA-512
Type fulltextMimetype application/pdf
fulltext(4400 kB)6 downloads
File information
File name FULLTEXT02.gzFile size 4400 kBChecksum SHA-512
Type fulltextMimetype application/x-gzip

Other links

By organisation
Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 16 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: 16 hits
ReferencesLink to record
Permanent link

Direct link