Project

Back to overview

TranScale: Towards a principled approach to highly available and scalable systems

English title TranScale: Towards a principled approach to highly available and scalable systems
Applicant Pedone Fernando
Number 175717
Funding scheme Project funding (Div. I-III)
Research institution Istituto di sistemi informatici (SYS) Facoltà di scienze informatiche
Institution of higher education Università della Svizzera italiana - USI
Main discipline Information Technology
Start/End 01.06.2018 - 31.05.2022
Approved amount 650'081.00
Show all

Keywords (4)

Scalable systems; Fault-tolerant systems; High availability; Dependable distributed systems

Lay Summary (Italian)

Lead
Man mano che i servizi online si diffondono, gli utenti hanno aumentato notevolmente le loro aspettative in termini di disponibilità e scalabilità delle applicazioni distribuite. Poiché di solito c'è una forte concorrenza tra i fornitori di servizi, un fornitore, il cui servizio non è disponibile (ad es. a causa di un guasto di un componente) rischia di perdere i propri utenti a beneficio della concorrenza. Di conseguenza, vi è un grande interesse nello sviluppo di tecniche che assicurino che i servizi online siano sempre operativi, nonostante eventuali guasti , e che possano acquisire un numero di utenti in costante aumento. Tecnicamente queste caratteristiche del sistema sono conosciute rispettivamente come alta disponibilità e scalabilità.
Lay summary

L'obiettivo di questo progetto è quello di sviluppare un approccio basato su principi per lo sviluppo di sistemi distribuiti altamente disponibili e scalabili. Il progetto esaminerà le due principali tecniche utilizzate per fornire alta disponibilità e scalabilità, ovvero la replica e il partizionamento. La replica introduce la ridondanza dei dati e della loro elaborazionenelle applicazioni distribuite. Con la replica, le applicazioni possono tollerare il fallimento di alcuni dei loro componenti. Il partizionamento consente alle applicazioni di incrementare il nunmero di utenti grazie all'adattamento di risorse aggiuntive. Ogni nuova partizione aggiunge potenza di elaborazione al  sistema. Pertanto, le partizioni possono essere aggiunte man mano che gli utenti si iscrivono al servizio. Una delle principali sfide del progetto è quella di rendere trasparente agli utenti e agli sviluppatori di applicazioni  la complessità introdotta dalla replica e dal partizionamento.

Progettare servizi online in grado di tollerare guasti e scalare le prestazioni è un tema di ricerca moderno, motivato dal fatto che molte applicazioni attuali devono essere sempre operative e in grado di assorbire un carico sempre crescente. Oltre alla sua rilevanza scientifica, il progetto dovrebbe avere un impatto pratico. Per massimizzare le possibilità di impatto, i membri del progetto collaboreranno con partner industriali. Continueremo una fruttuosa collaborazione con l'industria e pianificheremo l’integrazione delle soluzioni proposte  in sistemi reali. Inoltre, come abbiamo fatto in passato, intendiamo mettere a disposizione in open-source i prototipi sviluppati in questo progetto.

 

Direct link to Lay Summary Last update: 05.07.2018

Responsible applicant and co-applicants

Employees

Associated projects

Number Title Start Funding scheme
169066 Cosmmus 2: an infrastructure for scalable distributed applications 01.10.2016 Project funding (Div. I-III)

Abstract

Many distributed applications have stringent availability and scalability requirements. A highly available application remains operational despite failures; a scalable application can gracefully handle growing amounts of work (e.g., client requests). Designing and implementing systems that both tolerate failures and scale performance is difficult but of utmost importance.State machine replication (SMR) is a well-established approach to designing highly available systems. SMR dictates how client commands must be propagated to and executed by the replicas in order for clients to observe ``single-server behavior" (i.e., strong consistency). In essence, each non-faulty replica must deterministically execute every command in the same order. SMR provides replication transparency for both clients and application programmers. Clients experience intuitive application behavior and programmers can focus on the application's inherent complexity and disregard the complications that replication introduces (e.g., how many replicas must be involved in the execution of a command).SMR provides configurable availability, determined by the number of replicas, but offers limited scalability. Since every replica in the system must execute all commands, performance does not increase with additional replicas. Scalable performance can be achieved in distributed systems with sharding, that is, partitioning and distributing the application state. Just like replication, sharding raises fundamental questions about transparency: Should clients and application programmers be aware that the application state is partitioned? Should clients expect non-intuitive application behavior due to sharding? Should programmers develop applications that account for sharded state?The goal of this project is to develop a principled approach to highly available and scalable distributed systems. The project will investigate techniques that provide replication and partitioning transparency. In the spirit of state machine replication, we posit that clients and application developers should be spared from the complexity introduced by replication and sharding. In order to achieve this goal, the project will tackle four complementary areas, which can be summarized by the following research questions. Although these questions are connected by a unified goal, each question represents a formidable challenge in its own right.- How to execute commands in a sharded and replicated system?- How to order commands in the presence of sharding and replication?- How to partition application state for performance?- How to design applications that are ``partition-friendly"?The rest of this document reviews the state of the art in each of the research topics, describes our contributions towards the project's goals, and detail the problems we intend to tackle and how we plan to reach our goals. This proposal requests funding for four PhD students.
-