EP1955223A2 - Verfahren zur computergestützten simulation technischer prozesse - Google Patents

Verfahren zur computergestützten simulation technischer prozesse

Info

Publication number
EP1955223A2
EP1955223A2 EP06829094A EP06829094A EP1955223A2 EP 1955223 A2 EP1955223 A2 EP 1955223A2 EP 06829094 A EP06829094 A EP 06829094A EP 06829094 A EP06829094 A EP 06829094A EP 1955223 A2 EP1955223 A2 EP 1955223A2
Authority
EP
European Patent Office
Prior art keywords
graph
nodes
propagation
edges
memory
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.)
Ceased
Application number
EP06829094A
Other languages
English (en)
French (fr)
Inventor
Peter Klein
Dirk Merten
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 Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung 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 Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority to EP13178570.1A priority Critical patent/EP2660741A1/de
Publication of EP1955223A2 publication Critical patent/EP1955223A2/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Definitions

  • the present invention relates to a method for the computer-aided simulation of technical processes. Such methods are needed in particular for evolution simulation models of technical, in particular physical and / or chemical processes which are to be propagated in time (evolution).
  • the additional level of abstraction of the method according to the invention permits a generic optimization of the propagation of evolutionary problems on a wide variety of hardware architectures, while concealing the optimization behind a general interface which does not depend on the specific evolutionary problems and not on hardware architectures.
  • optimizations are limited to monolithic approaches to specific evolutionary problems and special hardware architectures, so these approaches always only experts are accessible for special hardware architectures.
  • This type of optimization is thus not generically available to new evolutionary problems or new hardware architectures. In most cases, this costly optimization strategy does not make economic sense either, since considerable effort in the maintenance and porting of implemented evolutionary problems would be inherent in this approach.
  • the present invention abstracts the necessary expert knowledge for hardware-specific optimization and thus secures the portability with high performance of various evolution problems that have been implemented by the method according to the invention.
  • This new optimization is also generically available to non-experts for specific hardware architectures and represents a major economic benefit.
  • the FEMLAB program package goes a step further here, but again only a set of coupling algorithms is available for finite element-based methods. However, the individual methods must be based on the finite element method.
  • At least two different mathematical models which are based on different discrimination units, are combined to form a common evolutionary problem in that an additional level of abstraction, which is superordinate to the mathematical models, is introduced.
  • This level of abstraction consists of a graph onto which the mathematical models are mapped as general evolutionary problems.
  • the discretization units such as finite elements, wavelets or particles and the like, as well as their neighborhood relations, are represented as nodes and edges (links) of the graph. They are therefore the basic elements of the geometry of the evolutionary problem.
  • the evolutionary algorithms describing the temporal propagation of the discretization units as well as their neighborhood relations, ie the nodes and the edges, are traced back to generic operators.
  • evolution operators are provided gen- erally and uniformly for the nodes which are uniform with respect to the associated discretization unit.
  • Generic evolution operators are also provided for the edges of the graph, ie unified operators are provided for the edges connecting between nodes of the same discretization unit, which are then applied equally to all such nodes.
  • generic evolution operators are provided in each case with which these edges are uniformly distributed in the Time can be propagated.
  • a criterion is assigned to each of the nodes and the edges, which determines the associated discretization unit or the type of by the
  • Characterized edges connected nodes As a mark, for example, a color can be selected. If the entire evolution problem consists of two mathematical models, for example a model based on finite elements and a model based on particles, then all nodes representing finite elements get one color, for example blue, while all the nodes to which particles have been imaged, for example get the color red. The edges between two nodes on which particles have been imaged are then also red, the color of the edges connecting nodes to which finite elements have been imaged are then blue, while the color of those edges which have a node on the a finite element has been imaged, and a node onto which a particle is imaged was connect as bicolor blue-red.
  • the two different mathematical models can not only describe the technical process in different spatial or temporal domains, but that the models can co-exist in the same spatial and temporal domain of a technical process. This means that for the same spatial and / or temporal range the technical process is described by both mathematical models.
  • the graph does not have to remain static because nodes can change color, for example, when a particle moves out of the range described by a molecular dynamics model in a region described by finite elements. In this case, then the nodes and / or edges change color. It is also possible to dynamically create or destroy nodes and / or edges.
  • the hardware-specific decomposition and parallelization The graph can now be prepared for the graph itself without knowledge of the technical processes and mathematical models implemented in the graph.
  • the present invention thus makes it possible to optimize the simulation methods on hardware architectures and at the same time enables portability to fundamentally different architectures.
  • the graph serves as an abstract interface.
  • the present invention thus makes it possible to decompose and partition the graph generically into individual problems and thereby to parallelize them without knowing the specific technical process.
  • This additional level of abstraction of the graph thus allows a generic and automatic parallelization, for example taking into account the hardware specifics.
  • the simulation can therefore be completely described starting from the graph as a method, and the user only has to determine the respective graph structure as a function of the technical process to be simulated by him.
  • the concrete decomposition of the problem and partitioning or parallelization of the concrete problem and the mathematical models used for its simulation and description are decoupled.
  • Graphs are provided and general communication patterns are implemented. Again, the abstraction of the graph allows an architecture-specific optimization in which the internal process of these mechanisms is adapted to the hardware. For example, at each time step of computing the evolution problem, memory accesses can be reduced by maximized vector lengths or cache reuse.
  • the parallel communication patterns can also be optimized by a chromatically ordered communication graph (communication pattern), which can be used here according to the invention.
  • a chromatically ordered communication graph is described in "Peter Klein, Activity Report of the Institute of Industrial Mathematics 1999, pages 28, 29, available at the Press Office of the Fraunhofer ITWM, Gott Kunststoff Daimler Strasse, 76857 Kaiserslautern.” This document is fully incorporated in the Revelation of the present application.
  • the present invention allows the user to define and use any of their own data structures and also evolution operators.
  • the implementation of parallelization remains with the user behind the general interface, the graph, which implements the method of propagating the graph in a hardware-dependent and generic manner, ie independent of the concrete data structure and the concrete evolution operators.
  • the present invention is thus not limited to individual methods and problems, but can generally be used in simulation and evolution models. It has particular advantages in the field of multiphysics simulation models, in which various mathematical models with different discretization units are used on a domain and / or part of a time basis.
  • the present invention thus realizes a generic optimization on all hardware levels adapted to architecture-specific characteristics.
  • the use of the memory hierarchies can be optimized particularly advantageously by dividing the GJraph into individual subgraphs and the individual subgraphs in the main memory in each case approximately or exactly in the size of one n memory areas (L2 blocks) are stored. Then all node operators and link operators (propagations of nodes and edges) that access the same memory area, as blockwise as possible directly after each other. Thus, first all node operators and then all link operators accessing the same memory area are executed, and then the node operators and link operators are accessed which access the next memory area. In this way it is possible to make optimal use of the cache memory. In the prior art, it has hitherto been customary to carry out first all node operators and then only all link operators. In contrast, the logical pipelining according to the invention leads to a considerably improved performance with a constant hardware specification.
  • L2 cache can also be applied to other storage hierarchies (cache hierarchies).
  • cache hierarchies In the case of multiple (k is a natural number) cache memory levels, the subdivision into subgraphs can therefore be made so that each one
  • Subgraph is stored in the main memory respectively in a memory area whose size corresponds to the size of a memory block of one of the k cache memory.
  • the m-th storage level can be selected for optimization, for example. If this is realized by an n-fold associative memory with n memory blocks, with each memory block having a size of x kbytes, the graph is subdivided into sub-graphs so that each sub-graph in the main memory occupies a memory area of x kbytes. However, it is also sufficient already to store each subgraph in the main memory in a memory area with approximately or approximately, but not exactly x kbyte, in order to achieve a performance improvement. For more than two cache hierarchy levels (k> 2) can be used by Selection of the appropriate m-th memory level, the inventive method can be optimized.
  • FIG. 1 shows a graph according to the invention
  • FIGS. 2a to 2c show the parallelization of a graph
  • FIG. 3 shows the decomposition of a graph
  • FIG. 4 shows the optimization of the cache utilization by the method according to the invention
  • Figure 5 shows the results of the process according to the invention using a four-associative L2-cache memory
  • FIG. 1 shows a graph according to the invention of a multi-physics application according to the present invention.
  • a first physical computing area A (shown in light) the finite element method is used to simulate the physical problem in order to implement a continuum mechanical description of the behavior of a material.
  • a second computing area B (shaded in gray) the so-called molecular dynamics is used to propagate atoms in time.
  • finite elements are used as the discriminating element, while particles are used in the area B as the discretizing element.
  • the particles have as their data their coordinates, velocities and a particle identifier.
  • the coordinates are propagated using velocity in time.
  • a node operator is implemented as an evolution operator.
  • the velocities are propagated with forces, whereby the forces depend on neighboring atoms. This was implemented as a link operator.
  • the discretization unit consists of a finite element, whereby the displacement of the finite element is solved by means of standard methods, which are implemented as node and edge operators of the finite elements.
  • the finite elements 2a are interconnected via intra-links (intra-nodes) 3a.
  • the particles 2b in the region B are interconnected by intra-nodes 3b.
  • the connection between the particles 2b and the finite elements 2a takes place via inter-links 3c.
  • areas A and B do not necessarily have to be spatially different areas. These can also be temporally different areas or even overlapping or even congruent areas. In the latter case, the technical process is then described twice by two different mathematical models.
  • the node 2a and the edges 3a can be assigned the color red, the node 2b and the edges 3b the color blue, while the edges 3c are red-blue or blue are red.
  • colors instead of colors, however, any other type of license plate is possible. Colors are suitable but especially good for the intuitive representation of the different areas of a total graph 1.
  • FIGS. 2A to 2C show the steps that are performed in the parallelization of the graph 1 after the geometry and the algorithms of the mathematical models, as shown in FIG. 1, have been mapped onto the graph 1.
  • Figure 3 shows the decomposition into sub-problems, in which a graph is shown representing nodes 2a and 2b of different discretization units.
  • a graph is shown representing nodes 2a and 2b of different discretization units.
  • the decomposition of the total graph into subproblems and then another
  • Disassembly on the processors By disassembling the processors and breaking them down into the subproblems, the hardware can be taken into account, such as adjusting memory usage and loops to an existing L2 cache. Finally, the parallelized problem initia- llabor and calculates and so simulated the technical process.
  • FIG. 4 shows the logical pipeline which has been optimized for an n-times associated L2 cache. Instead of first propagating all nodes (Note_Operator (.)) And then propagating all edges (Link operator (.)) As usual in FIG. 4A and in the state of the art, a different procedure is now selected as shown in FIG , For this purpose, the information for a graph section, for example 4a in FIG. 2C, is stored in a respective memory area and subsequently all nodes and edges of this graph area are propagated. In this case, access to the information in a memory area of the cache memory takes place primarily. Only then are the nodes and edges propagated, whose propagation requires access to the second area of the cache memory. The use of the cache memory is thereby optimized.
  • Figure 5 shows the results achieved by this procedure. For a four-associative L2 cache (with a memory block size of
  • each subgraph in the main memory was assigned a container size of 256 KB, and then, as described for FIG. 4, the respective processor first assigned all nodes and edges whose propagation was assigned to it and for those required Information stored in the associated container (memory block) were calculated. Only then was the propagation of the overall graph determined.
  • the container size of 256 KB results in exactly one storage area of the four 1024 KB associative L2 cache, performs optimally compared to container sizes that are smaller or larger. The method according to the invention thus results in a very efficient use of resources when using an L2 cache-based computer system.
  • FIGS. 6 to 8 now show the pseudocode for the initialization and use of the method according to the invention.
  • FIG. 6 shows the use of the method only with a mathematical model, in this case molecular dynamics.
  • FIG. 7 likewise uses only a mathematical model using finite elements as the discretization unit.
  • FIGS. 8A and 8B which must be read continuously, now connect these two elements from FIGS. 6 and 7 to a method according to the invention.
  • the nodes are created first with R. register_BDE and the edges of the graph with R. register_Link, which are intended to map a molecular dynamics model.
  • InteractionForce Force, Liouville_V UV and Liouville_Q UQ define the propagation routines for calculating the forces between the individual nodes, for the propagation of the velocity V and the propagation of the coordinates Q of the nodes.
  • These general routines (propagation operators) apply to all nodes and edges of type MD (belonging to the molecular dynamics model). With the time loop indicated in the pseudocode, the propagation is then carried out by applying the abovementioned propagation operators to all nodes and edges for one period of time.
  • FIG. 7 shows the same system for finite elements as a discretization unit. Again, the nodes and edges of the graph that map the finite element model are defined via R.register_BDE and R. register_Link.
  • the method according to the invention now combines both models and first provides a graph in which the edges and nodes of the finite element model as well as the edges and nodes are defined according to the molecular dynamics model.
  • the corresponding propagation operators are defined as in FIGS. 6 and 7.
  • join operators are now defined that couple together nodes connected via edges of the molecular dynamics subgraph and the finite element subgraph. This follows as an operator, which calculates the displacement of the adjacent finite element from the molecular dynamics model (CalcDisplacementMD) and on the other hand an operator, which calculates from the finite element model, the force acting on a particle in the molecular particle model (CalcForceFE).
  • the user has then completely defined the graph, and the graph is then subsequently propagated in time (see section "Time Loop"), in which the mentioned propagation operators and coupling operators are applied to the nodes and edges according to their respective properties.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zur computergestützten Simulation technischer Prozesse. Derartige Verfahren werden insbesondere bei Evolutionssimulationsmodellen technischer, insbesondere physikalischer und/oder chemischer Prozesse benötigt, die in der Zeit propagiert werden sollen (Evolution). Das erfindungsgemäße Verfahren zur computergestützten Simulation der zeitlichen Propagation technischer Prozesse als Evolutionsproblem, das durch mindestens zwei verschiedene mathematische Modelle als Subevolutionsprobleme beschrieben wird, die voneinander verschiedene, mittels modellspezifischer Algorithmen in der Zeit propagierte Diskretisierungseinheiten verwenden, wobei die Simulation mittels einer Vielzahl von Berechnungseinheiten ausgeführt wird, ist dadurch gekennzeichnet dass die mathematischen Modelle auf eine einzige zusammenhängende Graphenstruktur (1) mit den Diskretisierungseinheiten als Knoten (2) und deren Nachbarschaftsrelationen als Kanten (3) abgebildet werden, und der Graph unter Verwendung von Evolutionsoperatoren in der Zeit propagiert wird.

Description

Verfahren zur computergestützten Simulation technischer Prozesse
Die vorliegende Erfindung betrifft ein Verfahren zur computergestützten Simulation technischer Prozesse. Derartige Verfahren werden insbesondere bei Evoluti- onssimulationsmodellen technischer, insbesondere physikalischer und/oder chemischer Prozesse benötigt, die in der Zeit propagiert werden sollen (Evolution) .
Simulationen technischer Prozesse gehen im allgemeinen davon aus, dass mathematische Modelle erstellt werden, mit denen der technologische Prozess approximiert dargestellt wird. Als mathematische Modelle dienen beispielsweise gewöhnliche oder partielle Differentialgleichungen oder Differentialgleichungssysteme. Diese verwenden sog. Diskretisierungseinheiten (Basic Discretization Entities, BDE), die die Lösung dieser Gleichungen der Berechnung mit Hilfe eines Computers zugänglich machen. Dies erfolgt, indem die BDEs auf diskrete Datenstrukturen abgebildet werden und mit Hilfe mathematischer Algorithmen bzw. Operatoren in der Zeit propagiert werden. Die Propagation kann dabei auch zufällige Elemente beinhalten.
Die zusätzliche Abstraktionsebene des erfindungsgemäßen Verfahrens erlaubt eine generische Optimierung der Propagation von Evolutionsproblemen auf verschiedensten Hardware-Architketuren, wobei die Optimierung hinter einer allgemeinen Schnittstelle, die nicht von den speziellen Evolutionsproblemen und nicht von Hardware-Architekturen abhängt, verborgen bleibt. Im Gegensatz dazu sind im Stand der Technik solche Optimierungen auf monolithische Ansätze für spezielle Evolutionsprobleme und spezielle Hardware- Architekturen beschränkt, so dass diese Ansätze immer nur Experten für spezielle Hardware-Architekturen zugänglich sind. Diese Art von Optimierung steht damit weder neuen Evolutionsproblemen noch neuen Hardware- Architekturen generisch zur Verfügung. Meist ist die- se aufwendige Optimierungsstrategie auch nicht wirtschaftlich sinnvoll, da erheblicher Aufwand in War- tungs- und Portierungsarbeiten von implementierten Evolutionsproblemen in diesem Ansatz inhärent zu leisten wäre. Die vorliegende Erfindung abstrahiert das notwendige Expertenwissen zur hardwarespezifischen Optimierung und sichert damit die Portierbar- keit bei hoher Performance von verschiedensten Evolu- tionsproblemen, die nach dem erfindungsgemäßen Verfahren implementiert wurden. Diese neue Optimierung steht auch Nicht-Experten für spezielle Hardware- Architekturen generisch zur Verfügung und stellt einen hohen wirtschaftlichen Vorteil dar.
Der Stand der Technik im Umfeld dieser Offenbarung ist umfassend dargelegt in dem Übersichtsartikel von L. Oliker, et. al . , Scientific Computations on Modern Parallel Vectorsystems, Proceedings of the SC2004 Conference, Pittsburgh, PA. Generell ist zu konstatieren, dass Simulation von Evolutionsproblemen, imp- lementiert nach dem Stand der Technik auf verteilten und vernetzten Berechnungseinheiten, eine Performance von etwa 5 - 10 % der theoretisch möglichen Peakper- formance aufweisen.
Weitere Evolutionsprobleme, die am Fraunhofer ITWM nach dem Stand der Technik implementiert wurden, sind im ParPac Simulationspaket zur Lösung der so genannten Gitter-Boltzmann Gleichung zusammengefasst (Tätigkeitsbericht Institut für Techno- und Wirtschaft- mathematik 1999, Seiten 24 - 28, erhältlich bei der Pressestelle des Instituts für Techno- und Wirt- Schaftmathematik, Gottlieb-Daimler-Straße, 76857 Kaiserslautern. Auch diese Druckschrift wird vollumfänglich in die Offenbarung der vorliegenden Anmeldung aufgenommen) . ParPac wurde für vernetzte und verteil- te Berechnungseinheiten nach dem Stand der Technik parallelisiert und liefert auf aktuellen Hardware- Architekturen, im Einklang mit dem Stand der Technik, etwa 7 % der theoretischen Peakperformance .
Hier hat sich herausgestellt, dass unter Einsatz der vorliegenden Erfindung in dieser konkreten Anwendung eine Performance-Verbesserung auf aktuellen Hardware- Architekturen um den Faktor 4 erzielt wird. Der wirtschaftliche Vorteil rein aus der Performancesteige- rung kann hier sogar qualifiziert werden: für ParPac- Simulationen nach dem Stand der Technik wird, bei gleicher Antwortzeit, ein um den Faktor 4 größeres paralleles Rechnersystem benötigt als unter zusätzlichem Einsatz der vorliegenden Erfindung, was bei tau- senden von vernetzten Prozessoren zu erheblich höheren Anschaffungs- und Betriebskosten führt.
Diese Frameworks gemäß dem oben beschrieben Stand der Technik können für ein spezifisches mathematisches Modell variierende Hardwarespezifika sehr spezifisch berücksichtigen. Eine generische Optimierung und gegebenenfalls Parallelisierung der Propagation in der Zeit, die also nicht abhängig ist von der gewählten BDE und dem gewählten mathematischen Modell, wird in diesen Frameworks nicht realisiert.
Bei diesen Ansätzen wird auch durch die Verwendung lediglich einer Sorte BDEs die integrierte Kopplung verschiedener Anwendungen, wie sie etwa in Multiphy- sics-Simulationen erforderlich ist, von vornherein ausgeschlossen. Mit der Softwarebibliothek MPCCI existiert zwar die Möglichkeit, verschiedene Finite Elemente-basierte Applikationen miteinander zu koppeln, es existiert jedoch keine Kopplung an andere mathematische Verfahren, die beispielsweise auf Teilchen oder Wavelets basieren. Auch eine integrierte hardwarenahe Optimierung der einzelnen Finite-Element-Löser fehlt in diesem Programmpaket .
Das Programmpaket FEMLAB geht hier einen Schritt weiter, indem allerdings auch wieder lediglich für Finite Elemente-basierte Verfahren, eine Reihe von Kopplungsalgorithmen zur Verfügung gestellt werden. Die einzelnen Verfahren müssen jedoch zwingend auf der Finite-Elemente-Methode beruhen.
Da mit Finiten Elementen jedoch nicht alle technologisch wichtigen Problemstellungen, etwa im Umfeld der Nanotechnologie, modellierbar sind, besteht hier ein Bedarf an neuen Verfahren.
Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren zur computergestützten Simulation technolo- gischer Prozesse zur Verfügung zu stellen, das es ermöglicht, verschiedene mathematische Modelle basierend auf verschiedenen Diskretisierungseinheiten miteinander zu verknüpfen und zugleich unabhängig von dem gewählten mathematischen Modell eine hardwarespe- zifische Optimierung des Rechenprozesses generisch zu verwirklichen .
Diese Aufgabe wird durch das Verfahren nach Anspruch 1 gelöst. Vorteilhafte Weiterbildungen des erfin- dungsgemäßen Verfahrens, insbesondere auch die gene- rische Parallelisierung von Evolutionsproblemen auf vernetzten Berechnungseinheiten, werden in den jeweiligen abhängigen Ansprüchen gegeben.
Erfindungsgeraäß werden mindestens zwei verschiedene mathematische Modelle, die auf unterschiedlichen Dis- kretisierungseinheiten beruhen, dadurch zu einem gemeinsamen Evolutionsproblem zusammengefasst , dass eine zusätzliche Abstraktionsebene, die den mathematischen Modellen übergeordnet ist, eingeführt wird. Diese Abstraktionsebene besteht aus einem Graphen, auf den die mathematischen Modelle als allgemeine Evolutionsprobleme abgebildet werden. Dabei werden die Diskretisierungseinheiten, wie beispielsweise Fi- nite Elemente, Wavelets oder Teilchen und derglei- chen, sowie deren Nachbarschaftrelationen als Knoten sowie Kanten (Links) des Graphen repräsentiert. Sie sind daher die Basiselemente der Geometrie des Evolutionsproblems. Die Evolutionsalgorithmen, die die zeitliche Propagation der Diskretisierungseinheiten sowie ihrer Nachbarschaftsrelationen, also der Knoten und der Kanten beschreiben, werden auf generische Operatoren zurückgeführt. Diese Evolutionsoperatoren werden für die Knoten, die bezüglich der zugeordneten Diskretisierungseinheit einheitlich sind, jeweils ge- nerisch und einheitlich zur Verfügung gestellt. Auch für die Kanten des Graphen werden generische Evolutionsoperatoren zur Verfügung gestellt, d.h. für die zwischen Knoten gleicher Diskretisierungseinheit verbindenden Kanten werden jeweils einheitliche Operato- ren zur Verfügung gestellt, die dann gleichermaßen auf sämtliche derartigen Knoten angewandt werden. Auch für die Kanten, die verschiedene Diskretisierungseinheiten verbinden und damit verschiedenen mathematischen Modellen zugeordnet sind, werden jeweils generische Evolutionsoperatoren zur Verfügung gestellt, mit denen einheitlich diese Kanten in der Zeit propagiert werden können.
Obwohl das erfindungsgemäße Verfahren den Gesamtgraphen als eine zusätzliche Abstraktionsebene einführt und die Parallelisierung und Optimierung durch gene- rische Operatoren durchgeführt wird, wird wider Erwarten die Simulation erheblich beschleunigt bzw. die erforderliche Rechenleistung verringert.
Während im Stand der Technik versucht wird, durch problemspezifische Algorithmen die vorhandene Rechenleistung optimal zu nutzen, geht also die vorliegende Erfindung den entgegengesetzten Weg und generalisiert das Problem. Dennoch werden in ersten konkreten An- Wendungen Leistungssteigerungen um den Faktor 4 beobachtet .
Vorteilhafterweise wird jedem der Knoten und der Kanten ein Kriterium zugeordnet, das die zugehörigen Diskretisierungseinheit bzw. die Art der durch die
Kanten verbundenen Knoten charakterisiert. Als Kennzeichen kann beispielsweise eine Farbe gewählt werden. Besteht das gesamte Evolutionsproblem aus zwei mathematischen Modellen, beispielsweise einem Modell basierend auf Finiten Elementen und einem Modell basierend auf Teilchen, so bekommen sämtliche Knoten, die Finite Elemente repräsentieren, eine Farbe, beispielsweise Blau, während sämtliche Knoten, auf die Teilchen abgebildet wurden, beispielsweise die Farbe Rot erhalten. Die Kanten zwischen zwei Knoten, auf die Teilchen abgebildet wurden, sind dann ebenfalls rot, die Farbe der Kanten, die Knoten verbinden, auf die Finite Elemente abgebildet wurden sind dann Blau, während die Farbe derjenigen Kanten, die einen Kno- ten, auf den ein Finites Element abgebildet wurde, und einen Knoten, auf den ein Teilchen abgebildet wurde, verbinden als zweifarbig blau-rot bezeichnet werden. Dies bedeutet, dass zu jedem Kennzeichen genau eine Diskretisierungseinheit assoziiert wird, wobei die Anzahl der Kennzeichen, und damit die Anzahl der Subevolutionsprobleme (mathematischen Modelle) beliebig groß sein kann. Jede Kante des Graphen tragen also automatisch die zwei Farben der Knoten, die durch die Kante verbunden sind. Damit ergibt sich dann auch eine grundsätzliche Unterscheidung zwischen Intra-Kanten (Intra-Links) innerhalb eines Subevolu- tionsproblems (einfarbig) und Inter-Kanten (InterLinks) zwischen zwei unterschiedlichen Subevolutions- problemen (zweifarbig) .
Es ist dabei wesentlich, dass die zwei verschiedenen mathematischen Modelle nicht nur den technischen Pro- zess in verschiedenen räumlichen oder zeitlichen Bereichen beschreiben können, sondern dass die Modelle auch im gleichen räumlichen und zeitlichen Bereich eines technischen Prozesses nebeneinander existieren können. Dies bedeutet, dass dann für denselben räumlichen und/oder zeitlichen Bereich der technische Prozess durch beide mathematischen Modelle beschrieben wird.
Der Graph muss dabei nicht statisch bleiben, da Knoten die Farbe wechseln können, beispielsweise wenn ein Teilchen aus dem durch ein Molekulardynamik- Modell beschriebenen Bereich in einem Bereich sich bewegt, der durch Finite Elemente beschrieben wird. In diesem Falle wechseln dann auch die Knoten und/oder Kanten die Farbe. Es ist auch möglich, Knoten und/oder Kanten dynamisch zu erzeugen oder zu vernichten.
Die hardwarespezifische Zerlegung und Parallelisie- rung des Graphen kann nun für den Graphen selbst ohne Kenntnis der in dem Graphen implementierten technischen Prozesse und mathematischen Modelle vorbereitet werden. Die vorliegende Erfindung ermöglicht es also, die Simulationsverfahren auf Hardwarearchitekturen zu optimieren und ermöglicht zugleich die Portierbarkeit auf fundamental andere Architekturen. Der Graph dient dabei als abstrakte Schnittstelle.
Die vorliegende Erfindung ermöglicht es also, den Graphen generisch in einzelne Probleme zu zerlegen und zu partitionieren und dadurch zu parallelisieren, ohne den konkreten technischen Prozess zu kennen. Diese zusätzliche Abstraktionsebene des Graphen er- möglicht also eine generische und automatische Paral- lelisierung, beispielsweise unter Berücksichtigung der Hardwarespezifika. Die Simulation kann folglich ausgehend von dem Graphen als Verfahren vollständig beschrieben werden, und der Anwender muss lediglich die jeweilige Graphenstrυktur in Abhängigkeit von dem von ihm zu simulierenden technischen Prozess festlegen. Hierdurch wird also die konkrete Zerlegung des Problems und Partitionierung bzw. Parallelisierung von dem konkreten Problem und den zu seiner Simulati- on und Beschreibung verwendeten mathematischen Modellen entkoppelt.
Als Problemzerlegung sind auch mehrere Ebenen einer Zerlegung möglich, so dass neben der problemspezifi- sehen Granularität zusätzlich Hardwarecharakteristi- ka, die als statisch betrachtet werden können, berücksichtigt werden. Dies erlaubt es, die Partitionierung der Größe und Tiefe der Speicherhierarchie, der Verwendung und Verteilung von Shared-Memory- Systemen oder der benutzten Netzwerkverbindung und
-topologie anzupassen, wodurch eine hardwarespezifi- sehe Optimierung erreicht wird. Wenn sich der Gesamt- graph dynamisch ändert, können auch die statischen Aspekte der Problemzerlegung dynamisch an den neuen Graph angepasst werden, sofern sich daraus eine Leis- tungsverbesserung des Simulationsverfahrens ergibt. Konkrete Implementierungen dieser Optimierung sind j edoch hardwarearchitekturabhängig .
Weiterhin können verschiedene generische abstrakte Zugriffsmechanismen auf Knoten und/oder Kanten des
Graphen bereitgestellt werden und allgemeine Kommunikationsmuster implementiert werden. Die Abstraktion des Graphen ermöglicht auch hier wieder eine architekturspezifische Optimierung, in dem der interne Ab- lauf dieser Mechanismen auf die Hardware abgestimmt wird. So lassen sich beispielsweise bei jedem Zeitschritt der Berechnung des Evolutionsproblems die Speicherzugriffe durch maximierte Vektorlängen oder Cache-Wiederverwendung (Cache Reuse) reduzieren. Auch die parallelen Kommunikationsmuster können durch einen chromatisch geordneten Kommunikationsgraphen (Kommunikationsmuster) , der hier erfindungsgemäß verwendet werden kann, optimiert werden. Ein derartiger chromatisch geordneter Kommunikationsgraph wird in „Peter Klein, Tätigkeitsbericht des Institutes für Techno- und Wirtschaftsmathematik 1999, Seiten 28, 29, erhältlich bei der Pressestelle des Fraunhofer ITWM, Gottlieb Daimler Straße, 76857 Kaiserslautern" beschrieben. Diese Druckschrift wird vollumfänglich in die Offenbarung der vorliegenden Anmeldung aufgenommen .
Die vorliegende Erfindung erlaubt es dem Anwender, beliebige eigene Datenstrukturen und auch Evolutions- Operatoren zu definieren und zu verwenden. Die Implementierung der Parallelisierung bleibt dem Anwender hinter der allgemeinen Schnittstelle, dem Graphen, verborgen, die das Verfahren zur Propagation des Graphen hardwareabhängig und generisch, d.h. von der konkreten Datenstruktur und den konkreten Evolutions- Operatoren unabhängig, implementiert. Die vorliegende Erfindung ist also nicht auf einzelne Verfahren und Problemstellungen beschränkt, sondern allgemein in Simulations- und Evolutionsmodellen einsetzbar. Besondere Vorteile besitzt sie im Bereich der Multiphy- sics-Simulationsmodelle, bei denen bereichs- und/oder zeitweise verschiedene mathematische Modelle mit verschiedenen Diskretisierungseinheiten verwendet werden.
Die vorliegende Erfindung verwirklicht also eine ge- nerische Optimierung auf allen Hardwareebenen ange- passt auf architekturspezifische Charakteristika.
So können beispielsweise bei Cache-basierten Maschi- nen kleine aber immer wieder referenzierte Speicherbereiche bezüglich ihres Cache-Reuse maximiert werden, während bei Rechnern mit Vektorarchitektur eine optimale, d.h. möglichst große Vektorlänge, gewählt werden sollte, um einen hohen Datendurchsatz zu er- zielen.
Besonders vorteilhaft kann bei Verwendung eines Computers mit einem n-fach assoziativen L2-Cache- Speicher die Nutzung der Speicherhierarchien opti- miert werden, indem der GJraph in einzelne Subgraphen zerlegt wird und die einzelnen Subgraphen im Hauptspeicher jeweils etwa bzw. genau in der Größe eines der n Speicherbereiche (L2-Blöcke) gespeichert werden. Anschließend werden sämtliche Knotenoperatoren und Linkoperatoren (Propagationen der Knoten und Kanten) , die auf denselben Speicherbereich zugreifen, möglichst blockweise direkt hintereinander ausgeführt. Es werden also zuerst sämtliche Knotenoperatoren und dann sämtliche Linkoperatoren, die auf denselben Speicherbereich zugreifen, ausgeführt, worauf- hin zu den Knotenoperatoren und Linkoperatoren übergegangen wird, die auf den nächsten Speicherbereich zugreifen. Auf diese Weise ist es möglich, den Cache- Speicher optimal zu nutzen. Im Stand der Technik war es bisher üblich, zuerst sämtliche Knotenoperatoren durchzuführen und dann erst sämtliche Linkoperatoren. Demgegenüber führt das erfindungsgemäße logische Pi- pelining zu einer erheblich verbesserten Leistung bei gleich bleibender Hardwarespezifikation.
Dieses Verfahren, hier beschrieben für einen
L2-Cache-Speicher, kann entsprechend auch auf andere Speicherhierarchien (Cachehierarchien) angewandt werden. Im Falle von mehreren (k ist eine natürliche Zahl) Cache-Speicher-Ebenen kann die Unterteilung in Subgraphen also so vorgenommen werden, dass jeder
Subgraph im Hauptspeicher jeweils in einem Speicherbereich gespeichert wird, dessen Größe der Größe eines Speicherblocks eines der k Cache-Speicher entspricht. Weist die Cachehierarchie also k Speicher- ebenen auf, so kann zur Optimierung beispielsweise die m-te Speicherebene gewählt werden. Ist diese durch einen n-fach assoziativen Speicher mit n Speicheblöcken realisiert, wobei jeder Speicherblock eine Größe von x kByte aufweist, so wird der Graph in Sub- graphen so unterteilt, dass jeder Subgraph im Hauptspeicher einen Speicherbereich von x kByte belegt. Es genügt jedoch auch bereits, jeden Subgraphen im Hauptspeicher in einem Speicherbereich mit etwa bzw. annähernd, jedoch nicht exakt x kByte zu speichern, um eine Leistungsverbesserung zu erreichen. Bei mehr als zwei Cache-Hierarchieebenen (k > 2) kann durch Auswahl der geeigneten m-ten Speicherebene das erfindungsgemäße Verfahren optimiert werden.
Mit dem erfindungsgemäßen Verfahren, insbesondere un- ter Verwendung der oben beschriebenen chromatisch geordneten Kommunikationsmuster, kann auch eine konfliktfreie Taskbearbeitung verschiedener parallel arbeitender Prozessoren erzielt werden. Dead-Locks und Congestion können folglich vermieden werden. Zusatz- lieh sorgt die Möglichkeit, Kommunikationsthreads transparent zu benutzen für eine Asynchronität zwischen Berechnung auf einem SMP-Knoten und Kommunikation zwischen diesen SMP-Knoten und damit für eine optimale Nutzung von Hardwareparallelitäten. Weitere vorteilhafte Implentierungsstrategien werden in der nachfolgenden Tabelle gegeben.
Im Folgenden wird anhand von Figuren das erfindungs- geraäße Verfahren beschrieben.
Es zeigen
Figur 1 einen erfindungsgeraäßen Graphen,-
Figuren 2a bis 2c die Parallelisierung eines Graphen;
Figur 3 die Zerlegung eines Graphen; Figur 4 die Optimierung der Cache-Nutzung durch das erfindungsgemäße Verfahren;
Figur 5 die Ergebnisse des erfindungsgeraäßen Verfahrens unter Verwendung eines vierfach assoziativen L2 -Cache-Speichers ;
Figuren 6 bis 8 den Pseudocode für das erfindungsgemäße
Verfahren zur Implementierung auf einem Computer;
Figur 1 zeigt einen erfindungsgemäßen Graphen einer MuItiphysics-Anwendung gemäß der vorliegenden Erfindung.
In einem ersten physikalischen Rechengebiet A (hell dargestellt) wird zur Simulation des physikalischen Problems die Finite-Elemente-Methode verwendet, um eine kontinuumsmechanische Beschreibung des Verhaltens eines Materials zu implementieren. In einem zweiten Rechengebiet B (grau unterlegt) wird die sog. Molekulardynamik verwendet, um Atome in der Zeit zu propagieren. In dem Bereich A werden also als Diskre- tisierungselement Finite Elemente verwendet, während in dem Bereich B als Diskretisierungselement Teilchen verwendet werden. Die Teilchen besitzen als Daten ihre Koordinaten, Geschwindigkeiten sowie eine Teil- chenkennung. Die Koordinaten werden mit Hilfe der Geschwindigkeit in der Zeit propagiert. Hierfür wird als Evolutionsoperator ein Knotenoperator implementiert. Die Geschwindigkeiten werden mit Kräften propagiert, wobei die Kräfte von benachbarten Atomen ab- hängen. Dies wurde als Linkoperator implementiert. Im Bereich A der Finiten Elemente besteht die Diskre- tisierungseinheit aus einem Finiten Element, wobei die Verschiebung des Finiten Elements mit Hilfe von Standardverfahren, die als Knoten- und Kantenoperato- ren der Finiten Elemente implementiert sind, gelöst werden .
Für den Kopplungsbereich, der durch einen Intergra- phen abgebildet wird, werden spezifische Operatoren definiert, die das Verhalten eines Finiten Elementes in das Verhalten eines Teilchens umschreiben bzw. umkehrt .
In Figur 1 sind also die Finiten Elemente 2a, die Diskretisierungseinheiten des Bereichs A, die über Intra-Links (Intra-Knoten) 3a miteinander verbunden sind. Die Teilchen 2b im Bereich B werden durch Intra-Knoten 3b untereinεinder verbunden. Die Verbindung zwischen den Teilchen 2b und den Finiten Elemen- ten 2a erfolgt über Inter-Links (Inter-Knoten) 3c.
Hier ist zu beachten, dass die Bereiche A und B nicht unbedingt räumlich verschiedene Bereiche sein müssen. Diese können auch lediglich zeitlich verschiedene Be- reiche sein oder auch überlappende oder gar deckungsgleiche Bereiche. In letzterem Fall wird der technische Prozess dann doppelt durch zwei verschiedene mathematische Modelle beschrieben.
Werden Kennzeichen für die einzelnen Knoten und Kanten verwendet, so kann in Figur 1 beispielsweise den Knoten 2a und den Kanten 3a die Farbe Rot zugeordnet werden, den Knoten 2b und den Kanten 3b die Farbe Blau, während die Kanten 3c rot-blau bzw. blau-rot sind. Anstelle von Farben sind jedoch auch jede andere Art von Kennzeichen möglich. Farben eignen sich jedoch besonders gut zur intuitiven Darstellung der unterschiedlichen Bereiche eines Gesamtgraphen 1.
Die Figuren 2A bis 2C zeigen die Schritte, die bei der Parallelisierung des Graphen 1 durchgeführt werden, nachdem die Geometrie und die Algorithmen der mathematischen Modelle, so wie in Figur 1 gezeigt, auf den Graphen 1 abgebildet wurden.
Zuerst folgt eine Partitionierung des Graphen 1 in einzelne Bereiche 4a, 4b und 4c (siehe Figur 2b) und anschließend eine Aufteilung der einzelnen Graphenbereiche 4a, 4b und 4c auf einzelne Berechnungseinheiten (Prozessoren) . Die Graphenbereiche, die jeweils einem Prozessor zugeordnet sind, sind in Figur 2c durch gestrichelte Linien verbunden und mit den Bezugszeichen 5a bzw. 5b bezeichnet.
Für diese Bereiche 5a bzw. 5b werden dann anschlie- Send in paralleler Weise die Berechnung zur Propaga- tion der Graphenbereiche 4 durchgeführt. Dies erfolgt über generische, d.h. vom konkreten zu simulierenden technologischen Prozess unabhängigen Schleifen über die Knoten und Kanten des Graphen 1.
Figur 3 zeigt die Zerlegung in Subprobleme, wobei hier ein Graph dargestellt ist, der Knoten 2a und 2b verschiedener Diskretisierungseinheiten darstellt. In diesem Beispiel erfolgt die Zerlegung des Gesamtgra- phen in Subprobleme und anschließend eine weitere
Zerlegung auf die Prozessoren. Bei der Zerlegung auf die Prozessoren und der Zerlegung in die Subprobleme kann die Hardware berücksichtigt werden und so beispielsweise die Speichernutzung und die Schleifen an einen vorhandenen L2 -Cache-Speicher angepasst werden. Zuletzt wird dann das parallelisierte Problem initia- lisiert und berechnet und so der technische Prozess simuliert .
Figur 4 zeigt die logische Pipeline, die für einen n- fach assoziierten L2 -Cache-Speicher optimiert wurde. Statt wie in Figur 4A und im Stand der Technik üblich bei jedem Evolutionsschritt zuerst sämtliche Knoten zu propagieren (Note_Operator ( . ) ) und erst dann sämtliche Kanten zu propagieren (Link Operator (.)) wird nunmehr wie in Figur 4 dargestellt eine andere Vorgehensweise gewählt. Hierzu werden in jeweils einen Speicherbereich die Informationen für einen Graphenabschnitt, beispielsweise 4a in Figur 2C gespeichert und anschließend werden sämtliche Knoten und Kanten dieses Graphenbereiches propagiert. Es erfolgt also hierbei vornehmlich ein Zugriff auf die Informationen in einem Speicherbereich des Cache-Speichers. Erst anschließend werden die Knoten und Kanten propagiert, für deren Propagation ein Zugriff auf den zweiten Be- reich des Cache-Speichers benötigt wird. Die Nutzung des Cache-Speichers wird hierdurch optimiert.
Figur 5 zeigt die Ergebnisse, die durch dieses Vorgehen erzielt werden. Bei einem vierfach assoziativen L2 -Cache-Speicher (mit einer Speicherblockgröße von
256 kB) wurden jedem Subgraphen im Hauptspeicher eine Speichergröße (Container Size) von 256 kB zugeordnet, wobei dann, wie für Figur 4 beschrieben, von dem jeweiligen Prozessor zuerst sämtliche Knoten und Kan- ten, deren Propagation ihm zugewiesen wurde und für die die erforderlichen Informationen in dem zugeordneten Container (Speicherblock) gespeichert waren, berechnet wurden. Erst abschließend wurde dann die Propagation des Gesamtgraphes ermittelt. Wie in Figur 5 zu erkennen ist, ergibt sich bei der Containergröße von 256 kB, die genau einem Speicherbereich des vier- fach assoziativen L2-Cache-Speichers von 1024 kB entspricht, eine optimale Leistung verglichen mit Containergrößen, die geringer oder größer sind. Das erfindungsgemäße Verfahren bewirkt also einen sehr ef- fizienten Ressourceneinsatz bei Verwendung eines L2- Cache-basierten Rechnersystems.
Die Figuren 6 bis 8 zeigen nun den Pseudocode zur Initialisierung und Verwendung des erfindungsgemäßen Verfahrens.
In Figur 6 wird die Verwendung des Verfahrens lediglich mit einem mathematischen Modell, hier der Molekulardynamik, gezeigt. In Figur 7 erfolgt ebenfalls die Verwendung lediglich eines mathematischen Modells unter Verwendung von Finiten Elementen als Diskreti- sierungseinheit .
Figur 8A und 8B, die fortlaufend gelesen werden müs- sen, verbindet nun diese beiden Elemente aus den Figuren 6 und 7 zu einem erfindungsgemäßen Verfahren.
In Figur 6 werden zuerst mit R. register_BDE die Knoten und mit R. register_Link die Kanten des Graphen angelegt, die ein Molekulardynamik-Modell abbilden sollen. Weiterhin werden mit InteractionForce Force, Liouville_V UV und Liouville_Q UQ die Propagations- routinen für die Berechnung der Kräfte zwischen den einzelnen Knoten, für die Propagation der Geschwin- digkeit V sowie die Propagation der Koordinaten Q der Knoten festgelegt. Diese allgemeinen Routinen (Propa- gationsoperatoren) gelten für sämtliche Knoten und Kanten vom Typ MD (zugehörig zum Molekulardynamik- Modell) . Mit dem in dem Pseudocode angedeuteten Time Loop wird dann die Propagation durchgeführt, indem die oben genannten Propagationsoperatoren für jeweils einen Zeitabschnitt auf sämtliche Knoten und Kanten ange- wandt werden.
Figur 7 zeigt dasselbe System für Finite Elemente als Diskretisierungseinheit . Auch hier werden wiederum über R.register_BDE und R. register_Link die Knoten und Kanten des Graphen festgelegt, die das Finite- Elemente-Modell abbilden.
Für die Propagation des Finite-Elemente-Modells werden nun die Propagationsoperatoren CorrectTimeLevel CTL, CrancNicolsonTime CNT sowie CrancNicolsonSpace CNS definiert.
Auch hier erfolgt die Propagation in dem in Figur 7 befindlichen „Time Loop", indem die genannten drei Propagationsoperatoren auf sämtliche Knoten und Kanten angewandt werden.
Das erfindungsgemäße Verfahren, wie es in den Figuren 8a und 8b gezeigt ist, kombiniert nun beide Modelle und stellt zuerst einen Graphen zur Verfügung, in dem die Kanten und Knoten des Finite-Elemente-Modells sowie die Kanten und Knoten entsprechend dem Molekulardynamikmodell definiert werden. Für jedes der Modelle werden wiederum die entsprechenden Propagationsopera- toren (Propagationsfunktionen) wie in den Figuren 6 und 7 definiert.
Zusätzlich werden jetzt noch Verknüpfungsoperatoren definiert, die miteinander über Kanten verbundene Knoten des Molekulardynamik-Teilgraphen und des Fini- te-Elemente-Teilgraphen miteinander koppeln. Dies er- folgt einmal als Operator, der aus dem Molekulardynamikmodell die Verschiebung des benachbarten Finiten Elementes berechnet (CalcDisplacementMD) und andererseits einen Operator, der aus dem Finite-Elemente- Modell, die auf ein Teilchen im Molekularteilchenmodell wirkende Kraft berechnet (CalcForceFE) .
Damit hat der Anwender dann den Graphen vollständig definiert, und der Graph wird dann anschließend in der Zeit propagiert (siehe Abschnitt „Time Loop", in dem die genannten Propagationsoperatoren und Kopplungsoperatoren auf die Knoten und Kanten entsprechend ihrer jeweiligen Eigenschaft angewandt werden.

Claims

Patentansprüche
1. Verfahren zur computergestützten Simulation der zeitlichen Propagation technischer Prozesse als
Evolutionsproblem, das durch mindestens zwei verschiedene matheπicitische Modelle als Subevolu- tionsprobleme beschrieben wird, die voneinander verschiedene, mittels modellspezifischer Algo- rithmen in der Zeit propagierte Diskretisie- rungseinheiten verwenden, wobei die Simulation mittels einer Vielzahl von Berechnungseinheiten ausgeführt wird, d a d u r c h g e k e n n z e i c h n e t , dass die mathematischen Modelle auf eine einzige zusammenhängende Graphenstruktur (1) mit den Diskretisierungseinheiten als Knoten (2) und deren Nachbarschaftsrelationen als Kanten (3) abgebildet werden, wobei sich Kanten (3a, 3b) zwi- sehen zum gleichen Model gehörigen Diskretisierungseinheiten sowie Kanten (3c) zwischen zu verschiedenen Modellen gehörigen Diskretisierungseinheiten, jeweils für die jeweils einem mathematischen Mo- dell zugeordneten Knoten, für die Kanten (3a, 3b) zwischen zum gleichen Modell gehörigen Knoten sowie für zu verschiedenen Modellen gehörigen Knoten jeweils spezifische Evolutionsoperatoren angegeben werden, und der Graph unter Verwendung dieser Evolutionsoperatoren in der Zeit propagiert wird.
2. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Simulation opti- raiert und/oder parallelisiert mittels der Vielzahl von Brechungseinheiten ausgeführt wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekenn∑:eichnet , dass jedem Knoten (2a, 2b) ein Kennzeichen zugeordnet wird, das den Typ der durch ihn abgebildeten Diskretisie- rungseinheit angibt.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jeder Kante (3a, 3b, 3c) ein Kennzeichen zugeordnet wird, das den Typ der beiden Diskretisierungseinheiten bezeichnet, die auf die durch die Kante verbundenen Knoten abgebildet wurden.
5. Verfahren nach einem der vorhergehenden Ansprü- che, dadurch gekennzeichnet, dass die Propagati- on des Graphen als Evolutionsproblem unabhängig von dem auf den Graphen abgebildeten Evolutions- problem parallelisiert wird.
6. Verfahren nach einem der vorhergehenden Ansprü- che, dadurch gekennzeichnet, dass die Paralleli- sierung die folgenden Schritte enthält: Partitionierung des Graphen (1) in Teilgraphen (4a, 4b, 4c) , Zuordnung eines oder mehrerer Teilgraphen (4a, 4b, 4c) zu einzelnen Berechnungseinheiten (5a,
5b),
Berechnung der Propagation der Teilgraphen (4a, 4b, 4c) durch die Berechnungseinheiten unter Verwendung der Evolutionsoperatoren, und Zusammenfügen der Berechnungsergebnisse zur Berechnung der Propagation des Graphen (1) .
7. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass das Verfahren auf ei- nem Computer mit k Cachespeicherebenen mit mindestens einem n-fach assoziativen Cachespeicher mit n Speicherbereichen durchgeführt wird, wobei k und n natürliche Zahlen sind.
8. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der Graph (1) derart in Teilgraphen (4a, 4b, 4c) partitioniert wird, dass jeder Teilgraph in einem Speicherbereich gespeichert wird, dessen Größe der Größe eines der n Speicherbereiche eines der Cache-Speicher weitgehend bzw. genau entspricht.
9. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Propagation sämtlicher Knoten (2a, 2b) und Kanten (3a, 3b, 3c) , zu deren Propagation Daten aus demselben Speicherbereich im Hauptspeicher verwendet werden, zeitliche zusammenhängend berechnet wird.
10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass die Propagation der Knoten (2a, 2b) und Kanten (3a, 3b, 3c) , zu deren Propagation Daten aus einem ersten Speicherbereich des Hauptspeichers verwendet werden, zeitlich zusammenhängend berechnet wird und anschließend die Propagation sämtlicher Knoten (2a, 2b) und Kanten (3a, 3b, 3c) , zu deren Propagation Daten aus einem zweiten Speicherbereich des Hauptspeichers verwendet werden, zeitlich zusammenhängend berechnet wird.
11. Verfahren nach einem der Ansprüche 7 bis 10, da- durch gekennzeichnet, dass das Verfahren auf einem Computer mit n-fach assoziativen Level-2- Cachespeicher (k=2) durchgeführt wird und der Graph (1) derart in Teilgraphen (4a, 4b, 4c) partitioniert wird, dass jeder Teilgraph einen Speicherbereich im Hauptspeicher belegt, dessen Größe der Größe eines Speicherblocks des Level- 2 -Cachespeichers weitgehend oder genau entspricht.
EP06829094A 2005-12-02 2006-11-22 Verfahren zur computergestützten simulation technischer prozesse Ceased EP1955223A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP13178570.1A EP2660741A1 (de) 2005-12-02 2006-11-22 Verfahren zur computergestützen Simulation technischer Prozesse

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005057697A DE102005057697A1 (de) 2005-12-02 2005-12-02 Verfahren zur computergestützten Simulation technischer Prozesse
PCT/EP2006/011197 WO2007062769A2 (de) 2005-12-02 2006-11-22 Verfahren zur computergestützten simulation technischer prozesse

Publications (1)

Publication Number Publication Date
EP1955223A2 true EP1955223A2 (de) 2008-08-13

Family

ID=37762588

Family Applications (2)

Application Number Title Priority Date Filing Date
EP13178570.1A Withdrawn EP2660741A1 (de) 2005-12-02 2006-11-22 Verfahren zur computergestützen Simulation technischer Prozesse
EP06829094A Ceased EP1955223A2 (de) 2005-12-02 2006-11-22 Verfahren zur computergestützten simulation technischer prozesse

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP13178570.1A Withdrawn EP2660741A1 (de) 2005-12-02 2006-11-22 Verfahren zur computergestützen Simulation technischer Prozesse

Country Status (5)

Country Link
US (1) US8214180B2 (de)
EP (2) EP2660741A1 (de)
DE (1) DE102005057697A1 (de)
NO (1) NO20082885L (de)
WO (1) WO2007062769A2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086609B2 (en) * 2007-11-01 2011-12-27 Cavium, Inc. Graph caching
DE102008019478A1 (de) 2008-04-17 2009-10-22 Wincor Nixdorf International Gmbh Verfahren und Vorrichtung zur Steuerung von Benutzerdialogen an einer technischen Einrichtung
CN109902366B (zh) * 2019-02-14 2020-05-05 中国水利水电科学研究院 一种分布式水文模型汇流并行方法
CN115312143B (zh) * 2022-07-15 2026-02-03 重庆科技学院 基于有限元的电磁脉冲微焊点微观组织演化的模拟方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353768B1 (en) * 1998-02-02 2002-03-05 General Electric Company Method and apparatus for designing a manufacturing process for sheet metal parts
US6685772B2 (en) * 2001-03-28 2004-02-03 California Institute Of Technology De novo processing of electronic materials
EP1318453A1 (de) * 2001-12-07 2003-06-11 Hewlett-Packard Company Sytem, Verfahren und Vorrichtung zum Planen einer Rechnergruppe
US7000211B2 (en) 2003-03-31 2006-02-14 Stretch, Inc. System and method for efficiently mapping heterogeneous objects onto an array of heterogeneous programmable logic resources
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W R KRIGER ET AL: "Multi-Disciplinary Simulation of Vehicle System Dynamics Multi-Disciplinary Simulation of Vehicle System Dynamics", RTO AVT SYMPOSIUM ON "REDUCTION OF'MILITARY VEHICLE ACQUISITION TIME AND COST THROUGH ADVANCED MODELLING AND VIRTUAL SIMULATION", 25 April 2002 (2002-04-25), XP055367830 *

Also Published As

Publication number Publication date
US20090228248A1 (en) 2009-09-10
WO2007062769A3 (de) 2007-08-09
US8214180B2 (en) 2012-07-03
WO2007062769A2 (de) 2007-06-07
DE102005057697A1 (de) 2007-06-06
EP2660741A1 (de) 2013-11-06
NO20082885L (no) 2008-09-02

Similar Documents

Publication Publication Date Title
DE69910826T2 (de) Rechnersystem mit rekonfigurierbarer programmierbarer logik-vorrichtung
DE69312505T2 (de) Polygonaufrasterung
DE102023105572A1 (de) Effiziente Matrixmultiplikation und -addition mit einer Gruppe von Warps
DE10195968B4 (de) System und Verfahren zur Bereitstellung einer Kreuzdimensionalen Berechnung und eines Kreuzdimensionalen Datenzugriffs in einer Online-Analytischen Verarbeitungs-Umgebung (ON-LINE ANALYTICAL PROCESSING = OLAP)
DE112019004076T5 (de) Dezentralisiertes verteiltes deep learning
DE69230700T2 (de) Digitaldatenprozessor für höhere Befehle
DE102023105568A1 (de) Programmatisch gesteuertes daten-multicasting über mehrere rechen-engines
US6963339B2 (en) Filtering tree map data for tree map visualization
DE102013020614A1 (de) Mit Mehrfachauflösung konsistente Rastereinteilung
DE102017104220A1 (de) Aufgabenanordnung zur SIMD-Verarbeitung
DE112017007826T5 (de) Simulieren von Quantenschaltungen
DE112019002981T5 (de) Parallelberechnungsarchitektur mit rekonfigurierbarer kernebenen- und vektorebenen-parallelität
DE102012216029A1 (de) Ein skalierbares anpassungsfähiges map-reduce-rahmenwerk mit verteilten daten
DE112005003265T5 (de) Registerdateibereiche für ein Verarbeitungssystem
DE19510879A1 (de) Verfahren zum Lösen simultaner, linearer Gleichungen in einem speicherverteilten Parallelcomputer
DE102009038454A1 (de) System und Verfahren zum Reduzieren einer Ausführungsdivergenz in Parallelverarbeitungsarchitekturen
DE102013019333A1 (de) Registerzuweisung für als cluster vorliegende mehrebenen-registerdaten
EP2386949B1 (de) Verfahren und Vorrichtung zum zuweisen einer Mehrzahl von Teilaufgaben einer Aufgabe zu einer Mehrzahl von Recheneinheiten einer vorgegebenen Prozessorarchitektur
DE102016119298A1 (de) Zeitpunktkopieren mit klonen von ketten
DE102012204167A1 (de) Vorauslaufende genäherte Berechnungen
DE69009067T2 (de) Verfahren zur herstellung von digitalsignalprozessoren unter verwendung eines programmierten kompilators.
DE112018006540T5 (de) Dynamisches ersetzen eines aufrufs einer software-bibliothek durch einen aufruf eines beschleunigers
DE102023105575A1 (de) Verteilter gemeinsamer speicher
DE112021004537T5 (de) Speicherorientierter beschleuniger für neuronale netze für bereitstellbare inferenzsysteme
DE102012213846A1 (de) Echtzeit-Euler'sche Wassersimulation unter Benutzung eines beschränkten Groß-Zelle-Gitters

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080606

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 20110721

APBK Appeal reference recorded

Free format text: ORIGINAL CODE: EPIDOSNREFNE

APBN Date of receipt of notice of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA2E

APBR Date of receipt of statement of grounds of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA3E

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE

APBX Invitation to file observations in appeal sent

Free format text: ORIGINAL CODE: EPIDOSNOBA2E

APBZ Receipt of observations in appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNOBA4E

APBT Appeal procedure closed

Free format text: ORIGINAL CODE: EPIDOSNNOA9E

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20171116