Cantitate/Preț
Produs

Parallelrechner-Architekturen: Ansätze für imperative und deklarative Sprachen

Editat de Rudolf Kober
de Limba Germană Paperback – 9 aug 1988
Parallelrechner-Architekturen zeigen den Weg zu hochleistungsfähigen, kostengünstigen Rechnerstrukturen. Um ihr Leistungspotential für möglichst breite Anwendungsbereiche einfach und wirkungsvoll nutzbar zu machen, müssen Rechnerarchitektur und Softwarearchitektur einschließlich der Programmiersprachen gemeinsam betrachtet und im Einklang miteinander entwickelt werden. In diesem Buch werden Aspekte der Parallelverarbeitung bei modernen imperativen und deklarativen Sprachen dargestellt, daraus resultierende Anforderungen an parallele Systemarchitekturen abgeleitet sowie geeignete Architekturen vorgestellt und bewertet. Im einzelnen werden behandelt: imperative Sprachen (prozedurale und objekt-orientierte), deklarative Sprachen (funktionale und logische), Ebenen der Parallelität, Granularität der Verarbeitungspakete, explizite und implizite Parallelität, Anforderungen an Kommunikation und Synchronisation, Prozeß- und Speicherverwaltung, abstrakte Maschinen, Konzepte für die Umsetzung der abstrakten Maschinen in physikalische Architekturen sowie bekannte Realisierungen.
Citește tot Restrânge

Preț: 37857 lei

Preț vechi: 47320 lei
-20%

Puncte Express: 568

Preț estimativ în valută:
7247 7859$ 6210£

Carte tipărită la comandă

Livrare economică 29 iunie-13 iulie

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9783540500384
ISBN-10: 3540500383
Pagini: 380
Ilustrații: XIII, 360 S. 5 Abb.
Dimensiuni: 170 x 244 x 20 mm
Greutate: 0.6 kg
Editura: Springer Berlin, Heidelberg
Colecția Springer
Locul publicării:Berlin, Heidelberg, Germany

Public țintă

Research

Descriere

Parallelrechner-Architekturen zeigen den Weg zu hochleistungsfähigen, kostengünstigen Rechnerstrukturen. Um ihr Leistungspotential für möglichst breite Anwendungsbereiche einfach und wirkungsvoll nutzbar zu machen, müssen Rechnerarchitektur und Softwarearchitektur einschließlich der Programmiersprachen gemeinsam betrachtet und im Einklang miteinander entwickelt werden. In diesem Buch werden Aspekte der Parallelverarbeitung bei modernen imperativen und deklarativen Sprachen dargestellt, daraus resultierende Anforderungen an parallele Systemarchitekturen abgeleitet sowie geeignete Architekturen vorgestellt und bewertet. Im einzelnen werden behandelt: imperative Sprachen (prozedurale und objekt-orientierte), deklarative Sprachen (funktionale und logische), Ebenen der Parallelität, Granularität der Verarbeitungspakete, explizite und implizite Parallelität, Anforderungen an Kommunikation und Synchronisation, Prozeß- und Speicherverwaltung, abstrakte Maschinen, Konzepte für die Umsetzung der abstrakten Maschinen in physikalische Architekturen sowie bekannte Realisierungen.

Cuprins

1 Einleitung.- 1.1 Programmierparadigmen.- 1.2 Parallelitätsebenen.- 1.3 Homogene bzw. heterogene Struktur des Mehrrechnersystems.- 1.4 Verbindungs-Netzwerke.- 1.5 Garbage Collection.- 1.6 Overhead.- 1.7 Literaturverzeichnis.- 2 Prozedurale Programmiersprachen (Ada, CHILL).- 2.1 Einführung und Sprachmittel der höheren Programmier-sprachen Ada und CHILL.- 2.1.1 Ada.- 2.1.1.1 Einführung in Ada.- 2.1.1.2 Ada — Allgemeine Sprachmittel.- 2.1.1.3 Ada — Sprachmittel für Parallelität.- 2.1.2 CHILL.- 2.1.2.1 Einführung in CHILL.- 2.1.2.2 CHILL-Allgemeine Sprachmittel.- 2.1.2.3 CHILL — Sprachmittel für Parallelität.- 2.1.2.4 Kritikpunkte.- 2.2 Parallelitätseigenschaften.- 2.2.1 Ada.- 2.2.1.1 Ada—Expliziter Parallelismus.- 2.2.1.2 Ada — Impliziter Parallelismus.- 2.2.1.3 Ada — Granularität.- 2.2.2 CHILL.- 2.2.2.1 CHILL — Expliziter Parallelismus.- 2.2.2.2 CHILL — Impliziter Parallelismus.- 2.2.2.3 CHILL — Granularität.- 2.3 Kommunikation und Synchronisation.- 2.3.1 Ada.- 2.3.1.1 Ada — Kommunikation.- 2.3.1.2 Ada — Synchronisation.- 2.3.2 CHILL.- 2.3.2.1 CHILL — Kommunikation.- 2.3.2.2 CHILL — Synchronisation.- 2.3.2.2.1 Explizite Synchronisation.- 2.3.2.2.2 Implizite Synchronisation.- 2.4 Parallelitätsbedingte Verwaltungsaufgaben.- 2.4.1 Prozeßverwaltung in Ada.- 2.4.2 Prozeßverwaltung in CHILL.- 2.4.3 Speicherverwaltung in Ada und CHILL.- 2.5 Abstrakte Maschine.- 2.5.1 Die Zwischensprachen für Ada.- 2.5.1.1 DIANA.- 2.5.1.2 LOLITA.- 2.5.1.3 I-Code und die abstrakte Maschine AO.- 2.5.2 Die Zwischensprache als Befehlssatz der CHILL-Stackmaschine.- 2.5.2.1 Speicherverwaltung.- 2.5.2.2 Programmauswertung.- 2.5.2.3 Datentypen.- 2.5.2.4 Befehlssatz.- 2.5.2.5 Bewertung der Zwischensprache.- 2.6 Hardware-Architekturen.- 2.6.1 Intellimac IN/7000 (Ada).- 2.6.2 Rational R1000 (Ada).- 2.6.3 Intel iAPX 432.- 2.6.4 K-CHILL-Rechner.- 2.6.5 Integrierter CHILL-Prozessor.- 2.7 Resümee.- 2.8 Literaturverzeichnis.- 3 Objektorientierte Programmiersprachen.- 3.1 Einführung und Sprachmittel.- 3.1.1 Konzepte der objektorientierten Sprachen am Beispiel Smalltalk.- 3.1.1.1 Objekte und Nachrichten — Klassen und Instanzen.- 3.1.1.2 Dynamisches Binden und Vererbung.- 3.1.1.3 Objektorientierte Ansätze in anderen Sprachen.- 3.1.2 Sprachmittel für Parallelität.- 3.1.2.1 Explizite Prozesse in Smalltalk-80.- 3.1.2.2 Implizite Prozesse auf Objektebene.- 3.1.2.2.1 Synchrone Botschaften.- 3.1.2.2.2 Asynchrone Botschaften.- 3.2 Parallelitätseigenschaften.- 3.2.1 Impliziter Parallelismus.- 3.2.2 Explizite Parallelität.- 3.2.3 Instantiierung und Terminierung.- 3.2.4 Granularität.- 3.3 Kommunikation und Synchronisation.- 3.3.1 Kommunikation.- 3.3.1.1 Botschaften in Smalltalk.- 3.3.1.2 Prozeßkommunikation in Smalltalk.- 3.3.1.3 Asynchrone Kommunikation bei Objekten.- 3.3.1.4 Kommunikation in Aktor-Systemen.- 3.3.2 Synchronisation.- 3.3.2.1 Semaphore in Smalltalk.- 3.3.2.2 Synchronisation bei asynchronen Botschaften.- 3.4 Parallelitätsbedingte Verwaltungsaufgaben.- 3.4.1 Prozeßverwaltung.- 3.4.1.1 Prozeßverwaltung in Smalltalk-80.- 3.4.1.2 Prozesse auf Objektebene.- 3.4.2 Speicherverwaltung.- 3.5 Abstrakte Maschine.- 3.5.1 Die virtuelle Maschine von Smalltalk.- 3.5.2 Abstrakte parallele Maschinen.- 3.5.3 Zwischensprache.- 3.6 Hardware-Architekturen.- 3.6.1 Smalltalk mit RISC.- 3.6.2 Intel iAPX 432.- 3.6.3 Die FAIM-1 Architektur.- 3.7 Resümee.- 3.8 Literaturverzeichnis.- 4 Funktionsbasierte Programmiersprachen.- 4.1 Einführung und Sprachmittel.- 4.1.1 Funktionale Programmierung.- 4.1.2 Die Programmiersprache Lisp.- 4.1.2.1 Dialekte und Standardisierung.- 4.1.2.2 Prinzipien der Programmiersprache Lisp.- 4.1.2.3 Anwendungsgebiete von Lisp.- 4.1.3 Sprachmittel für Parallelität.- 4.2 Parallelitätseigenschaften.- 4.2.1 Impliziter Parallelismus.- 4.2.1.1 Parallele Termevaluierung.- 4.2.1.2 Wertunabhängige Operationen.- 4.2.1.3 Programmierstile.- 4.2.1.4 Implementierung.- 4.2.2 Expliziter Parallelismus.- 4.2.3 Granularität.- 4.2.4 Weitere Ansätze zur Steigerung der Parallelität.- 4.3 Kommunikation und Synchronisation.- 4.3.1 Kommunikation.- 4.3.2 Synchronisation.- 4.3.3 Einfluß der Granularität.- 4.4 Parallelitätsbedingte Verwaltungsaufgaben.- 4.4.1 Prozeßverwaltung.- 4.4.2 Speicherverwaltung.- 4.5 Abstrakte Maschine.- 4.5.1 Struktur der abstrakten Maschine.- 4.5.2 Befehle der abstrakten Maschine.- 4.6 Hardware-Architekturen.- 4.6.1 Architektur-Vorschläge.- 4.6.1.1 Ein Multiprozessor-System für prozeßorientiertes Lisp.- 4.6.1.2 Eine listenverarbeitende Datenfluß-Maschine.- 4.6.2 Leistungsfähigkeit funktionaler Parallelrechner.- 4.7 Resümee.- 4.8 Literaturverzeichnis.- 5 Logische Programmiersprachen.- 5.1 Einführung in Prolog.- 5.1.1 Sprachkonstrukte und Semantik.- 5.1.1.1 Definitionen.- 5.1.1.2 Syntaktische Konstrukte.- 5.1.1.3 Semantische Besonderheiten von Prolog.- 5.1.2 Impliziter Parallelismus in Prolog.- 5.1.3 Untersuchungen über den Aufbau von Prolog-programmen.- 5.2 Vom ODER-Parallelismus beeinflußte Ansätze zur parallelen Abarbeitung von Prolog.- 5.2.1 Sprachmittel.- 5.2.1.1 Sprachmittel für Parallelität.- 5.2.1.2 Statische Befehlshäufigkeit.- 5.2.2 Parallelitätseigenschaften.- 5.2.2.1 Impliziter Parallelismus.- 5.2.2.2 Expliziter Parallelismus.- 5.2.2.3 Granularität.- 5.2.3 Kommunikation und Synchronisation.- 5.2.3.1 Kommunikation.- 5.2.3.2 Synchronisation.- 5.2.4 Parallelitätsbedingte Verwaltungsaufgaben.- 5.2.4.1 Prozeßverwaltung.- 5.2.4.2 Speicherverwaltung.- 5.2.4.3 Verschiedene Modelle der ODER-parallelen Verarbeitung.- 5.2.4.3.1 Kabu Wake.- 5.2.4.3.2 PEPSys.- 5.2.4.3.3 OR-Parallel Token Machine.- 5.2.4.3.4 ODER-parallele Ausführung auf einer multisequentiellen Maschine.- 5.2.5 Abstrakte Maschine.- 5.2.5.1 Die sequentielle Warren-Maschine.- 5.2.5.2 Zwischensprache.- 5.2.6 Hardware-Architekturen.- 5.2.6.1 Architekturvorschläge.- 5.2.6.2 Beurteilung.- 5.2.7 Resümee.- 5.3 Committed-Choice Sprachen.- 5.3.1 Sprachmittel.- 5.3.1.1 Überblick.- 5.3.1.2 Parallelkonstrukte.- 5.3.1.2.1 Guarded Horn Clauses.- 5.3.1.2.2 Sprachkonstrukte für die Synchronisation.- 5.3.1.2.3 Die Sprache KPUND-Baum.- 5.3.1.2.4 Die Verwendung der Variablen als Kommunikationsmittel.- 5.3.2 Parallelitätseigenschaften.- 5.3.2.1 Impliziter Parallelismus.- 5.3.2.2 Explizite Parallelität.- 5.3.2.3 Granularität.- 5.3.3 Kommunikation und Synchronisation.- 5.3.3.1 Kommunikation.- 5.3.3.2 Synchronisation.- 5.3.4 Parallelitätsbedingte Verwaltungsaufgaben.- 5.3.4.1 Prozeßverwaltung.- 5.3.4.2 Speicherverwaltung.- 5.3.5 Abstrakte Maschine.- 5.3.5.1 Die abstrakte Maschine von Levy für GHC.- 5.3.5.2 Die abstrakte Maschine für das Datenflußmodell.- 5.3.5.3 Die abstrakte Maschine zur KPUND-Baum-Sprache.- 5.3.6 Hardware-Architekturen.- 5.3.6.1 PIM-R.- 5.3 6.2 PIM-D.- 5.3.6.3 Die neue PIM-Maschine von ICOT.- 5.3.6.4 ALICE.- 5.3.7 Resümee.- 5.4 PROLOG-Anwendungen und Datenbanken.- 5.4.1 Motivation.- 5.4.2 Problemstellung.- 5.4.2.1 Darstellung von Fakten und Regeln.- 5.4.2.2 Schnittstellen zwischen DBMS und KBS.- 5.4.2.3 Ausblick.- 5.5 Literaturverzeichnis.- 6 Vergleich der Architekturvorschläge.- 7 Glossar.