
MAMMUT
Eine verteilte Speicherverwaltung für symbolische Manipulation
Holger Naundorf(Co-Author)
Vieweg+Teubner Verlag
Published on 1. February 1997
Book
Paperback/Softback
XII, 120 pages
978-3-519-02198-8 (ISBN)
Description
Viele moderne Programmiersprachen und insbesondere alle Computeralgebra-Systeme enthe ben den Programmierer von der Aufgabe der Deallokation nicht mehr benotigten Speichers. Dies erleichtert die Benutzung erheblich und hilft, eine groBe Anzahl von Fehlern zu vermei den. Entscheidender allerdings ist noch, daB es fUr den Programmierer unmoglich ist zu wissen, wann ein Speicherbereich wirklich freigegeben werden muB, wenn dieser von verschiedenen Stellen aus benotigt wird und sich die Anzahl dieser Stellen w?hrend des Programms andern kann. Beim Programmieren ist deshalb eine Schnittstelle unverzichtbar, die dem Benutzer die Auf gabe abnimmt zu entscheiden, wann ein Speicherbereich wirklich freigegeben werden kann. Eine solche Schnittstelle nennt man Garbage Kollektor oder einfach Kollektor. Obwohl die existierende Hardware in sehr kurzen Zyklen verbessert wird, gibt es viele An wendungen, bei denen die Rechenleistung oder der vorhandene Speicherplatz fur eine LOsung in angemessener Zeit nicht ausreichen. Unabhangig von der Entwicklung der Hardware wird es solche Probleme immer geben. Eine naturliche Methode, sowohl die Rechenleistung als auch den zur Verfugung stehenden Speicher zu erhohen, ist die Benutzung von parallelen und verteilten Rechnern. Insbesondere verteilte Rechner haben den Vorteil, daB sich ihre Rechenleistung und der benutzbare Speicher beinahe beliebig skalieren I?flt. Bei der Losung sehr speicherplatzintensiver Probleme sollte moglichst das mehrmalige Spei chern von Daten auch auf verteilten Rechnern vermieden werden. Dies bedeutet, daB von allen verteilten Rechnern eine Art gemeinsamer Speicher benutzt werden muB.
More details
Series
Edition
1997
Language
German
Place of publication
Wiesbaden
Germany
Publishing group
Vieweg & Teubner
Target group
Upper undergraduate
Illustrations
10 s/w Abbildungen
XII, 120 S. 10 Abb.
Dimensions
Height: 244 mm
Width: 170 mm
Thickness: 8 mm
Weight
249 gr
ISBN-13
978-3-519-02198-8 (9783519021988)
DOI
10.1007/978-3-322-93083-5
Schweitzer Classification
Other editions
Additional editions

E-Book
04/2013
Vieweg+Teubner Verlag
€33.26
Available for download
Content
1. Einleitung.- 2 Grundlagen der Garbage Collection.- 2.1 Grundkonzept.- 2.2 Zwei-Phasen-Abstraktion.- 2.3 Zellen-Repräsentation.- 2.4 Verschieben von Zellen.- 2.5 Referenzzähl-Kollektor.- 2.6 Mark-Sweep-Kollektor.- 2.7 Mark-Compact-Kollektor.- 2.8 Copying Kollektor.- 2.9 Mostly-copying Kollektoren.- 2.10 Non-Copying Implicit Kollektor.- 2.11 Generational Kollektor.- 2.12 Inkrementelle und nebenläufige Kollektoren.- 2.13 Kollektoren für multi-threaded Mutatoren.- 2.14 Verteilte Kollektoren.- 2.15 Finalization.- 3 Die MAMMUT-Schnittstelle intuitiv.- 3.1 Einführung.- 3.2 MAMMUT-Zellen.- 3.3 Initialisierung von MAMMUT.- 3.4 Allokation.- 3.5 Freigabe.- 3.6 Größenveränderung.- 3.7 Vergleichen und Kopieren.- 3.8 Zugriff auf den Inhalt.- 3.9 Zugriff auf Statusinformationen.- 3.10 Kommunikation mit anderen Prozessen.- 3.11 Definition des Root Sets.- 4 Programmbeispiele.- 4.1 Initialisierung eines Strings.- 4.2 Ersetzen in einem Baum.- 4.3 Ausführen einer Task.- 5 Die Speicherverwaltung MAMMUT.- 5.1 Formalisierung eines Zustandes.- 5.2 Die Variablen der Speicherverwaltung.- 5.3 Invarianten.- 5.4 Funktionen in alphabetischer Reihenfolge.- A Tabellen der Funktionen.- B Existierende Implementationen.- B.1 Gemeinsamkeiten der Referenzzähl-Versionen.- B.2 Debug-Version.- B.2.1 Verwendete Filenamen.- B.2.2 Die Option MMMDACTIV.- B.2.3 Die Option MMMMOVE.- B.2.4 Die Option MMMDEBUG.- B.3 Parallele Version.- B.3.1 Zugrundeliegendes Modell.- B.3.2 Verwendete Filenamen.- B.3.3 Implementation als Makro.- B.3.4 Implementation der S-Zeiger.- B.3.5 Allokieren und Freigeben.- B.3.6 Schnittstelle nach unten.- B.3.7 Portierung der Speicherverwaltung.- B.3.8 Probleme mit Referenzzählern.- B.3.9 Das Initialisierungsfile.- B.4 Automatische Version.- B.4.1 Implementation der S-Zeiger.-B.4.2 Allokation von S-Zeigern.- B.4.3 Kopieren und Freigeben von S-Zeigern.- B.4.4 Verändern von S-Zeigern.- B.4.5 Zugriff auf S-Zeiger.- B.4.6 Unverschiebbare Zellen.- B.4.7 Generational Garbage Kollektoren.- B.5 Verteilte Version.- B.5.1 Zugrundeliegende Funktionalität.- B.5.2 Implementation von S-Zeigern.- B.5.3 Anforderung und Freigabe von S-Zeigern.- B.5.4 Zugriff auf S-Zeiger.- B.5.5 Inaktivieren von S-Zeigern.- B.5.6 Test auf Gleichheit.- B.6 Implemenation gemeinsamer Variablen.