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

Verfahren zum parallelen Zusammenfassen von N Datensätzen

Info

Publication number
DE19625869A1
DE19625869A1 DE19625869A DE19625869A DE19625869A1 DE 19625869 A1 DE19625869 A1 DE 19625869A1 DE 19625869 A DE19625869 A DE 19625869A DE 19625869 A DE19625869 A DE 19625869A DE 19625869 A1 DE19625869 A1 DE 19625869A1
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.)
Granted
Application number
DE19625869A
Other languages
English (en)
Other versions
DE19625869C2 (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 PCT/DE1997/001338 priority patent/WO1998000810A1/de
Priority to EP97931667A priority patent/EP0907932A1/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 paral­ lelen Zusammenfassen von N Datensätzen, die aus Einzel­ informationen bestehen und zur Berechnung eines Gesamt­ ergebnisses zusammengefaßt werden müssen.
Datenverarbeitungsverfahren der vorstehend beschriebe­ nen 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 At­ mosphäre beinhalten. Zur Erstellung eines Satelliten­ bildes nach gewünschten thematischen Vorgaben, wie beispielsweise die Darstellung der Oberflächentopo­ graphie der Erde mit darüberliegenden, bodennahen Wol­ kenfeldern, 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ön­ nen, wie beispielsweise bei Fahr- und Trainings-Simulatoren aller Art.
Die zu visualisierenden Daten durchlaufen in an sich bekannter Weise einer sogenannten Visulisierungs-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 je­ weils 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: "RealityEngine 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 Be­ arbeitung zugeordnet. Jeder Prozessor ist bei solchen Verfahren dafür zuständig, diejenigen Pixel zu bere­ chnen, die durch das Rendering der ihm zugeordneten Objekte sichtbar sind. Das Ergebnis sind dann Teil­ bilder, 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 zusammengefaßt werden.
In diesem Beispiel stellt der Rendering-Prozeß eine geometrische Transformation zwischen drei-dimensional vorliegenden Datensätzen in ein 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 erfindungsgemäße 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 austau­ schen können. Ein wichtiger Aspekt der Erfindung liegt darin, daß mehrere Prozessoren gleichzeitig, d. h. pa­ rallel und unabhängig auf die Teilbilder bzw. Daten­ sä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 R₀, . . ., RN-1 aufgeteilt, wobei Größe und Eigenschaft der Re­ gionen für das Verfahren nebensächlich ist. Die Re­ gionen müssen insbesondere nicht zusammenhängend sein. Jede zu bearbeitende Region ist einem bestimmten Pro­ zessor 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. Bei­ spielsweise wird auf das Fallbeispiel zur Berechnung eines Satellitenbildes verwiesen, auf dem Informationen aus unterschiedlichen Höhenschichten sichtbar darge­ stellt 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 S₁, . . ., SN1 ausgeführt.
Im folgenden sei Ri j die j-te Bildregion Rj des i-ten Pro­ zessores Pi und mit Ei j wird das Ergebnis im j-ten Ar­ beitsschritt Sj auf dem i-ten Prozessor Pi bezeichnet. Als anfängliches Teilergebnis Ei₀ besitzt jeder Prozes­ sor Pi die ihm zugeordnete Region seines lokalen Teil­ bildes:
E₀i = Ri 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 Sj 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:
Ej i = Ej i-1 Z Rj Partner
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 Ej 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 Log₂ (N) Schritten die Ergebnisse auf einem Prozessor zusammenfassen.
Vorstehend ist zwar davon ausgegangen worden, daß die Schritte S₁, . . ., SN-1 in eben dieser aufsteigenden Reihenfolge ausgeführt werden. Dies jedoch ist nicht zwingend notwendig. Die Schritte S₁, . . . 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-I, 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:
In diesem Fall setzt der Prozessor Pj in dem Schritt Si aus.
Das vorstehend beschriebene erfindungsgemäße 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 ohne Beschränkung des allgemeinen Erfindungsgedankens anhand eines Ausfüh­ rungsbeispielen unter Bezugnahme auf die Zeichnung 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 erfin­ dungsgemäßen 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 P₀, P₁, P₂, P₃ 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 R₀, R₁, R₂ und R₃ aufge­ spalten. Wie vorstehend bereits eingeführt, entspricht der jeweils untere Index die betreffende Bildregion innerhalb der einzelnen Teilbilder und der obere Index die Prozessorzugehörigkeit. Im vorliegenden Falle wer­ den die Bildregionen R₀ in den einzelnen Teilbildern T1 bis T4 von dem Prozessor P₀ verarbeitet. Entsprechendes gilt für die Regionen R₁, R₂ und R₃. Ebenso ist im Speicher Sp ein Ergebnisdatensatz E vorgesehen, in den die Teilergebnisses pro Prozessor nach erfolgtem Daten­ austausch 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 P₀ bis P₃. Den einzelnen Prozessoren sind ihre ursprünglichen Bildregionen R₀⁰ bis R₃ aus den Teilbildern T1 bis T4 zugeordnet. In einem ersten Schritt S₁ erhält beispielsweise der Pro­ zessor P₀ die Daten der Bildregion R₀¹ vom Prozessor P₁ und mischt diese mit den Daten der Bildregion R₀⁰, die ihm bereits zugeteilt gewesen sind. Ferner erhält bei­ spielweise der Prozessor P₃ im ersten Schritt S₁ die Daten der Bildregion R₃² vom Prozessor P₂. Diese ihm zukommenden Daten der Bildregion R₃² mischt nun der Prozessor P₃ mit den bereits vorhandenen Daten R₃³. Der Z-Operator stellt hier jeweils den Mischvorgang nach dem vollendeten Tauschvorgang bei den einzelnen Pro­ zessoren dar.
In einem zweiten Schritt S₂ wird gemäß der Prozessorpaarbildung, die in Fig. 2 dargestellt ist, ein weiterer Datenaustausch vorgenommen. So erhält beispielsweise der Prozessor P₁ die Daten der Bildregion R₁³ vom Prozessor P₃ und mischt diese mit seinen bereits gespeicherten Daten der Bildregionen R₁0,1. Im Gegenzug dazu beispielsweise übergibt der Prozessor Pi die Daten der Bildregion R₃¹ dem Prozessor P₃, der diese mit seinen bereits abgespeicherten Daten R₃2,3 mischt. Entsprechendes gilt für den letzten Schritt S₃.
Zunächst einmal ist daraufhinzuweisen, daß alle Prozes­ soren P₀ bis P₃ 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.
Sei 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:
Log₂(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 (10)

1. Verfahren zum parallelen Zusammenfassen von N-Datensätzen, mittels N Prozessoren (P₀, . . . , PN-1), denen jeweils ein Datensatz zugeordnet ist, die zur Ergebnisauswertung derart miteinander gemischt werden, daß jeder Prozessor jeweils paarweise auf die Daten­ sätze aller N-1 Prozessoren in N-1 getrennten Schritten zugreift und mit diesen Daten austauscht, wobei eine Schritt-Steuerung die Prozessor-Paarbildung gemäß einer Exklusiv-Oder-Funktion bestimmt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Datensätze in N Regio­ nen (R₀, . . ., Rn-1) unterteilt werden, und daß jede der N Regionen einem Prozessor zur Berechnung der in den Regionen enthaltenen Einzeldaten für die Ergebnisaus­ wertung zugeordnet wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Datenaustausch zwischen jeweils einem Prozessor-Paar derart erfolgt, daß nur Daten derjenigen Regionen der den Prozessoren zugeord­ neten Datensätze ausgetauscht werden, die von dem je­ weiligen Partner-Prozessor bearbeitet werden.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß nach einem Datenaustausch mit einem Partner-Prozessor alle einem Prozessor für die Berechnung der ihm zugewiesenen Region zugänglichen Einzeldaten gemischt bzw. integriert werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Schritt-Steuerung einen Schritt-Zähler aufweist, der pro Schritt für einen Prozessor den aktuellen Partner-Prozessor bestimmt.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt-Zähler Regionen aus den Datensätzen auswählt, die zwischen den Partner-Prozessoren ausgetauscht werden.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Datensätze Teilbilder sind, die zur Erstellung eines Gesamtbildes miteinander gemischt werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Einzeldaten Bildpixel sind.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß für den Fall, N ist eine Zweier-Potenz, alle N Prozessoren in allen N-1 Schrit­ ten simultan am Tauschvorgang beteiligt werden.
10. Verfahren nach einem der Ansprüche 2 bis 9, dadurch gekennzeichnet, daß die Bestimmung der zwischen einem Prozessor-Paar auszutauschenden Daten, die den von den Prozessoren zu bearbeitenden Regionen entspre­ chen, nach der Exklusiv-Oder-Funktion vorgenommen wird.
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
PCT/DE1997/001338 WO1998000810A1 (de) 1996-06-27 1997-06-26 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
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 true DE19625869A1 (de) 1998-01-02
DE19625869C2 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3619845B2 (ja) 1994-09-02 2005-02-16 ヴォルケーノ・セラピューテックス・インコーポレイテッド 超小型圧力センサを用いるガイドワイヤ
US7350036B2 (en) * 2005-08-01 2008-03-25 Intel Corporation Technique to perform concurrent updates to a shared data structure
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

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.

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69424716T2 (de) Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung
DE3619420C2 (de)
DE69122557T2 (de) Bilderzeugung
DE69032932T2 (de) System und Verfahren zum unverfälschten Polygonenzeichnen
DE3831428C2 (de)
DE69224499T2 (de) Dreidimensionale graphische Verarbeitung
DE69129712T2 (de) Arbeitsraumanzeigen
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69632578T2 (de) Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen
EP1227444B1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE69424074T2 (de) Bilderzeugungsgerät und Verfahren zur Erzeugung eines Bildes
DE69535231T2 (de) VERFAHREN ZUR INTEGRATION EINES Bildtextursignalspeicher UND INTERPOLATIONSLOGIK
DE60126967T2 (de) Verfahren und Vorrichtung für Anti-Aliasing durch Überabtastung
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE19807013B4 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE3854223T2 (de) Erzeugung und Anzeige von Rechnergraphiken.
DE69914355T2 (de) Bildverarbeitungsgerät
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE102019102009A1 (de) Reduzierung des rauschens während des renderings durch parallele path-space-filterung unter verwendung von hashing
DE4341304A1 (de) Verfahren und Vorrichtung zur Verwendung eines Videopuffers
DE102013017640A1 (de) Verteilte gekachelte Zwischenspeicherung
EP0984397A2 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE102013018445A1 (de) Festlegung eines nachgeordneten Bilderzeugungszustands in einer vorgeordneten Schattierungseinheit
DE102006023633A1 (de) Gleichzeitige Projektion von mehrfach verzweigten Gefäßen und ihrer Umgebung auf einem einzigen Bild
DE69905483T2 (de) Schattierung und texturierung von 3-dimensionalen rechner-erzeugten bildern

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