WO1998000810A1 - Verfahren zum parallelen zusammenfassen von n datensätzen - Google Patents

Verfahren zum parallelen zusammenfassen von n datensätzen Download PDF

Info

Publication number
WO1998000810A1
WO1998000810A1 PCT/DE1997/001338 DE9701338W WO9800810A1 WO 1998000810 A1 WO1998000810 A1 WO 1998000810A1 DE 9701338 W DE9701338 W DE 9701338W WO 9800810 A1 WO9800810 A1 WO 9800810A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processor
processors
regions
image
Prior art date
Application number
PCT/DE1997/001338
Other languages
English (en)
French (fr)
Inventor
Alexander Del Pino
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
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 Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority to EP97931667A priority Critical patent/EP0907932A1/de
Publication of WO1998000810A1 publication Critical patent/WO1998000810A1/de

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

Definitions

  • the invention relates to a method for the parallel combination of N data records, which consist of individual information and must be combined to calculate an overall result.
  • Data processing methods of the type described above are used to process large amounts of data which are present in different data sets and which have to be connected to one another or mixed with one another in order to calculate an overall result.
  • Satellites deliver large amounts of data that have to be evaluated visually.
  • data sets are supplied by the satellite, for example, which contain measured values from different layers of
  • SPARE BLADE include the atmosphere.
  • thematic specifications such as the representation of the surface topography of the earth with overlying, near-ground cloud fields, it is necessary to connect the data sets from the different altitudes and to mix them so that the desired graphic end result is calculated can be. All other information from other altitudes must be suppressed.
  • the data to be visualized pass through a so-called visualization pipeline in a manner known per se, in which the geometry processing takes place first and then a rasterization.
  • High-performance graphics computers are used to quickly visualize large amounts of data.
  • Methods for parallel processing of data records are known which, as will be explained in the following, can be classified into basically two different method groups: the so-called “screen subdivision method” and the so-called “image composition method”.
  • the graphic composition methods "distribute the graphic primitives of the object space and assign them to the processors for processing.
  • each processor is responsible for calculating those pixels that are visible through the rendering of the objects assigned to them
  • the result is then partial images which only have to be mixed together, similar to the case of satellite image data, where the measured values from a plurality of superimposed layers of the atmosphere are combined to form a finished satellite image.
  • the rendering process represents a geometric transformation between three-dimensional data sets into a two-dimensional image data set. Since the graphic primitives of each data set, for calculating and displaying an overall image, may overlap the primitives of other data sets in the same object space to produce an overall image, the individual partial images or data records are mixed with one another so that the finished image can be obtained. This mixing process also contributes to the definition of the name of "image composition process".
  • Image composition processes are so interesting because the increase in additional processors increases the ability to visualize or process large amounts of data.
  • the fast mixing of many individual drawing files or data sets is the real problem with the image composition process.
  • two basic methods are known with which such partial images or data records can be mixed.
  • the basis for one of the known methods is a pipeline, whereas another known method has a recursive tree structure.
  • the latency increases disadvantageously, i.e. the length of time due to the length of the pipeline between the time of entry of the pixels or pixel information to be mixed and the presence of the result, the more processors are provided in the pipeline.
  • the pipeline methods mentioned do not allow scalable data processing, as in the case of parallel methods. With the methods that work according to a "recursive tree structure", the available processors are used insufficiently as the process progresses.
  • the invention is therefore based on the object of specifying a method for the parallel merging of N data records in such a way that the information from individual data records is mixed with one another as quickly as possible and using all available components and is to be combined in a parallel processing manner to form a common end result.
  • the method should be applicable in particular in the visualization of data records and have scalable properties.
  • the process is to be accelerated in that, if possible, all existing processors are to be involved in the entire process, ie from the beginning to the end of the process. It should the possibility is created that powerful high-performance computers can be built, with which the calculation process, ie the exchange and mixing of individual data from N data records to produce a single overall result, can be accelerated.
  • a method for combining N data sets in parallel is designed such that a data set is assigned to each of N processors.
  • the N data records are mixed with one another for the evaluation of the results in such a way that each processor accesses the data records of all Nl processors in pairs in Nl separate steps and exchanges them with these data, a step controller controlling the processor pairing in accordance with an exclusive-OR function certainly.
  • Each processor consists of at least one microprocessor that can process data records in its local memory, as well as a connection to a communication network via which a processor can access the memory of another processor. In this way, a processor pair can exchange data.
  • a processor pair can exchange data.
  • the method according to the invention starts at the point where N processors have already generated N different partial images or data records which have to be put together in the event of the creation of a graphical end product. These N processors are connected to one another in such a way that any processors can exchange their data.
  • An important aspect of the invention is that several processors can access the partial images or data records of other processors simultaneously, ie in parallel and independently.
  • a step control calculates which processor can access which data and when.
  • the image space is conceptually divided into N regions Ro, ..., R H. ⁇ divided, the size and property of the regions is irrelevant to the process. In particular, the regions do not have to be connected.
  • Each region to be processed is assigned to a specific processor, which is responsible for calculating the pixels of the region assigned to it for the finished image. For this, however, he lacks the pixels of this region from Nl other processors.
  • Nl the case study for calculating a satellite image, on which information from different elevation layers is visibly displayed. In order to calculate an overall satellite image, information from different elevation layers must therefore be combined with one another in order to display it on a single image.
  • each processor Pi has the region of its local partial image assigned to it:
  • processor pairs exchange image regions and then mix them into their own partial results.
  • Each processor has a different partner processor in each step.
  • the step control uses a step counter to determine the current partner processor of P j in the i-th step Si using the exclusive or function and is therefore:
  • the step control can be implemented both centrally and distributed. From the step of the step counter, each processor knows exactly which data it needs from which partner processor.
  • the two processors of a processor pair (Pj, Pi ⁇ j) exchange the image region for which the other partner is responsible:
  • each processor Pj has ENI as the result. ⁇ the correctly mixed image region for which he is responsible.
  • steps Si, ..., S N - ⁇ are carried out in this ascending order. However, this is not absolutely necessary. However, steps SI, ..., SN-I can also be carried out in any permutation, especially since the end result is ultimately independent of the permutation of the steps.
  • N the number of processors N used corresponds to a power of two. This is also not absolutely necessary, since in the case that N is not a power of 2, there are only two Change circumstances: The number of steps required is no longer Nl, but the same as would be required for the next higher power of 2, so:
  • the processor P j suspends in step Si.
  • the method according to the invention described above is primarily intended for carrying out calculations, the end results of which represent visual images. However, with the method according to the invention, data from various areas of application can be combined and associated.
  • FIG. 2 representation of processor pairing in tabular form, as well
  • Fig. 3 is a schematic flow diagram of the method according to the invention.
  • N 4 processors Po, Pi, P 2 , P 3 are connected to a common memory S p via a connection network Vn.
  • Memory S p four fields T1, T2, T3 and T4 are stored.
  • the image space of each partial image is split into four rectangular regions Ro, Ri, R 2 and R 3 .
  • the lower index corresponds to the relevant image region within the individual partial images and the upper index corresponds to the processor affiliation.
  • the image regions Ro in the individual partial images T1 to T4 are processed by the processor Po.
  • a result data record E is provided in the memory S p , into which the partial results per processor are written after data has been exchanged.
  • a step control module S controls with the help of a step counter Sz the processor pairing and also determines in which step which data is exchanged between which processors.
  • N 4 processors
  • Nl 3 time steps are to be carried out, so that each processor connects to each other.
  • a table is shown in FIG. 2, according to which the pedometer carries out the processor pairing.
  • 3 shows the mixing steps that are carried out after each exchange process between two processor pairs.
  • the four individual processors Po to P 3 are arranged vertically one below the other in the left column.
  • the individual processors have their original image regions R? assigned to R 3 from the sub-images T1 to T4.
  • the processor Po receives the data of the image region Ro from the processor Pi and mixes it with the data of the image region Ro, which have already been assigned to it.
  • processor P 3 receives the data of image region R * from processor P 2 in the first step Si.
  • the processor P 3 now mixes the data of the image region R which it receives with the data R already present.
  • the Z operator here represents the mixing process after the completed swapping process for the individual processors.
  • a further data exchange is carried out in accordance with the formation of the processor pair, which is shown in FIG.
  • the processor Pi receives the data of the image region Ri from the processor P 3 and mixes it with its already stored data of the image regions Ri.
  • the processor Pi transfers the data of the image region R 3 to the processor P 3 , which mixes them with its already stored data R ⁇ . The same applies to the last step S 3 .
  • a pipeline that divides the image space into 100 regions would take about 37 percent more time and a binary tree-based mixing method would take about 166 percent more.
  • Another advantage of the method according to the invention over the pipeline method is that the result image is not available piece by piece, but the processors involved end the image mixing at the same time, similar to the binary tree method.

Landscapes

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

Abstract

Beschrieben wird ein Verfahren zum parallelen Zusammenfassen von N-Datensätzen, mittels N Prozessoren (P0, ..., PN-1), denen jeweils ein Datensatz zugeordnet ist, die zur Ergebnisauswertung derart miteinander gemischt werden, daß jeder Prozessor 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-Steuerung die Prozessor-Paarbildung gemäß einer Exklusiv-Oder-Funktion bestimmt.

Description

Verfahren zum parallelen Zusammenfassen von N Datensätzen
B e s c h r e i b u n g
Technisches Gebiet
Die Erfindung bezieht sich auf ein Verfahren zum parallelen Zusammenfassen von N Datensätzen, die aus Einzelinformationen bestehen und zur Berechnung eines Gesamtergebnisses zusammengefaßt werden müssen.
Stand der Technik
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 At-
ERSATZBLÄΪT(REGEL26) mosphäre beinhalten. Zur Erstellung eines Satellitenbildes 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 Visulisierungs-Pipe- line, in der zunächst die Geometrieverarbeitung stattfindet und anschließend eine Rasterisierung. Für die schnelle Visualisierung großer Datenmengen werden Hochleistungs-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-Verfahren" .
Bei den "screen subdivision-Verfahren" , wie sie beispielsweise 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 einzelnen 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: "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 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 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 Teilbilder 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 interessant, 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-Verfahren. 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 Verfahren eine Rekursive-Baum-Struktur aufweist.
Bei dem bekannten Pipeline-Verfahren werden die Prozessoren in eine Art Pipeline aufgereiht, wobei Pixel oder Pixelregionen durch diese Pipeline geschickt werden. Auf dem Weg durch die Pipeline erfahren die Pixelregionen Veränderungen, die durch die an dem Prozeß beteiligten Prozessoren bedingt sind. Folgende Artikel beschreiben 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 Computer 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 Verfahren ist in den folgenden Beiträgen beschrieben: D. Fussell, B.D. Rathi : "A VLSI-Oriented Architecture for Real-Time Raster Display of Shaded Polygons", Proceedings 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. Ru olo: "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. Pixelinformationen und dem Vorliegen des Ergebnisses, je mehr Prozessoren in der Pipeline vorgesehen sind. Überdies gestatten die genannten Pipeline-Verfahren keine skalierbare Datenverarbeitung, wie im Falle von paral lelen Verfahren. Bei den Verfahren, die nach einer "Rekursiven-Baum-Struktur" arbeiten, werden die zur Verfügung stehenden Prozessoren je weiter der Prozeß voranschreitet, nur ungenügend genutzt.
Darstellung der Erfindung
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum parallelen Zusammenfassen von N Datensätzen, derart anzugeben, daß möglichst schnell und unter Nutzung aller vorhandener Komponenten die Informationen 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 Eigenschaften 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 angegeben. Den Erfindungsgedanken vorteilhaft ausbildende weitere Merkmale sind Gegenstand der Unteransprüche.
Erfindungsgemäß ist ein Verfahren zum parallelen Zusammenfassen von N Datensätzen derart ausgebildet, daß jedem von N Prozessoren jeweils ein Datensatz zugeordnet ist. Die N Datensätze werden zur Ergebnisauswertung derart miteinander gemischt, daß jeder Prozessor jeweils Paar-weise auf die Datensätze aller N-l Prozessoren in N-l getrennten Schritten zugreift und mit diesen Daten austauscht, wobei eine Schritt-Steuerung die Prozessor-Paarbildung gemäß einer Exklusiv- Oder-Funktion bestimmt.
Jeder Prozessor besteht wenigstens aus einem Mikroprozessor, der Datensätze in seinem lokalen Speicher verarbeiten kann, sowie weiterhin aus einem Anschluß an ein Kommunikations-Netzwerk, über das ein Prozessor auf den Speicher eines anderen Prozessors zugreifen kann. Auf diese Weise kann ein Prozessorpaar Daten austauschen. In der Literatur ( siehe auch I. Stomenovic: "Direct Inter- connection Networks", erschienen in A. Zomaya (ed.), "Parallel & Distributed Computing Handbook", McGraw-Hill, 1996; T.-Y. Feng: "A Survey of Interconnection Networks", IEEE Computer, Vol. 14, No . 12, Dec . 1981, pp.12-27) wird in diesem Zusammenhang häufig der Begriff "Knoten" für derartig miteinander verbundenene Prozessoren verwendet. 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 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 Ro , ... , RH . ι 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-l 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-l Schritte Si , ... , SN ι ausgeführt. Im folgenden sei R* die j-te Bildregion Rj des i-ten Pro- zessores Pi und mit E* wird das Ergebnis im j-ten Arbeitsschritt Sj auf dem i-ten Prozessor Pj. bezeichnet. Als anfängliches Teilergebnis Eo besitzt jeder Prozessor Pi die ihm zugeordnete Region seines lokalen Teilbildes:
Figure imgf000011_0001
In jedem Schritt tauschen Prozessor-Paare Bildregionen aus und mischen diese danach zu ihren eigenen Teilergebnissen. In jedem Schritt hat jeder Prozessor einen anderen Partner-Prozessor. Die Schritt-Steuerung bestimmt mit einem Schrittzähler den aktuellen Partner- Prozessor von Pj im i-ten Schritt Si durch die Exklusiv- Oder-Funktion und ist somit:
i® 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:
Figure imgf000011_0002
Nachdem dieser Tauschvorgang im Schritt S,. 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 = Ej Z Rp » r C ar
Das dargelegte Verfahren ist nicht von der Art des verwendeten Misch-Verfahrens abhängig. Nach N-l Schritten λ besitzt jeder Prozessor Pj als Ergebnis ENI . \ 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 werden, 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ör ig organisierten Datentransport Log2 (N) Schritten die Ergebnisse auf einem Prozessor zusammenfassen.
Vorstehend ist zwar davon ausgegangen worden, daß die Schritte Si , ... , SN - ι in eben dieser aufsteigenden Reihenfolge ausgeführt werden. Dies jedoch ist nicht zwingend notwendig. Die Schritte SI,...,SN-I können jedoch auch in einer beliebigen Permutation ausgeführt werden, zumal das Endergebnis letztlich von der Permutation 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-l, sondern die gleiche, wie für die nächst höhere 2er-Potenz von Prozessoren benötigt würde, also:
Figure imgf000013_0001
Zum anderen kann es vorkommen, daß im i-ten Schritt Si beim Auffinden des Prozessor-Partners von Pj ein Prozessor 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 erfindungsgemäße Verfahren ist vornehmlich zur Durchführung von Berechnungen gedacht, 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 ausgetauscht werden, so daß nach N-l Schritten alle Prozessoren jegliche für Sie notwendigen Informationen zur Berechnung ihrer Teil-Endergebnisse erhalten. Zur Weiterverarbeitung des Gesamt-Endergebnisses sind nur noch die Teil-Endergebnisse jedes einzelnen Prozessors zusammenzuführen. Kurze Darstellung der Zeichnungen
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 Hardwarekomponenten,
Fig. 2 Darstellung der Prozessor-Paarbildung in Tabellenform, sowie
Fig. 3 schematisiertes Ablauf-Diagramm des erfindungsgemäßen Verfahrens .
Beschreibung von Ausführungsbeispielen
In Figur 1 sind die für die Durchführung des Verfahrens beteiligten Hardware-Komponenten dargestellt. Im vorliegenden Falle sind N = 4 Prozessoren Po , Pi , P2 , P3 an einen gemeinsamen Speicher Sp über ein Verbindungs- Netzwerk Vn angeschlossen. In dem
Speicher Sp sind vier Teilbilder Tl, T2 , T3 und T4 gespeichert. Der Bildraum eines jeden Teilbildes wird in vier rechteckige Regionen Ro , Ri , R2 und R3 aufgespalten. 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 werden die Bildregionen Ro in den einzelnen Teilbildern Tl bis T4 von dem Prozessor Po verarbeitet. Entsprechendes gilt für die Regionen Ri , R2 und R3. Ebenso ist im Speicher Sp ein Ergebnisdatensatz E vorgesehen, in den die Teilergebnisses 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 Prozessoren ausgetauscht werden.
Im gezeigten Beispiel für N = 4 Prozessoren sind N-l = 3 Zeitschritte auszuführen, so daß jeder Prozessor mit jedem anderen in Verbindung tritt. In Figur 2 ist eine Tabelle dargestellt, nach der der Schrittzähler die Prozessor-Paarbildung vornimmt. Die Schritt-Steuerung dient dazu, daß im i-ten Arbeitsschritt St 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äß Figur 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 Po bis P3. Den einzelnen Prozessoren sind ihre ursprünglichen Bildregionen R? bis R3 aus den Teilbildern Tl bis T4 zugeordnet. In einem ersten Schritt Si erhält beispielsweise der Prozessor Po die Daten der Bildregion Ro vom Prozessor Pi und mischt diese mit den Daten der Bildregion Ro , die ihm bereits zugeteilt gewesen sind. Ferner erhält beispielweise der Prozessor P3 im ersten Schritt Si die Daten der Bildregion R* vom Prozessor P2. Diese ihm zukommenden Daten der Bildregion R mischt nun der Prozessor P3 mit den bereits vorhandenen Daten R . 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 Figur 2 dargestellt ist, ein weiterer Datenaustausch vorgenommen. So erhält beispielsweise der Prozessor Pi die Daten der Bildregion Ri vom Prozessor P3 und mischt diese mit seinen bereits gespeicherten Daten der Bildregionen Ri . Im Gegenzug dazu beispielsweise übergibt der Prozessor Pi die Daten der Bildregion R3 dem Prozessor P3 , der diese mit seinen bereits abgespeicherten Daten R^ mischt. Entsprechendes gilt für den letzten Schritt S3.
Zunächst einmal ist daraufhinzuweisen, daß alle Prozessoren Po bis P3 während des ganzen Datenaustauschprozesses 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 erfindungsgemäß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:
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-l)/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 angeben:
( (N-l)/N) * (T(A) + C(A))
Im Fall des obenstehend beschriebenen Prozesses mit N = 4 Prozessoren gilt folgende Beziehung für die Gesamtzeitdauer Tc.ait :
Toe.a t = 0,75 * T(A) + 0,75 * C(A)
In diesem Beispiel würde eine Pipeline, die den Bildraum in 100 Regionen unterteilt, etwa 37 Prozent mehr Zeit benötigen und ein Binär-Baum-basiertes Mischverfahren etwa 166 Prozent mehr.
Ein weiterer Vorteil des erfindungsgemäßen Verfahrens gegenüber dem Pipeline-Verfahren ist, daß das Ergebnisbild nicht Stück für Stück verfügbar, sondern die beteiligten Prozessoren das Bildmischen zur gleichen Zeit beenden, ähnlich wie bei den Binär-Baum-Verfahren.

Claims

P a t e n t a n s p r ü c h e
1. Verfahren zum parallelen Zusammenfassen von N- Datensätzen, mittels N Prozessoren (P0 , ..., PN - ι ) , denen jeweils ein Datensatz zugeordnet ist, die zur Ergebnisauswertung derart miteinander gemischt werden, daß jeder Prozessor jeweils Paar-weise auf die Datensätze aller N-l Prozessoren in N-l 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 Regionen (Ro , ••., RQ-I) unterteilt werden, und daß jede der N Regionen einem Prozessor zur Berechnung der in den Regionen enthaltenen Einzeldaten für die Ergebnisauswertung 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 zugeordneten Datensätze ausgetauscht werden, die von dem jeweiligen 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-l Schritten 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 entsprechen, nach der Exklusiv-Oder-Funktion vorgenommen wird.
PCT/DE1997/001338 1996-06-27 1997-06-26 Verfahren zum parallelen zusammenfassen von n datensätzen WO1998000810A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP97931667A EP0907932A1 (de) 1996-06-27 1997-06-26 Verfahren zum parallelen zusammenfassen von n datensätzen

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO1998000810A1 true WO1998000810A1 (de) 1998-01-08

Family

ID=7798253

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1997/001338 WO1998000810A1 (de) 1996-06-27 1997-06-26 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
US7097620B2 (en) 1994-09-02 2006-08-29 Volcano Corporation Guidewire with pressure and temperature sensing capabilities

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0427322A1 (de) * 1989-11-06 1991-05-15 Océ-Nederland B.V. Verfahren und Vorrichtung zur Verarbeitung von von Bildern herkommenden Daten
EP0584982A2 (de) * 1992-08-07 1994-03-02 International Business Machines Corporation Methode und System zur Verarbeitung von graphischen Datenströmen, in dem mehrere Prozessorknoten verwendet werden
EP0693737A2 (de) * 1994-07-21 1996-01-24 International Business Machines Corporation Verfahren und Apparat zum Verwalten der Aufgaben in einem Mehrprozessorsystem

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728624A (ja) * 1993-07-13 1995-01-31 Mitsubishi Electric Corp ソート装置及びソート方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0427322A1 (de) * 1989-11-06 1991-05-15 Océ-Nederland B.V. Verfahren und Vorrichtung zur Verarbeitung von von Bildern herkommenden Daten
EP0584982A2 (de) * 1992-08-07 1994-03-02 International Business Machines Corporation Methode und System zur Verarbeitung von graphischen Datenströmen, in dem mehrere Prozessorknoten verwendet werden
EP0693737A2 (de) * 1994-07-21 1996-01-24 International Business Machines Corporation Verfahren und Apparat zum Verwalten der Aufgaben in einem Mehrprozessorsystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7097620B2 (en) 1994-09-02 2006-08-29 Volcano Corporation Guidewire with pressure and temperature sensing capabilities

Also Published As

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

Similar Documents

Publication Publication Date Title
EP1227444B1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE19807013B4 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE69914355T2 (de) Bildverarbeitungsgerät
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE69535231T2 (de) VERFAHREN ZUR INTEGRATION EINES Bildtextursignalspeicher UND INTERPOLATIONSLOGIK
DE3619420C2 (de)
DE102010018701B4 (de) Bilderzeugungstechniken
DE60012917T2 (de) Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten
DE102013017640A1 (de) Verteilte gekachelte Zwischenspeicherung
DE102013018445A1 (de) Festlegung eines nachgeordneten Bilderzeugungszustands in einer vorgeordneten Schattierungseinheit
DE60008867T2 (de) Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
DE3831428A1 (de) Verfahren und vorrichtung zum erzeugen einer tiefenkarte
DE19806985B4 (de) Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht
DE19620263B4 (de) Datensynchronisation zwischen einer Mehrzahl von asynchronen Datenaufbereitungen
EP2457219B1 (de) Verfahren und anordnung zur generierung von darstellungen anisotroper eigenschaften sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE4100691B4 (de) Verfahren zur Darstellung eines dreidimensionalen Modells
DE112011105126T5 (de) Texturkartierungsvorrichtung
DE19625869C2 (de) Verfahren zum parallelen Zusammenfassen von N Datensätzen
DE60025957T2 (de) Verfahren und vorrichtung zur gewährleistung der abwärts-kompatibilität in einem bucket-darstellungssystem
EP2893510A1 (de) Verfahren und bildverarbeitungsanlage zum entfernen eines visuellen objektes aus einem bild
EP1031917A2 (de) Anordnung für eine dreidimensionale Anzeige

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1997931667

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09171458

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1997931667

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1997931667

Country of ref document: EP