Typesafe parallel serialization with SKilL/Rust

dc.contributor.authorJäger, Roland
dc.date.accessioned2019-03-25T09:14:43Z
dc.date.available2019-03-25T09:14:43Z
dc.date.issued2018de
dc.description.abstractThe goal of this thesis is to provide a generator for SKilL that targets Rust. Since Rusts type system enforces strict rules to offer guaranteed thread safety the generated binding has to accommodate these rules, which makes it difficult to create a graph with cycles. A lot of the effort goes into the research and creation of solutions for the missing inheritance between structs and the resulting missing casting functionality in the language. In conjunction an option has to be found that allows Rusts rules to be enforced at runtime that works with the enhanced inheritance support. Peculiarly, the resulting implementation is not able to benefit from Rusts rules in regard to safe parallelism, as the runtime enforcement of these rules inhibits parallelism. To validate that the implementation works as expected pre-existing functional tests are used. Additionally performance tests are executed to see how Rust bindings fare against a reference implementation in C++.en
dc.description.abstractDas Ziel dieser Arbeit ist es einen Generator für SKilL zu erstellen, welcher Rust Code erzeugt. Da Rust strenge Regeln anwendet, um Threadsicherheit garantieren zu können, muss der generierte Code diesen folgen, was Probleme bei der Darstellung von Graphen mit Zyklen bereitet. Viel Zeit wird für die Findung von Alternativen und Implementierungen für Vererbung zwischen structs und deren fehlenden Konvertierungen aufgewendet. Dazu passend muss auch eine Möglichkeit gefunden werden, die Rusts Regeln zur Laufzeit anwendet und die erweiterte Vererbungsfunktionalität unterstützt. Auffallend ist, dass die Implementierung die Threadsicherheitsgarantien von Rusts Regeln nicht nutzen kann, weil die Einhaltung dieser, zur Laufzeit, die Parallelisierbarkeit einschränkten. Um zu validieren, dass die Implementierung wie erwartet funktioniert, werden bereits existierende funktionale Tests verwendet. Außerdem wird die Durchsatzrate, des generierten Rust Codes, mit der des generiertem C++ Codes verglichen.de
dc.identifier.other1663015228
dc.identifier.urihttp://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-103244de
dc.identifier.urihttp://elib.uni-stuttgart.de/handle/11682/10324
dc.identifier.urihttp://dx.doi.org/10.18419/opus-10307
dc.language.isoende
dc.rightsinfo:eu-repo/semantics/openAccessde
dc.subject.ddc004de
dc.titleTypesafe parallel serialization with SKilL/Rusten
dc.title.alternativeTypsichere parallele Serialisierung mit SKilL/Rustde
dc.typemasterThesisde
ubs.fakultaetInformatik, Elektrotechnik und Informationstechnikde
ubs.institutInstitut für Softwaretechnologiede
ubs.publikation.seiten59de
ubs.publikation.typAbschlussarbeit (Master)de

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
thesis.pdf
Size:
1.16 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
3.39 KB
Format:
Item-specific license agreed upon to submission
Description: