La lecture en ligne est gratuite
Télécharger

Robust Distributed
Software Transactions for
Haskell
Dissertation
zur Erlangung des akademischen Grades
Doktor der Ingenieurwissenschaften
(Dr.-Ing.)
der Technischen Fakultät
der Christian-Albrechts-Universität zu Kiel
Dipl.-Ing.
Frank Klaus Kupke
Kiel, 20111. Gutachter Priv.-Doz. Dr. Frank Huch
2. Gutachter Prof. Dr. Michael Hanus
Datum der mündlichen Prüfung 19. November 2010The nett effect was that I was extremely ill-equipped to ap-
preciate functional programming when I encountered it: I was,
for instance, totally baffled by the shocking suggestion that the
value of a function could be another function.
Edsger W. Dijkstra, 1995
vZusammenfassung
Die vorliegende Arbeit motiviert und entwickelt eine robuste, verteilte
Software Transactional Memory (STM) Bibliothek für Haskell. Viele reale
AnwendungensindvonNaturausverteilt. Siesteuernentwedergeografisch
weit verteilte Ressourcen oder nutzen redundante Hardware-Komponen-
ten,umSystemfehlerzuverringern. STMisteineAbstraktion,umgemein-
same Ressourcen in nebenläufigen Anwendungen zu synchronisieren. Sie
hilft Verklemmungen zu verhindern und vereinfacht dadurch die Kompo-
sition des Programmcodes.
Wir erweitern die STM-Abstraktion auf verteilte Systeme und präsen-
tiereneineImplementierung,dieeffizientgenugist,uminweichenEchtzeit-
Anwendungen genutzt zu werden. Weiterhin ist die implementierte Bib-
liothek selbst robust und bietet damit dem Anwendungsprogrammierer
ein hohes Maß an Abstraktion, um Robustheit zu verwirklichen, was ihm
diese, im Allgemeinen, komplexe Aufgabe deutlich erleichtert.
Schlüsselwörter robust, transaktionaler Speicher, verklemmungsfrei, verteilt
viiAbstract
This thesis motivates and develops a robust distributed Software Trans-
actional Memory (STM) library for Haskell. Many real-life applications
are distributed by nature. They either control geographically wide spread
hardware resources or utilize redundant hardware components to minimize
system failure. STM is an abstraction for synchronizing shared resources
in concurrent applications. It helps to prevent deadlocks and thus facili-
tates composing program code.
We extend the STM abstraction to distributed systems and present an
implementation efficient enough to be used in soft real-time applications.
Further, theimplementedlibraryisrobustinitself, offeringtheapplication
developerahighabstractionleveltorealizerobustness, hence, significantly
simplifying this, in general, complex task.
Keywords deadlock-free, distributed, robust, software transactional memory
ix