Title:

Garbage Collection für Parallele und Verteilte Systeme

Home
deutsch
  
ISBN: 0596153643   ISBN: 0596153643   ISBN: 0596153643   ISBN: 0596153643 
 
|<< First     < Previous     Index     Next >     Last >>|
  Wir empfehlen:       
 

– 21 – 4.2 Beispielalgorithmen Im   Folgenden   wird   der   Distributed   Mark-Sweep   Collector   von   Hudak   und   Keller [Hu82] und der Algorithmus aus dem Artikel „Garbage collecting the world“ von Lang [La92],  als  ein  Beispiel  für  verteiltes  Reference  Counting,  vorgestellt.  Neben weiteren GC-Algorithmen,  die  auf  Mark-Sweep  oder  Reference  Counting  basieren,  sind  bei  Jo- nes  und  Lins  [Jo96]  auch  Erläuterungen  zur  verteilten  Copying-GC und Anwendungen des Actor-Modells  zur  verteilten  GC  zu  finden.  Mehr  Informationen  zum  SVM-Modell sind beispielsweise bei Zhou et al. [Zh92] und Levelt et al. [Le92] zu finden. 4.2.1 Distributed Mark -Sweep Zu den verteilten (distributed) Mark-Sweep Algorithmen werden die Verfahren gezählt, die  erstens  von  Original-Mark-Sweep  Algorithmen  (vgl.  Kap.  2.2)  abstammen  und zweitens solche, die auf Dijkstras On the Fly Collector (vgl. Kap. 3.2.1) basieren [Jo96]. Hudak und Kellers  Mark-Tree Collector [Hu82] ist ein verteilter Algorithmus für funk- tionale Sprachen, der sich auf Dijkstras Collector abstützt und im Folge nden in Anleh- nung an Jones und Lins beschrieben wird.   In der Hudak-Keller Architektur werden mehrere Prozessorknoten miteinander verbun- den, wobei Nebenläufigkeit in jedem Knoten so realisiert wird, dass entweder Collector und Mutator auf einem Multiprozessorsystem mit gemeinsamem Speicher parallel aus- geführt werden können oder bei einem einzelnen Prozessor die Operationen beider Pro- zesse miteinander verknüpft werden. So kann die Speicherbereinigung parallel zur Pro- grammausführung  erfolgen.  Außerdem können  mit  Hilfe  des  Algorithmus  auch  aktive Prozesse,  die  für  die  Programmausführung  nicht  mehr  benötigt  werden,  gefunden  und terminiert  werden.  Unter  Verwendung  eines  virtuellen  Adressraums  kann  für  knoten- übergreifende Tasks eine Referenz auf andere Knoten hergestellt werden. Garbage wird   - erstens ausgehend vom Root Set und zweitens ausgehend von Tasks  - gesucht. Dabei können  unerreichbare  Knoten,  aber  auch  irrelevante  Tasks  gefunden  werden,  die  auf- grund von spekulativem Parallelismus (z.B. Auswertung von unbenötigten Argumenten einer Funktion) entstanden sind. Geht man bei der Traversierung von Tasks aus, können auch sogenannte schlafende Subgraphen gefunden werden, denen von keiner Task aus jemals Arbeit zugewiesen werden kann, obwohl sie vom Root Set aus erreichbar sind. Zur Kooperation von Mutator und Collector wird ein Markierungsbaum (mark tree) mit dem Drei-Farben-Schema verwendet, in dem ein verteilter Mutator Zweige hinzufügen darf. Das Verfahren ähnelt dem konventionellen rekursiven Markieren, wobei für jeden rekursiven  Schritt  eine  Markierungs-Task  für  die  Kindknoten  erzeugt  wird.  Wenn  ein
  
Programming F #. A Comprehensive Guide for Writing Simple Code to Solve Complex Problems
Siehe auch:
Real World Functional Programming: With Exampl...
Expert F# 2.0 (Expert's Voice in F#)
Sonstige Artikel:
Selbstmanagement: Wie persönliche Veränderungen wirklich gelingen
Quantum Field Theory in a Nutshell (In a Nutshell (Princeton))
 
   
 
     
|<< First     < Previous     Index     Next >     Last >>| 

Back to the topic site:
StudyPaper.com/Startseite/Computer/Informatik

External Links to this site are permitted without prior consent.
   
  Home  |  deutsch  |  Set bookmark  |  Send a friend a link  |  Copyright ©  |  Impressum