DE19625869C2 - Verfahren zum parallelen Zusammenfassen von N Datensätzen - Google Patents

Verfahren zum parallelen Zusammenfassen von N Datensätzen

Info

Publication number
DE19625869C2
DE19625869C2 DE19625869A DE19625869A DE19625869C2 DE 19625869 C2 DE19625869 C2 DE 19625869C2 DE 19625869 A DE19625869 A DE 19625869A DE 19625869 A DE19625869 A DE 19625869A DE 19625869 C2 DE19625869 C2 DE 19625869C2
Authority
DE
Germany
Prior art keywords
processor
data
processors
regions
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19625869A
Other languages
English (en)
Other versions
DE19625869A1 (de
Inventor
Alexander Del Pino
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE19625869A priority Critical patent/DE19625869C2/de
Priority to EP97931667A priority patent/EP0907932A1/de
Priority to PCT/DE1997/001338 priority patent/WO1998000810A1/de
Priority to US09/171,458 priority patent/US20010054058A1/en
Publication of DE19625869A1 publication Critical patent/DE19625869A1/de
Application granted granted Critical
Publication of DE19625869C2 publication Critical patent/DE19625869C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

Die Erfindung bezieht sich auf ein Verfahren zum parallelen Zusammenfassen von N Datensätzen, mittels N Prozessoren (P0, . . ., PN-1), die über ein Netzwerk zum Datenaustausch verbunden sind.
Datenverarbeitungsverfahren der vorstehend beschriebenen Gattung dienen der Verarbeitung großer Datenmengen, die in jeweils unterschiedlichen Datensätzen vorliegen und zur Berechnung eines Gesamtergebnisses miteinander in Verbindung gebracht bzw. miteinander gemischt werden müssen.
Zur Auswertung und Analyse großer Datenmengen bedient man sich beispielsweise der graphischen Darstellung bzw. Visualisierung der Daten, die in der heutigen Zeit eine Schlüsseltechnologie darstellt, die es dem Ingenieur ermöglicht, komplexe Zusammenhänge aus vielen Bereichen der Technik zu erfassen und damit zu weiteren Ergebnissen zu kommen. Ein Beispiel hierfür ist die Visualisierung von Simulations-Ergebnissen aller Art. Desweiteren können aber auch alle möglichen Arten von Sensoren, z. B. Satelliten große Datenmengen liefern, die visuell ausgewertet werden müssen. Hierzu werden beispielsweise vom Satelliten Datensätze geliefert, die Meßwerte aus unterschiedlichem Höhenschichten der Atmosphäre beinhalten. Zur Erstellung eines Satelliten­ bildes nach gewünschten thematischen Vorgaben, wie beispielsweise die Darstellung der Oberflächentopographie der Erde mit darüberliegenden, bodennahen Wolkenfeldern, ist es erforderlich, die Datensätze aus den unterschiedlichen Höhenlagen miteinander in Verbindung zu bringen und derart zu mischen, so daß das gewünschte graphische Endergebnis berechnet werden kann. Alle übrigen Informationen aus anderen Höhenlagen sind dabei zu unterdrücken.
Auch für Anwendungen in virtuellen Umgebungen ist es wünschenswert, große Szenen schnell darstellen zu können, wie beispielsweise bei Fahr- und Trainings-Simulatoren aller Art.
Die zu visualisierenden Daten durchlaufen in an sich bekannter Weise einer sogenannten Visualisierungs-Pipe­ line, in der zunächst die Geometrieverarbeitung statt­ findet und anschließend eine Rasterisierung. Für die schnelle Visualisierung großer Datenmengen werden Hoch­ leistungs-Graphik-Rechner eingesetzt. Es sind Verfahren zur parallelen Verarbeitung von Datensätzen bekannt, die sich wie im nachstehenden ausgeführt wird, in grundsätzlich zwei unterschiedliche Verfahrensgruppen einordnen lassen: Das sogenannte "screen subdivision- Verfahren" und das sogenannte "image-composition-Verfah­ ren".
Bei den "screen subdivision-Verfahren", wie sie bei­ spielsweise in den Artikeln von H. Fuchs: "Distributing a Visible Surface Algorithm over Multiple Computers", Proceedings of the ACM Annual Conference, 1977, pp. 449-451 und F. I. Parke: "Simulation and Expected Per­ formance Analysis of Multiple Processor Z-Buffer Systems", ACM Computer Graphics (Proceedings of SIGGRAPH 1980), Vol. 14, No. 3, July 1980, pp. 48-56 beschrieben sind, wird der gesamte zu bearbeitende Bildraum in einzelne Bildregionen unterteilt, die ein­ zelnen Prozessoren einer parallel arbeitenden Maschine zugeordnet werden. Jeder Prozessor ist dafür zuständig, die Objekte, die in die ihm zugeordneten Bildregionen fallen, zu Rasterisieren. Ein extremer Ansatz hierbei ist der sogenannte Prozessor-pro-Pixel Ansatz, bei dem jedem einzelnen Pixel des Bildraumes ein eigener Prozessor zugeordnet wird, siehe hierzu den Beitrag von H. Fuchs, J. Goldfeather, J. P. Hultquist, S. Spach, J. D. Austin, F. P. Brooks, J. G. Eyles, J. Poulton: "Fast Spheres, Shadows, Textures, Transparencies and Image Enhancements in Pixel Planes", ACM Computer Graphics (Proceedings of SIGGRAPH 1985), Vol. 19, No. 3, July 1985, pp. 111-120.
Weitaus häufiger werden jedoch Verfahren verwendet, bei denen mehrere Pixel einem Prozessor zugeordnet werden, wie beispielsweise bei der Pixel-Planes 5 oder bei der SGI Reality Engine. Die vorstehenden Ansätze sind jeweils in den Artikeln von H. Fuchs, J. Poulton, J. Eyles, T. Greer, J. Goldfeather, D. Ellsworth, S. Molnar, G. Turk, B. Tebbs, L. Israel: "Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories", ACM Computer Graphics (Proceedings of SIGGRAPH 1989), Vol. 23, No. 3, July 1989, pp. 79-88 und von K. Akeley: "Reality Engine Graphics", ACM Computer Graphics (Proceedings of SIGGRAPH 1993), August 1993, pp. 109-116, beschrieben.
Im Unterschied zu den vorstehend genannten "screen subdivision Verfahren" werden bei den "image- composition-Verfahren" die graphischen Primitive des Objektraumes verteilt und den Prozessoren zur Bearbeitung zugeordnet. Jeder Prozessor ist bei solchen Verfahren dafür zuständig, diejenigen Pixel zu berechnen, die durch das Rendering der ihm zugeordneten Objekte sichtbar sind. Das Ergebnis sind dann Teilbilder, die nur noch zusammengemischt werden müssen, ähnlich, wie in dem Falle von Satellitenbilddaten, wo die Meßwerte aus einer Vielzahl übereinander liegender Höhenschichten der Atmosphäre zu einem fertigen Satellitenbild zusammengefasst werden.
In diesem Beispiel stellt der Rendering-Prozeß eine geometrische Transformation zwischen drei-dimensional vorliegenden Datensätzen in einen zwei-dimensionalen Bilddatensatz dar. Da die graphischen Primitive eines jeden Datensatzes, zur Berechnung und Darstellung eines Gesamtbildes möglicherweise die Primitive anderer Datensätze im gleichen Objektraum überdecken, müssen zur Herstellung eines Gesamtbildes die einzelnen Teil­ bilder bzw. Datensätze miteinander gemischt werden, so daß das fertige Bild erhalten werden kann. Dieser Mischvorgang trägt auch zur Begriffsbildung des Namens von "image composition-Verfahren" dar.
Image composition-Verfahren sind deshalb so interes­ sant, weil durch die Zunahme weiterer Prozessoren, die Fähigkeit große Datenmengen zu visualisieren bzw. zu verarbeiten, gesteigert wird. Das schnelle Mischen von vielen einzelnen Teilbildern bzw. Datensätzen ist das eigentliche Problem bei dem image composition-Verfah­ ren. Im wesentlichen sind zwei grundsätzliche Verfahren bekannt, mit denen derartige Teilbilder bzw. Datensätze gemischt werden können.
Grundlage für eines der bekannten Verfahren stellt eine Pipeline dar, wohingegen ein anderes bekanntes Verfah­ ren eine rekursive-Baum-Struktur aufweist.
Bei dem bekannten Pipeline-Verfahren werden die Prozes­ soren in eine Art Pipeline aufgereiht, wobei Pixel oder Pixelregionen durch diese Pipeline geschickt werden. Auf dem Weg durch die Pipeline erfahren die Pixelregio­ nen Veränderungen, die durch die an dem Prozeß betei­ ligten Prozessoren bedingt sind. Folgende Artikel be­ schreiben bekannte Pipeline-Verfahren, mit denen der Inhalt einer Vielzahl von Teilbildern bzw. Datensätzen miteinander gemischt werden: R. Weinberg: "Parallel Processing Image Synthesis and Anti-Aliasing", ACM Computer Graphics, Vol. 15, No. 3, August 1981, pp. 55-62, M Deering, S. Winner, B. Schediwy, C. Duffy, N. Hunt: "The Triangle Processor and Normal Vector Shader: A VLSI System for High Performance Graphics", ACM Com­ puter Graphics (Proceedings of SIGGRAPH 1988), Vol. 22, No. 4, August 1988, pp. 21-30 und S. Molnar, J. Eyles, J. Poulton: "PixelFlow: High Speed Rendering Using Image Composition", ACM Computer Graphics (Proceedings of SIGGRAPH 1992), July 1992, pp. 231-240.
Das nach einem rekursiven Baum arbeitende zweite Ver­ fahren ist in den folgenden Beiträgen beschrieben: D. Fussell, B. D. Rathi: "A VLSI-Oriented Architecture for Real-Time Raster Display of Shaded Polygons", Procee­ dings of Graphics Interface '82, Toronto, May 1982, pp. 373-380, S. Molnar, H. Fuchs: "Advanced Raster Graphics Architecture" in: J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes: "Computer Graphics: Principles and Practice", 2nd Edition, Addison-Wessley, Reading, Massachusettes, 1990, pp. 855-922 und R. Scopigno, A. Paoluzzi, S. Guerrini, G. Rumolo: "Parallel Depth Merge: A Paradigm for Hidden Surface Removal", Computers & Graphics, Vol. 17, No. 5, 1993, pp. 583-592.
Bei den bekannten Verfahren nach dem Pipeline-Prinzip steigt in nachteilhafter Weise die Latenz, d. h. die durch die Pipeline-Länge bedingte Zeitdauer zwischen dem Eintrittszeitpunkt der zu mischenden Pixel bzw. Pixel­ informationen und dem Vorliegen des Ergebnisses, je mehr Prozessoren in der Pipeline vorgesehen sind. Über­ dies gestatten die genannten Pipeline-Verfahren keine skalierbare Datenverarbeitung, wie im Falle von paral­ lelen Verfahren. Bei den Verfahren, die nach einer "re­ kursiven-Baum-Struktur" arbeiten, werden die zur Ver­ fügung stehenden Prozessoren je weiter der Prozeß vor­ anschreitet, nur ungenügend genutzt.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum parallelen Zusammenfassen von N Daten­ sätzen, derart anzugeben, daß möglichst schnell und unter Nutzung aller vorhandener Komponenten die Infor­ mationen einzelner Datensätze miteinander gemischt werden, die in paralleler Verarbeitungsweise zu einem gemeinsamen Endergebnis zusammengesetzt werden sollen. Das Verfahren soll insbesondere bei der Visualisierung von Datensätzen anwendbar sein und skalierbare Eigen­ schaften aufweisen. Insbesondere soll das Verfahren beschleunigt werden, indem möglichst alle vorhandenen Prozessoren am gesamten Verfahrensablauf, d. h. von Beginn bis Ende des Verfahrens zu beteiligen sind. Es soll die Möglichkeit geschaffen werden, daß leistungsfähige Hochleistungs-Rechner gebaut werden können, mit denen der Berechnungsvorgang, d. h. der Austausch und Mischen einzelner Daten aus N Datensätzen zur Erzeugung eines einzigen Gesamtergebnisses, beschleunigt werden kann.
Die Lösung der Erfindung ist im Patentanspruch 1 ange­ geben. Den Erfindungsgedanken vorteilhaft ausbildende weitere Merkmale sind Gegenstand der Unteransprüche.
Erfindungsgemäß ist ein Verfahren zum parallelen Zusam­ menfassen von N Datensätzen derart ausgebildet, daß jedem von N Prozessoren jeweils ein Datensatz zuge­ ordnet ist. Die N Datensätze werden zur Ergebnis­ auswertung derart miteinander gemischt, daß jeder Pro­ zessor jeweils Paar-Weise auf die Datensätze aller N - 1 Prozessoren in N - 1 getrennten Schritten zugreift und mit diesen Daten austauscht, wobei eine Schritt-Ste­ uerung die Prozessor-Paarbildung gemäß einer Exklusiv- Oder-Funktion bestimmt.
Das Verfahren setzt an der Stelle an, wo N Prozessoren bereits N verschiedene Teilbilder bzw. Datensätze erzeugt haben, die im Falle der Erstellung eines graphischen Endproduktes zusammengesetzt werden müssen. Diese N Prozessoren sind derart miteinander verbunden, daß beliebige Prozessoren ihre Daten austauschen können. Ein wichtiger Aspekt der Erfindung liegt darin, daß mehrere Prozessoren gleichzeitig, d. h. parallel und unabhängig auf die Teilbilder bzw. Datensätze anderer Prozessoren zugreifen können. Eine Schritt-Steuerung berechnet, welcher Prozessor wann auf welche Daten zugreifen kann.
Im Falle der Berechnung eines graphischen Gesamtbildes, wird der Bildraum konzeptuell in N Regionen R0, . . ., RN-1 aufgeteilt, wobei Größe und Eigenschaft der Regionen für das Verfahren nebensächlich ist. Die Regionen müssen insbesondere nicht zusammenhängend sein. Jede zu bearbeitende Region ist einem bestimmten Prozessor zugeordnet, der dafür verantwortlich ist, die Pixel der ihm zugeordneten Region für das fertige Bild zu berechnen. Hierfür fehlen ihm jedoch die Pixels dieser Region von N - 1 anderen Prozessoren. Beispielsweise wird auf das Fallbeispiel zur Berechnung eines Satellitenbildes verwiesen, auf dem Informationen aus unterschiedlichen Höhenschichten sichtbar dargestellt ist. Zur Berechnung eines Gesamtsatellitenbildes müssen daher Informationen aus verschiedenen Höhenschichten miteinander in Verbindung gebracht werden, um diese auf einem einzigen Bild darzustellen.
Unter der Annahme, daß N eine 2er-Potenz ist, werden N - 1 Schritte S1, . . ., SN1 ausgeführt.
Im folgenden sei R i|j die j-te Bildregion Rj des i-ten Pro­ zessores Pi und mit E i|j wird das Ergebnis im j-ten Ar­ beitsschritt Sj auf dem i-ten Prozessor Pi bezeichnet. Als anfängliches Teilergebnis E i|0 besitzt jeder Prozes­ sor Pi die ihm zugeordnete Region seines lokalen Teil­ bildes:
E i|0 = R i|i
In jedem Schritt tauschen Prozessor-Paare Bildregionen aus und mischen diese danach zu ihren eigenen Teiler­ gebnissen. In jedem Schritt hat jeder Prozessor einen anderen Partner-Prozessor. Die Schritt-Steuerung be­ stimmt mit einem Schrittzähler den aktuellen Partner- Prozessor von Pj im i-ten Schritt Si durch die Ex­ klusiv- Oder-Funktion und ist somit:
Pi j
Die Schritt-Steuerung kann sowohl zentral, als auch verteilt realisiert werden. Aus dem Arbeitsschritt des Schrittzählers weiß jeder Prozessor genau, welche Daten er von welchem Partner-Prozessor benötigt. Die beiden Prozessoren eines Prozessor-Paares (Pj, Pi j) tauschen nämlich die Bildregion aus, für die der jeweils andere Partner verantwortlich ist:
Nachdem dieser Tauschvorgang im Schritt Si beendet ist, mischen alle Prozessoren Pj die vom Partner erhaltene Bildregion mit ihrem lokalen Teilergebnis zu einem neuen Teilergebnis, diese Misch-Funktion wird hier durch den Z-Operator ausgedrückt:
E j|i = E j|i-1Z R Partner|j
Das dargelegte Verfahren ist nicht von der Art des ver­ wendeten Misch-Verfahrens abhängig. Nach N-1 Schritten besitzt jeder Prozessor Pj als Ergebnis E j|N-1 die richtig gemischte Bildregion für die er zuständig ist.
Die weitere Vorgehensweise hängt nun davon ab, ob diese letzten Ergebnisse in einem Speicher geschrieben wer­ den, auf dem der Video-Controller direkt zugreifen kann, oder nicht. Im ersteren Fall ist man fertig und im zweiten Fall müssen die Regionen noch zusammengefaßt werden. Hierfür kann man beispielsweise durch einen baum­ förmig organisierten Datentransport Log2(N) Schritten die Ergebnisse auf einem Prozessor zusammenfassen.
Vorstehend ist zwar davon ausgegangen worden, daß die Schritte S1, . . ., SN-1 in eben dieser aufsteigenden Reihenfolge ausgeführt werden. Dies jedoch ist nicht zwingend notwendig. Die Schritte S1, . . ., SN-1 können jedoch auch in einer beliebigen Permutation ausgeführt werden, zumal das Endergebnis letztlich von der Permu­ tation der Schritte unabhängig ist.
Ferner ist bislang davon ausgegangen worden, daß die Anzahl der eingesetzten Prozessoren N einer 2er-Potenz entspricht. Auch dies ist nicht zwingend erforderlich, da im Falle, daß N keine 2er-Potenz ist, sich nur zwei Umstände ändern: Die Zahl der benötigten Schritte ist nicht mehr N - 1, sondern die gleiche, wie für die nächst höhere 2er-Potenz von Prozessoren benötigt würde, also:
Zum anderen kann es vorkommen, daß im i-ten Schritt Si beim Auffinden des Prozessor-Partners von Pj ein Pro­ zessor herauskommt, den es gar nicht gibt, weil gilt:
i⊗j ≧ N
In diesem Fall setzt der Prozessor Pj in dem Schritt Si aus.
Das vorstehend beschriebene Verfahren ist vornehmlich zur Durchführung von Berechnungen ge­ dacht, deren Endergebnisse visuelle Bilder darstellen. Jedoch können mit dem erfindungsgemäßen Verfahren Daten aus verschiedenen Anwendungsbereichen zusammengefaßt und in Verbindung gebracht werden.
Durch die erfindungsgemäße gesteuerte Paar-Bildung mit gezieltem Datenaustausch zwischen jeweils einem Prozessor-Paar können in ökonomischer Weise auf schnellstem Wege Daten zwischen allen am Verfahrensprozeß beteiligten Prozessoren aus­ getauscht werden, so daß nach N - 1 Schritten alle Prozessoren jegliche für Sie notwendigen Informationen zur Berechnung ihrer Teil-Endergebnisse erhalten. Zur Weiterverarbeitung des Gesamt-Endergeb­ nisses sind nur noch die Teil-Endergebnisse jedes ein­ zelnen Prozessors zusammenzuführen.
Die Erfindung wird nachstehend anhand eines Ausführungs­ beispiels unter Bezugnahme auf die Zeichnungen exemplarisch beschrieben. Es zeigen:
Fig. 1 schematisierte Komponentendarstellung der am erfindungsgemäßen Verfahren beteiligten Hard­ warekomponenten,
Fig. 2 Darstellung der Prozessor-Paarbildung in Ta­ bellenform, sowie
Fig. 3 schematisiertes Ablauf-Diagramm des Verfahrens.
In Fig. 1 sind die für die Durchführung des Verfahrens beteiligten Hardware-Komponenten dargestellt. Im vor­ liegenden Falle sind N = 4 Prozessoren P0, P1, P2, P3 an einen gemeinsamen Speicher SP über ein Verbindungs-Netzwerk Vn angeschlossen. In dem Speicher SP sind vier Teilbilder T1, T2, T3 und T4 gespeichert. Der Bildraum eines jeden Teilbildes wird in vier rechteckige Regionen R0, R1, R2 und R3 aufgespalten. Wie vorstehend bereits eingeführt, entspricht, der jeweils untere Index der betreffenden Bildregion innerhalb der einzelnen Teilbilder und der obere Index der Prozessorzugehörigkeit. Alle 4 Teilbilder T1 bis T4 sind über das Verbindungsnetzwerk den Prozessoren P0 bis P3 zugeordnet. Anhand des Index wählt der Prozessor das zu verarbeitende Teilbild aus. Im vorliegenden Falle werden die Bildregionen R0 in den einzelnen Teilbildern T1 bis T4 von dem Prozessor P0 verarbeitet. Entsprechendes gilt für die Regionen R1, R2 und R3. Ebenso ist im Speicher SP ein Ergebnisdatensatz E vorgesehen, in den die Teilergebnisse pro Prozessor nach erfolgtem Datenaustausch geschrieben werden. Ein Schritt-Steuer-Modul S steuert mit Hilfe eines Schrittzählers Sz die Prozessor-Paarbildung und legt überdies fest, in welchem Schritt welche Daten zwischen welchen Pro­ zessoren ausgetauscht werden.
Im gezeigten Beispiel für N = 4 Prozessoren sind N-1 = 3 Zeitschritte auszuführen, so daß jeder Prozessor mit jedem anderen in Verbindung tritt. In Fig. 2 ist eine Tabelle dargestellt, nach der der Schrittzähler die Prozessor-Paarbildung vornimmt. Die Schritt-Steuerung dient dazu, daß im i-ten Arbeitsschritt Si für jeden Prozessor Pj mit j = 0, 1, 2, 3 der aktuelle Partner-Prozessor, mit dem die Bildregion ausgetauscht werden soll, berechnet werden kann.
Aus dem Ablauf-Diagramm gemäß Fig. 3 sind die Misch- Schritte zu entnehmen, die nach jedem Tausch-Vorgang zwischen zwei Prozessor-Paaren vorgenommen werden.
In der linken Spalte stehen vertikal untereinander die vier einzelnen Prozessoren P0 bis P3. Den einzelnen Prozessoren sind ihre ursprünglichen Bildregionen R 0|0 bis R 3|3 aus den Teilbildern T1 bis T4 zugeordnet. In einem ersten Schritt S1 erhält beispielsweise der Pro­ zessor P0 die Daten der Bildregion R 1|0 vom Prozessor P1 und mischt diese mit den Daten der Bildregion R 0|0, die ihm bereits zugeteilt gewesen sind. Ferner erhält beispielweise der Prozessor P3 im ersten Schritt S1 die Daten der Bildregion R 2|3 vom Prozessor P2. Diese ihm zukommenden Daten der Bildregion R 2|3 mischt nun der Prozessor P3 mit den bereits vorhandenen Daten R 3|3. Der Z-Operator stellt hier jeweils den Mischvorgang nach dem vollendeten Tauschvorgang bei den einzelnen Prozessoren dar.
In einem zweiten Schritt S2 wird gemäß der Prozessorpaarbildung, die in Fig. 2 dargestellt ist, ein weiterer Datenaustausch vorgenommen. So erhält beispielsweise der Prozessor P1 die Daten der Bildregion R 3|1 vom Prozessor P3 und mischt diese mit seinen bereits gespeicherten Daten der Bildregionen R 0,1|1. Im Gegenzug dazu beispielsweise übergibt der Prozessor P1 die Daten der Bildregion R 1|3 dem Prozessor P3, der diese mit seinen bereits abgespeicherten Daten R 2,3|3 mischt. Entsprechendes gilt für den letzten Schritt S3.
Zunächst einmal ist daraufhinzuweisen, daß alle Prozes­ soren P0 bis P3 während des ganzen Datenaustauschpro­ zesses parallel, d. h. simultan nebeneinander arbeiten. Das erfindungsgemäße Verfahren nützt somit alle zur Verfügung stehenden Hardware-Komponenten bis zum letzten Verfahrensschritt, was beispielsweise beim Verfahren, das nach dem rekursiven Baum-Prinzip arbeitet nicht der Fall ist.
Die nachfolgende Gegenüberstellung der Zeitdauern zur Berechnung des Gesamtbildes zwischen dem erfindungsge­ mäßen Verfahren und dem bekannten Verfahren zeigt, daß das erfindungsgemäße Verfahren erheblich schneller zum Ergebnis führt, als die bekannten.
Bei A die Bildgröße, T(A) die Kosten für den Transfer von A-Pixels, C(A) die Kosten für das Mischen von A- Pixels und N die Zahl der eingesetzten Prozessoren, so berechnet sich die Zeit, um ein Bild durch einen binären Baum zu mischen nach folgender Formel:
Log2(N) . (T(A) + C(A))
Die Zeitdauer zur Berechnung eines Gesamtbildes mit einem Pipeline-Verfahren, bei dem der Bildraum in R- Regionen unterteilt ist, berechnet sich nach folgender Formel:
(1 + (N - 1)/R) . (T(A) + C(A))
Eine entsprechende Abschätzung zur Zeitdauerberechnung des erfindungsgemäßen Verfahrens zur Ermittlung eines Gesamtbildes, läßt sich mit folgendem Zusammenhang ange­ ben:
((N - 1)/N) . (T(A) + C(A))
Im Fall des obenstehend beschriebenen Prozesses mit N = 4 Prozessoren gilt folgende Beziehung für die Gesamt­ zeitdauer TGesamt:
TGesamt = 0,75 . T(A) + 0,75 . C(A)
In diesem Beispiel würde eine Pipeline, die den Bild­ raum in 100 Regionen unterteilt, etwa 37 Prozent mehr Zeit benötigen und ein Binär-Baum-basiertes Mischver­ fahren etwa 166 Prozent mehr.
Ein weiterer Vorteil des erfindungsgemäßen Verfahrens gegenüber dem Pipeline-Verfahren ist, daß das Ergebnis­ bild nicht Stück für Stück verfügbar, sondern die be­ teiligten Prozessoren das Bildmischen zur gleichen Zeit beenden, ähnlich wie bei den Binär-Baum-Verfahren.

Claims (6)

1. Verfahren zum parallelen Zusammenfassen von N- Datensätzen, mittels N Prozessoren (P0, . . ., PN-1), die über ein Netzwerk miteinander zum Datenaustausch verbunden sind, gekennzeichnet durch die Kombination folgender Ver­ fahrensschritte:
  • - jedem Prozessor der N Prozessoren werden jeweils ein Datensatz der N-Datensätze zugeordnet,
  • - die Datensätze werden in N Regionen (R0, . . ., Rn-1) unterteilt,
  • - jede der N Regionen wird einem bestimmten Prozessor zur Berechnung der in den Regionen enthaltenen Einzeldaten für eine Ergebnisauswertung zugeordnet,
  • - der Datenaustausch zwischen den einzelnen Prozessoren erfolgt derart, daß jeder Prozessor jeweils Paar­ weise auf die Datensätze aller N - 1 Prozessoren in N - 1 getrennten Schritten zugreift und jeweils die Regionen austauscht, die dem Prozessor zugeordnet sind,
  • - eine Schritt-Steuerung bestimmt die Prozessor- Paarbildung, daß ein Partnerprozessor eines Prozessors Pj im i-ten Schritt gemäß einer Exklusiv Oder-Funktion nachfolgend bestimmt wird:
  • - nach erfolgtem Datenaustausch mischt jeder Prozessor die ausgetauschte Region mit der, dem Prozessor zugeordneten Reqion nach einer vorgegebenen Mischfunktion Z.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Schritt-Steuerung einen Schritt-Zähler aufweist, der pro Schritt für einen Prozessor den aktuellen Partner-Prozessor bestimmt.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt-Zähler Regionen aus den Datensätzen auswählt, die zwischen den Partner- Prozessoren ausgetauscht werden.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Datensätze Teilbilder sind, die zur Erstellung eines Gesamtbildes miteinander gemischt werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Einzeldaten Bildpixel sind.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß für den Fall, N ist eine Zweier-Potenz, alle N Prozessoren in allen N - 1 Schritten simultan am Tauschvorgang beteiligt werden.
DE19625869A 1996-06-27 1996-06-27 Verfahren zum parallelen Zusammenfassen von N Datensätzen Expired - Fee Related DE19625869C2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19625869A DE19625869C2 (de) 1996-06-27 1996-06-27 Verfahren zum parallelen Zusammenfassen von N Datensätzen
EP97931667A EP0907932A1 (de) 1996-06-27 1997-06-26 Verfahren zum parallelen zusammenfassen von n datensätzen
PCT/DE1997/001338 WO1998000810A1 (de) 1996-06-27 1997-06-26 Verfahren zum parallelen zusammenfassen von n datensätzen
US09/171,458 US20010054058A1 (en) 1996-06-27 1997-06-27 Process for combining in parallel n sets of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19625869A DE19625869C2 (de) 1996-06-27 1996-06-27 Verfahren zum parallelen Zusammenfassen von N Datensätzen

Publications (2)

Publication Number Publication Date
DE19625869A1 DE19625869A1 (de) 1998-01-02
DE19625869C2 true DE19625869C2 (de) 2001-01-04

Family

ID=7798253

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19625869A Expired - Fee Related DE19625869C2 (de) 1996-06-27 1996-06-27 Verfahren zum parallelen Zusammenfassen von N Datensätzen

Country Status (4)

Country Link
US (1) US20010054058A1 (de)
EP (1) EP0907932A1 (de)
DE (1) DE19625869C2 (de)
WO (1) WO1998000810A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006040791B3 (de) * 2006-08-31 2008-03-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Zusammenfassung mehrerer Teilbilder für beliebige Abbildungsflächen

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1658808A1 (de) 1994-09-02 2006-05-24 Volcano Corporation Ultraminiatur-druckfühler und leitdraht hierfür
US7350036B2 (en) * 2005-08-01 2008-03-25 Intel Corporation Technique to perform concurrent updates to a shared data structure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2280523A (en) * 1993-07-13 1995-02-01 Mitsubishi Electric Corp Sorting system and method.

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8902726A (nl) * 1989-11-06 1991-06-03 Oce Nederland Bv Werkwijze en inrichting voor het bewerken van data afkomstig van beelden.
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
EP0693737A3 (de) * 1994-07-21 1997-01-08 Ibm Verfahren und Apparat zum Verwalten der Aufgaben in einem Mehrprozessorsystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2280523A (en) * 1993-07-13 1995-02-01 Mitsubishi Electric Corp Sorting system and method.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006040791B3 (de) * 2006-08-31 2008-03-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Zusammenfassung mehrerer Teilbilder für beliebige Abbildungsflächen
US8275217B2 (en) 2006-08-31 2012-09-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for combining several sub-images for any imaging surface areas

Also Published As

Publication number Publication date
EP0907932A1 (de) 1999-04-14
WO1998000810A1 (de) 1998-01-08
DE19625869A1 (de) 1998-01-02
US20010054058A1 (en) 2001-12-20

Similar Documents

Publication Publication Date Title
DE3831428C2 (de)
DE3619420C2 (de)
DE69632578T2 (de) Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen
DE69535231T2 (de) VERFAHREN ZUR INTEGRATION EINES Bildtextursignalspeicher UND INTERPOLATIONSLOGIK
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE60018599T2 (de) Dreidimensionale gui-fenster
DE4225872C2 (de) Verfahren zum Kennzeichnen und Identifizieren ausgewählter Gebiete in Bildern
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE60126967T2 (de) Verfahren und Vorrichtung für Anti-Aliasing durch Überabtastung
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE60012917T2 (de) Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten
DE19807013B4 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE69914355T2 (de) Bildverarbeitungsgerät
DE10106023A1 (de) Verfahren und Vorrichtung zur Kollisionserkennung von Objekten
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE102013017640A1 (de) Verteilte gekachelte Zwischenspeicherung
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE4341304A1 (de) Verfahren und Vorrichtung zur Verwendung eines Videopuffers
DE102013018445A1 (de) Festlegung eines nachgeordneten Bilderzeugungszustands in einer vorgeordneten Schattierungseinheit
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE102006023633A1 (de) Gleichzeitige Projektion von mehrfach verzweigten Gefäßen und ihrer Umgebung auf einem einzigen Bild
EP2457219B1 (de) Verfahren und anordnung zur generierung von darstellungen anisotroper eigenschaften sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE69432507T2 (de) Verfahren und Geräte zur Erzeugung von Zeichnungsdaten
DE4100691B4 (de) Verfahren zur Darstellung eines dreidimensionalen Modells
DE19625869C2 (de) Verfahren zum parallelen Zusammenfassen von N Datensätzen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee