161 research outputs found

    Partitionierungsalgorithmen für Modelldatenstrukturen zur parallelen compilergesteuerten Logiksimulation (Projekt)

    Get PDF
    Die enorme Komplexität in naher Zukunft absehbarer VLSI-Schaltkreisentwicklungen bedingt auf allen Entwurfsebenen sehr zeitintensive Simulationsprozesse. Eine Antwort auf diese Herausforderung besteht in der Parallelisierung dieser Prozesse. Es wird ein Forschungsvorhaben vorgestellt, welches auf eine effektive Partitionierung von Modelldatenstrukturen im Vorfeld compilergesteuerter Logiksimulationen auf Parallelrechnern mit lose gekoppelten Prozessoren gerichtet ist. Im Rahmen dieses Projekts sollen ausgehend von einem Graphen-Modell Partitionierungsalgorithmen entwickelt, theoretisch untersucht sowie Kriterien für ihren Einsatz in Abhängigkeit von anwendungstypischen Modelleigenschaften abgeleitet werden. Zur experimentellen Unterstützung ist die Entwicklung einer parallel arbeitenden Testumgebung für die Analyse relevanter Modelldatenstrukturen vorgesehen. Eine Erweiterung dieser Umgebung zu einer Softwarekomponente, welche im Ergebnis eines Präprocessing von Modelldatenstrukturen Partitionierungsalgorithmen auswählt und realisiert, soll schließich in ein System zur Logiksimulation auf der Basis parallel arbeitender Instanzen eines der führenden heute kommerziell verfügbaren funktionellen Logiksimulatoren eingebunden werden

    Parallele Simulation der globalen Beleuchtung in komplexen Architekturmodellen

    Get PDF
    von Olaf SchmidtPaderborn, Univ.-GH, Diss., 200

    Vertex-Tracing - Interaktives Ray-Tracing durch adaptiv progressives Refinement im Objektraum

    Get PDF
    Abstract This dissertation presents an approach for interactive, physically exact simulation of specular reflections and specular refractions in virtual environments. The introduced approach is called Vertex Tracing and allows a hybrid rendering to add global illumination effects in traditional hardware rendering systems. The core of the Vertex Tracing is an adaptive progressive ray tracing. In contrast to standard ray tracing we use image coherence to compute only pixels (samples) that are essential for the final image reconstruction. The step by step adaption towards the final image is performed by geometry refinement of chosen polyhedra. These are scene objects with visual characteristics as specular reflections or refractions and should be handled particularly for Vertex Tracing. The object vertices are the starting point of computation. First, primary rays are shot from the eye point to the object vertices and after that, like in classical ray tracing approaches, a recursive ray shooting is performed from each vertex. If needed new vertices are inserted and consequently a step by step refinement of the object geometry is done. The reconstruction of the final image is performed by bilinear interpolation via graphics hardware. Beside the possibility of a combined rendering with OpenGL-objects, the use of graphics hardware additionally allows an efficient handling of textures. In this context, we introduce a defered texture lookup to prevent a costly sampling of high frequent textures. In addition, this thesis considers aspects of a distributed and parallel computation to speed up Vertex Tracing. In detail we implemented a distributed Vertex Tracing for a heterogenous network as well as a parallel approach for shared memory machines. Despite the adaptive progressive characteristic of the Vertex Tracing both techniques show that a significant speed-up can be achieved.Die vorliegende Dissertation beschreibt ein Verfahren zur interaktiv physikalisch exakten Simulation spekularer Reflexionen sowie spekularer Brechungen in virtuellen Umgebungen. Unter dem Begriff Vertex-Tracing wird in dieser Arbeit ein Ansatz vorgestellt, der es durch hybrides Rendering erlaubt, traditionelles Hardware-Rendering mit globalen Beleuchtungsphänomenen zu ergänzen. Kern des Verfahrens Vertex-Tracing bildet ein adaptiv progressives Ray-Tracing. Im Gegensatz zum Standard-Ray-Tracing besteht das Ziel darin, vorhandene Bildkohärenzen auszunutzen, indem nur diejenigen Pixel (Samples) berechnet werden, die für die Rekonstruktion des Finalbildes erforderlich sind. Die schrittweise Annäherung an das gewünschte Finalbild erfolgt durch Verfeinerung (Refinement) der Geometrie ausgewählter Polyeder. Diese sind Szenenobjekte, die aufgrund ihrer visuellen Charakteristik in Form spekularer Reflexionen oder Brechungen einem Vertex-Tracing unterzogen werden sollen. Ausgangspunkt der Berechnung dieser Objekte stellen ihre Objekt-Vertices dar. Sie bilden jeweils den Aufpunkt eines geschossenen Primärstrahles vom Betrachter und sind zugleich Startpunkt für eine weitere rekursive Strahlenverfolgung im Sinne des klassischen Ray-Tracing. Je nach Bedarf erfolgt das Einfügen neuer Vertices, dass eine schrittweise Verfeinerung der Objektgeometrie nach sich zieht. Die Rekonstruktion des Finalbildes erfolgt durch bilineare Interpolation mit Hilfe von Graphik-Hardware. Ihre Nutzung gestattet nicht nur ein kombiniertes Rendering mit herkömmlichen OpenGL-Objekten, sondern erlaubt darüber hinaus eine effiziente Behandlung von Texturen im Vertex-Tracing. In diesem Zusammenhang wird ein verzögerter Textur-Lookup vorgestellt. Er verhindert ein vollständiges Sampling von Texturen, das vor allem bei hochfrequenten Texturen einen erheblichen Mehraufwand bedeuten würde. Im Hinblick auf die Beschleunigung des Verfahrens werden ferner Aspekte einer verteilt, parallelen Berechnung untersucht beziehungsweise umgesetzt. Im Vordergrund steht dabei die Verteilung des Vertex-Tracings im Rechner-Cluster sowie eine Parallelisierung des Algorithmus auf Shared-Memory-Maschinen. Beide Ansätze zeigen, dass trotz des adaptiv progressiven Charakters des Verfahrens Vertex-Tracing ein signifikanter Speed-Up erzielbar ist

    Parallele und kooperative Simulation für eingebettete Multiprozessorsysteme

    Get PDF
    Die Entwicklung von eingebetteten Systemen wird durch die stetig steigende Anzahl und Integrationsdichte neuer Funktionen in Kombination mit einem erhöhten Interaktionsgrad zunehmend zur Herausforderung. Vor diesem Hintergrund werden in dieser Arbeit Methoden zur SystemC-basierten parallelen Simulation von Multiprozessorsystemen auf Manycore Architekturen sowie zur Verbesserung der Interoperabilität zwischen heterogenen Simulationswerkzeugen entwickelt, experimentell untersucht und bewertet

    Ein Modell zur effizienten Parallelisierung von Algorithmen auf komplexen, dynamischen Datenstrukturen

    Get PDF
    Moderne berechnungsintensive Algorithmen, beispielsweise adaptive numerische Lösungsverfahren für partielle Differentialgleichungen, arbeiten oftmals auf komplexen, dynamischen Datenstrukturen. Die Implementierung solcher Algorithmen auf Parallelrechnern mit verteiltem Speicher mittels Datenpartitionierung wirft zahlreiche Probleme auf (z.B. Lastverteilung). Im Rahmen der vorliegenden Arbeit wurde das neue parallele Programmiermodell Dynamic Distributed Data (DDD) entwickelt, durch das die Parallelisierungsarbeit vom Design der verteilten Datenstrukturen bis hin zur Erstellung des portablen, parallelen und effizienten Programmcodes unterstützt wird. Dem DDD-Konzept liegt ein graphbasiertes formales Modell zugrunde. Dabei wird die Datenstruktur des jeweiligen Programms (z.B. unstrukturierte Gitter) formal auf einen verteilten Graphen abgebildet, der aus mehreren lokalen Graphen besteht. Das formale Modell dient als Spezifikation des Programmiermodells und gleichzeitig zur Definition der wichtigen in dieser Arbeit verwendeten Begriffe. Der Systemarchitektur von DDD-basierten Anwendungen liegt ein Schichtenmodell zugrunde, den Kern stellt dabei die DDD-Programmbibliothek dar. Diese bietet Funktionen zur dynamischen Definition verteilter Datentypen und zur Verwaltung lokaler Objekte. In den Überlappungsbereichen der lokalen Graphen stehen abstrakte Kommunikationsfunktionen in Form von sog. Interfaces zur Verfügung. Die wesentliche Neuerung gegenüber nahezu allen bestehenden Arbeiten ist jedoch die Möglichkeit zur dynamischen Veränderung des verteilten Graphen; dies ermöglicht es beispielsweise, dynamische Lastverteilung oder Gittergenerierungsverfahren einfach und effizient zu implementieren. Damit können beliebig komplexe Datentopologien dynamisch erzeugt, migriert und wieder entfernt werden

    Leistungsmessung und Leistungsbewertung von NoSQL-Datenbanken

    Get PDF
    Das Ziel der vorliegenden Masterthesis ist es, einen Überblick der verschiedenen Datenbanktypen und Leistungsanalysen zu geben. Die vergleichende Literaturstudie beschäftigt sich mit einem jungen Forschungsfeld und betrachtet insbesondere nichtrelationale NoSQL-Datenbanken, welche in den letzten Jahren immer beliebter geworden sind und einige Vorteile gegenüber relationalen Datenbanken aufweisen. Doch was können die konkreten Datenbankimplementierungen bei unterschiedliche Datenmodellen leisten und welcher Testaufbau bietet sich bei welchen Einsatzanforderungen an? Zu Anfang definiert diese Arbeit Kriterien zur Bewertung von Leistung und untersucht experimentelle Vorgehensweise verschiedener Forscher. Ein wichtiger Fokus liegt darauf, die Vergleichbarkeit der Messmethoden und Ergebnisse einzuschätzen und zu gewährleisten. Neben dem methodischen Vorgehen wird mit dem YCSB-Framework ein wichtiges Werkzeug besprochen, mit dem Leistungsmessungen in NoSQL-Datenbanken implementiert werden können

    Perspektiven der parallelen ereignisgesteuerten Simulation am Beispiel von Warteschlangen

    Get PDF
    Simulation ist ein wirkungsvolles Hilfsmittel zur Analyse komplexer, nicht vollständig mathematisch analysierbarer Zusammenhänge, das mittlerweile in weiten Bereichen von Wissenschaft und Technik Anwendung gefunden hat. Leider erwiesen sich dabei die in der Praxis auftretenden Simulationen als äußerst zeitaufwendig. Daher liegt es nahe zu untersuchen, in wieweit sich Simulationen durch "Supercomputer" beschleunigen lassen. Diese Arbeit beschäftigt sich speziell mit der Parallelisierung ereignisgesteuerter Simulationen. Die ersten Ansätze zur Parallelisierung dieser Klasse von Simulationen liegen bereits mehr als zehn Jahre zurück. In dieser Zeit entstanden zwar zahlreiche konzeptionelle Arbeiten und kleinere Prototypen, jedoch wurde der Frage "Lohnt sich die Parallelisierung ereignisgesteuerter Simulationen?" bisher kaum systematisch nachgegangen. Die vorliegende Arbeit untersucht dies am Beispiel der Simulation von Warteschlangennetzen. Ausgehend von einem mathematisch definierten Begriff des Simulationsmodells werden dabei zunächst die besonderen Anforderungen an ein "parallelisierbares" Modell exakt definiert, die bisher entwickelten Parallelisierungsansätze systematisch dargestellt sowie die Modellwelt und die Komponenten des eigens für diese Arbeit entwickelten Testbetts DISQUE vorgestellt. Mit diesem Testbett werden anschließend mit Hilfe von umfangreichen Messungen die Probleme bei der Realisierung eines effizienten parallelen Simulators aufgezeigt und bezüglich ihrer Bedeutung gewichtet. Hierzu wird eine Folge von teils real durchgeführten, teils aus Meßdaten berechneten, hypothetischen Simulationsläufen entwickelt, die immer realistischer werdende Sichten auf einen parallelen Simulationslauf darstellen. Die Differenz der Laufzeiten zweier Simulationsläufe der Folge ergibt dann ein Maß für die Bedeutung des zusätzlich berücksichtigten Aspekts. Weiterhin werden verschiedene parallele Synchronisationsstrategien bei der parallelen, ereignisgesteuerten Simulation bezüglich ihrer Effizienz miteinander verglichen. Den Abschluß dieser Arbeit bildet eine Zusammenfassung aller Einzelresultate im Hinblick auf den Beitrag, den die Ergebnisse dieser Arbeit zu der eingangs gestellten Frage liefern. Es zeigt sich dabei, daß zwar in Einzelfällen eine effektive Parallelisierung ereignisgesteuerter Simulationen durchaus möglich ist, sich jedoch bedingt durch die feine Granularität der meisten Anwendungen parallele, ereignisgesteuerte Simulation wohl nicht auf breiter Front durchsetzen wird.Liegt nicht vor

    Perspektiven der parallelen ereignisgesteuerten Simulation am Beispiel von Warteschlangen

    Get PDF
    Simulation ist ein wirkungsvolles Hilfsmittel zur Analyse komplexer, nicht vollständig mathematisch analysierbarer Zusammenhänge, das mittlerweile in weiten Bereichen von Wissenschaft und Technik Anwendung gefunden hat. Leider erwiesen sich dabei die in der Praxis auftretenden Simulationen als äußerst zeitaufwendig. Daher liegt es nahe zu untersuchen, in wieweit sich Simulationen durch "Supercomputer" beschleunigen lassen. Diese Arbeit beschäftigt sich speziell mit der Parallelisierung ereignisgesteuerter Simulationen. Die ersten Ansätze zur Parallelisierung dieser Klasse von Simulationen liegen bereits mehr als zehn Jahre zurück. In dieser Zeit entstanden zwar zahlreiche konzeptionelle Arbeiten und kleinere Prototypen, jedoch wurde der Frage "Lohnt sich die Parallelisierung ereignisgesteuerter Simulationen?" bisher kaum systematisch nachgegangen. Die vorliegende Arbeit untersucht dies am Beispiel der Simulation von Warteschlangennetzen. Ausgehend von einem mathematisch definierten Begriff des Simulationsmodells werden dabei zunächst die besonderen Anforderungen an ein "parallelisierbares" Modell exakt definiert, die bisher entwickelten Parallelisierungsansätze systematisch dargestellt sowie die Modellwelt und die Komponenten des eigens für diese Arbeit entwickelten Testbetts DISQUE vorgestellt. Mit diesem Testbett werden anschließend mit Hilfe von umfangreichen Messungen die Probleme bei der Realisierung eines effizienten parallelen Simulators aufgezeigt und bezüglich ihrer Bedeutung gewichtet. Hierzu wird eine Folge von teils real durchgeführten, teils aus Meßdaten berechneten, hypothetischen Simulationsläufen entwickelt, die immer realistischer werdende Sichten auf einen parallelen Simulationslauf darstellen. Die Differenz der Laufzeiten zweier Simulationsläufe der Folge ergibt dann ein Maß für die Bedeutung des zusätzlich berücksichtigten Aspekts. Weiterhin werden verschiedene parallele Synchronisationsstrategien bei der parallelen, ereignisgesteuerten Simulation bezüglich ihrer Effizienz miteinander verglichen. Den Abschluß dieser Arbeit bildet eine Zusammenfassung aller Einzelresultate im Hinblick auf den Beitrag, den die Ergebnisse dieser Arbeit zu der eingangs gestellten Frage liefern. Es zeigt sich dabei, daß zwar in Einzelfällen eine effektive Parallelisierung ereignisgesteuerter Simulationen durchaus möglich ist, sich jedoch bedingt durch die feine Granularität der meisten Anwendungen parallele, ereignisgesteuerte Simulation wohl nicht auf breiter Front durchsetzen wird.Liegt nicht vor
    corecore