Zum Inhalt springen

Granularität (Systemarchitektur)

aus Wikipedia, der freien Enzyklopädie

Granularität ist ein Begriff aus dem Bereich der parallelen Computer-Architekturen.<ref>Vinicius Fulber-Garcia: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive )Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Er bezeichnet die Anzahl der Untergliederungen eines Elementes, z. B. eines Speichers.

Technische Eigenschaften

Betrachtet man die Granularität einer Architektur, unterscheidet man zwischen fein-, mittel- und grobgranular.<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2008-03-21;.Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

  • Eine feingranulare Architektur ist in ihrer Arbeitsweise besonders klein und schnell bezüglich ihrer Abarbeitungszeit. Möchte man Prozesse auf dieser Architektur nun parallel ausführen, müssen nur wenige Daten zur Synchronisation, diese aber sehr häufig, unter den Prozessen ausgetauscht werden.
  • Den Gegensatz dazu stellen grobgranulare Architekturen dar, deren Prozesse eine lange Ausführungszeit haben und damit nur wenige Daten zur Synchronisation austauschen müssen, da dieser überwiegend selbstständig arbeitet.
  • Bei numerischen Problemen verwendet man oft den Begriff der mittleren Granularität, da deren Parallelität zwischen den oftmals nicht weiter parallelisierbaren Schleifendurchläufen in der Datenstruktur auftritt.

Grundsätzlich gilt Folgendes:

  • Maschinenbefehlsebene (≤ 1 LOC)
  • Blockebene (einige LOC)
  • Prozedurebene (10–100 LOC)
  • Threadebene (100–1000 LOC)
  • Prozessebene (> 1000 LOC)

Von der Prozessebene bis zur Maschinenbefehlsebene steigt die nutzbare Parallelität.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. computerwoche.de; ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Da bei feingranularen Prozessen bzw. Architekturen ein hohes Kommunikationsaufkommen zu erwarten ist, wird man diese meist als Shared-Memory-System realisieren, während man grobgranulare Architekturen in der Regel mittels Message-Passing umsetzt. In der Praxis bedeutet das, dass nur bei grobgranularen Architekturen eine hohe Parallelität erreicht werden kann, weil nur jene unabhängige Instruktionen besitzen.

Einzelnachweise

<references />