A modular and fault-tolerant data transport framework [Elektronische Ressource] / presented by Timm Morten Steinbeck
251 pages
Deutsch

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

A modular and fault-tolerant data transport framework [Elektronische Ressource] / presented by Timm Morten Steinbeck

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
251 pages
Deutsch
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Dissertationsubmitted to theJoint Faculties for Natural Sciences and Mathematicsof the Ruperto Carola University ofHeidelberg, Germany,for the degree ofDoctor of Natural SciencesA Modularand Fault-TolerantData TransportFrameworkpresented byDiplom Physiker: Timm Morten Steinbeckborn in: AachenHeidelberg,Referees: Prof. Dr. Volker LindenstruthProf. Dr. Peter BastianEin modulares und fehlertolerantes Daten-Transport Software-Gerust¤Das High Level Trigger (HLT) System des zukunftigen¤ Schwerionen-Experiments ALICE muss sei-ne Eingangsdatenrate von bis zu 25 GB/s zur Ausgabe auf hochstens¤ 1.25 GB/s reduzieren bevordie Daten gespeichert werden. Zur Handhabung dieser Datenraten ist ein gro er PC Cluster geplant,der bis zu mehreren tausend Knoten skalieren soll, die uber¤ ein schnelles Netzwerk verbunden sind.Fur¤ die Software, die auf diesem System eingesetzt werden soll, wurde ein exibles Software-Gerust¤zum Transport der Daten entwickelt, das in dieser Arbeit beschrieben wird. Es besteht aus einerReihe separater Komponenten, die uber¤ eine gemeinsame Schnittstelle verbunden werden konnen.¤Auf diese Weise konnen¤ verschiedene Kon gurationen fur¤ das System einfach erstellt werden, diesogar zur Laufzeit geandert¤ werden konnen.¤ Um ein fehlertolerantes Arbeiten des HLT Systems zugewahrleisten,¤ enthalt¤ die Software einen einfachen Reparatur-Mechanismus, der es erlaubt ganzeKnoten nach einem Fehler zu ersetzen.

Sujets

Informations

Publié par
Publié le 01 janvier 2004
Nombre de lectures 33
Langue Deutsch
Poids de l'ouvrage 2 Mo

Extrait

Dissertation
submitted to the
Joint Faculties for Natural Sciences and Mathematics
of the Ruperto Carola University of
Heidelberg, Germany,
for the degree of
Doctor of Natural Sciences
A Modular
and Fault-Tolerant
Data Transport
Framework
presented by
Diplom Physiker: Timm Morten Steinbeck
born in: Aachen
Heidelberg,
Referees: Prof. Dr. Volker Lindenstruth
Prof. Dr. Peter BastianEin modulares und fehlertolerantes Daten-Transport Software-Gerust¤
Das High Level Trigger (HLT) System des zukunftigen¤ Schwerionen-Experiments ALICE muss sei-
ne Eingangsdatenrate von bis zu 25 GB/s zur Ausgabe auf hochstens¤ 1.25 GB/s reduzieren bevor
die Daten gespeichert werden. Zur Handhabung dieser Datenraten ist ein gro er PC Cluster geplant,
der bis zu mehreren tausend Knoten skalieren soll, die uber¤ ein schnelles Netzwerk verbunden sind.
Fur¤ die Software, die auf diesem System eingesetzt werden soll, wurde ein exibles Software-Gerust¤
zum Transport der Daten entwickelt, das in dieser Arbeit beschrieben wird. Es besteht aus einer
Reihe separater Komponenten, die uber¤ eine gemeinsame Schnittstelle verbunden werden konnen.¤
Auf diese Weise konnen¤ verschiedene Kon gurationen fur¤ das System einfach erstellt werden, die
sogar zur Laufzeit geandert¤ werden konnen.¤ Um ein fehlertolerantes Arbeiten des HLT Systems zu
gewahrleisten,¤ enthalt¤ die Software einen einfachen Reparatur-Mechanismus, der es erlaubt ganze
Knoten nach einem Fehler zu ersetzen. Dieser Mechanismus wird in Zukunft unter Ausnutzung der
dynamischen Rekon gurierbarkeit des Systems weiter ausgebaut werden. Zur Verbindung der ein-
zelnen Knoten wird eine Kommunikationsklassenbibliothek benutzt, die von den spezi schen Netz-
werkeigenschaften, wie Hardware und Protokoll, abstrahiert. Sie erlaubt es, dass eine Entscheidung
fur¤ eine bestimmte Technologie erst zu einem spateren¤ Zeitpunkt getroffen werden muss. Die Biblio-
thek enthalt¤ bereits funktionierende Prototypen fur¤ das TCP-Protokoll sowie SCI Netzwerkkarten.
Erweiterungen konnen¤ hinzugefugt¤ werden, ohne dass andere Teile des Systems geandert¤ werden
mussen.¤ Mit dem Software-Gerust¤ wurden ausfuhrliche¤ Tests und Messungen durchgefuhrt.¤ Ihre Er-
gebnisse sowie aus ihnen gezogene Schlussfolgerungen werden ebenfalls in dieser Arbeit vorgestellt.
Messungen zeigen fur¤ das System sehr vielversprechende Ergebnisse, die deutlich machen, dass es
beim Transport von Daten eine ausreichende Leistung erreicht, um die durch ALICE gestellten An-
forderungen zu erfullen.¤
A Modular and Fault-Tolerant Data Transport Framework
The High Level Trigger (HLT) of the future ALICE heavy-ion experiment has to reduce its input
data rate of up to 25 GB/s to at most 1.25 GB/s for output before the data is written to permanent
storage. To cope with these data rates a large PC cluster system is being designed to scale to several
1000 nodes, connected by a fast network. For the software that will run on these nodes a exible
data transport and distribution software framework, described in this thesis, has been developed. The
framework consists of a set of separate components, that can be connected via a common interface.
This allows to construct different con gurations for the HLT, that are even changeable at runtime. To
ensure a fault-tolerant operation of the HLT, the framework includes a basic fail-over mechanism that
allows to replace whole nodes after a failure. The mechanism will be further expanded in the future,
utilizing the runtime reconnection feature of the framework’s component interface. To connect cluster
nodes a communication class library is used that abstracts from the actual network technology and
protocol used to retain exibility in the hardware choice. It contains already two working prototype
versions for the TCP protocol as well as SCI network adapters. Extensions can be added to the
library without modi cations to other parts of the framework. Extensive tests and measurements
have been performed with the framework. Their results as well as conclusions drawn from them are
also presented in this thesis. Performance tests show very promising results for the system, indicating
that it can ful ll ALICE’s requirements concerning the data transport.Contents
1 Introduction 15
2 Background 17
2.1 Computing Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Applications for a Data Transport Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 High-Energy and Heavy-Ion Physics Experiment Trigger Systems . . . . . . . . . . . . . . . . . 20
2.2.2 The ALICE Detector and the ALICE High Level Trigger . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3 CBM Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.4 PANDA Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.5 Relation To Other Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.6 Online Video Processing & Image Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 Overview of the Framework 31
3.1 Introduction to the Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Framework Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Components Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4 Utility Software 37
4.1 PCI and Shared Memory Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 The Utility Class Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.1 Function Encapsulation Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.2 Functionality Replacement Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 The Communication Class Library 49
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2 Paradigms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.1 General Design Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.2 Message Communication Design Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2.3 Blob Design Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3 Auxiliary Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.1 Data Format Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.2 Address Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3.3 Message Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.4 Error Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3.5 Address URL Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.4 Communication Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4.1 The Basic Interface Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.2 The TCP Communication Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.4.3 The SCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6 The Publisher-Subscriber Framework Interface 75
6.1 The Publisher Interface Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2 Auxiliary Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.1 Flat Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.2 Structure Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.3 The Interface De nition Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
56 CONTENTS
6.3.1 The Publisher Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.2 The Subscriber Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.4 The Proxy Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.4.1 The Pipe Proxy Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.4.2 The Shared Memory Proxy Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4.3 The Subscription Loop Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.5 The Publisher Implementation Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5.1 The Sample Publisher Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5.2 The D

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents