Coordination languages for the tuple spaces can o er significant advantages in the specification and implementation of distributed systems. Replication can further improve the performance or robustness of these systems. A possible approach has been proposed to extend the coordination languages with replica-aware primitives. However, this approach relies on the ability of the programmer to specify and coordinate the replication of tuple spaces in order to preserve the desired consistency. Manual exploitation of the o ered replication primitives is expensive and extremely hard. We present a technique that combines static analysis and program transformation for automated replication of tuple spaces. As a starting point, we take goSpace coordination language, an implementation of Klaim in Go programming language, and extend it with the replica-aware tuple manipulation primitives to obtain what we call RepligoSpaces. We also present how a Go program that uses goSpace can be transformed into a program that uses RepligoSpaces while preserving the desired consistency level. This transformation is optimized by statically analysing the data access patterns. Custom static analyses may be plugged in relatively easily in our prototype implementation. We see this as a first step towards developing an integrated framework to experiment with data replication in distributed systems with tuple spaces. Thus, supporting designers for quick prototyping and evaluation of replication schemes. A series of experiments are performed on a case study to show how our approach can be used to design and test replication schemes.
Automated Replication of Tuple Spaces via Static Analysis and Transformation of Go Programs / Uwimbabazi, Aline. - (2022 Sep 07).
Automated Replication of Tuple Spaces via Static Analysis and Transformation of Go Programs
UWIMBABAZI, ALINE
2022-09-07
Abstract
Coordination languages for the tuple spaces can o er significant advantages in the specification and implementation of distributed systems. Replication can further improve the performance or robustness of these systems. A possible approach has been proposed to extend the coordination languages with replica-aware primitives. However, this approach relies on the ability of the programmer to specify and coordinate the replication of tuple spaces in order to preserve the desired consistency. Manual exploitation of the o ered replication primitives is expensive and extremely hard. We present a technique that combines static analysis and program transformation for automated replication of tuple spaces. As a starting point, we take goSpace coordination language, an implementation of Klaim in Go programming language, and extend it with the replica-aware tuple manipulation primitives to obtain what we call RepligoSpaces. We also present how a Go program that uses goSpace can be transformed into a program that uses RepligoSpaces while preserving the desired consistency level. This transformation is optimized by statically analysing the data access patterns. Custom static analyses may be plugged in relatively easily in our prototype implementation. We see this as a first step towards developing an integrated framework to experiment with data replication in distributed systems with tuple spaces. Thus, supporting designers for quick prototyping and evaluation of replication schemes. A series of experiments are performed on a case study to show how our approach can be used to design and test replication schemes.File | Dimensione | Formato | |
---|---|---|---|
2022_PhDThesis_Uwimbabazi.pdf
accesso aperto
Tipologia:
Tesi di dottorato
Licenza:
Dominio pubblico
Dimensione
759.63 kB
Formato
Adobe PDF
|
759.63 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.