DE19625869A1 - Verfahren zum parallelen Zusammenfassen von N Datensätzen - Google Patents
Verfahren zum parallelen Zusammenfassen von N DatensätzenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor 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.
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)
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)
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)
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 |
-
1996
- 1996-06-27 DE DE19625869A patent/DE19625869C2/de not_active Expired - Fee Related
-
1997
- 1997-06-26 WO PCT/DE1997/001338 patent/WO1998000810A1/de not_active Application Discontinuation
- 1997-06-26 EP EP97931667A patent/EP0907932A1/de not_active Withdrawn
- 1997-06-27 US US09/171,458 patent/US20010054058A1/en not_active Abandoned
Patent Citations (1)
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 |