8 resultados para Parallel programming (computer science)
em ArchiMeD - Elektronische Publikationen der Universität Mainz - Alemanha
Resumo:
In vielen Bereichen der industriellen Fertigung, wie zum Beispiel in der Automobilindustrie, wer- den digitale Versuchsmodelle (sog. digital mock-ups) eingesetzt, um die Entwicklung komplexer Maschinen m oglichst gut durch Computersysteme unterstu tzen zu k onnen. Hierbei spielen Be- wegungsplanungsalgorithmen eine wichtige Rolle, um zu gew ahrleisten, dass diese digitalen Pro- totypen auch kollisionsfrei zusammengesetzt werden k onnen. In den letzten Jahrzehnten haben sich hier sampling-basierte Verfahren besonders bew ahrt. Diese erzeugen eine groe Anzahl von zuf alligen Lagen fu r das ein-/auszubauende Objekt und verwenden einen Kollisionserken- nungsmechanismus, um die einzelnen Lagen auf Gu ltigkeit zu u berpru fen. Daher spielt die Kollisionserkennung eine wesentliche Rolle beim Design effizienter Bewegungsplanungsalgorith- men. Eine Schwierigkeit fu r diese Klasse von Planern stellen sogenannte narrow passages dar, schmale Passagen also, die immer dort auftreten, wo die Bewegungsfreiheit der zu planenden Objekte stark eingeschr ankt ist. An solchen Stellen kann es schwierig sein, eine ausreichende Anzahl von kollisionsfreien Samples zu finden. Es ist dann m oglicherweise n otig, ausgeklu geltere Techniken einzusetzen, um eine gute Performance der Algorithmen zu erreichen.rnDie vorliegende Arbeit gliedert sich in zwei Teile: Im ersten Teil untersuchen wir parallele Kollisionserkennungsalgorithmen. Da wir auf eine Anwendung bei sampling-basierten Bewe- gungsplanern abzielen, w ahlen wir hier eine Problemstellung, bei der wir stets die selben zwei Objekte, aber in einer groen Anzahl von unterschiedlichen Lagen auf Kollision testen. Wir im- plementieren und vergleichen verschiedene Verfahren, die auf Hu llk operhierarchien (BVHs) und hierarchische Grids als Beschleunigungsstrukturen zuru ckgreifen. Alle beschriebenen Verfahren wurden auf mehreren CPU-Kernen parallelisiert. Daru ber hinaus vergleichen wir verschiedene CUDA Kernels zur Durchfu hrung BVH-basierter Kollisionstests auf der GPU. Neben einer un- terschiedlichen Verteilung der Arbeit auf die parallelen GPU Threads untersuchen wir hier die Auswirkung verschiedener Speicherzugriffsmuster auf die Performance der resultierenden Algo- rithmen. Weiter stellen wir eine Reihe von approximativen Kollisionstests vor, die auf den beschriebenen Verfahren basieren. Wenn eine geringere Genauigkeit der Tests tolerierbar ist, kann so eine weitere Verbesserung der Performance erzielt werden.rnIm zweiten Teil der Arbeit beschreiben wir einen von uns entworfenen parallelen, sampling- basierten Bewegungsplaner zur Behandlung hochkomplexer Probleme mit mehreren narrow passages. Das Verfahren arbeitet in zwei Phasen. Die grundlegende Idee ist hierbei, in der er- sten Planungsphase konzeptionell kleinere Fehler zuzulassen, um die Planungseffizienz zu erh ohen und den resultierenden Pfad dann in einer zweiten Phase zu reparieren. Der hierzu in Phase I eingesetzte Planer basiert auf sogenannten Expansive Space Trees. Zus atzlich haben wir den Planer mit einer Freidru ckoperation ausgestattet, die es erlaubt, kleinere Kollisionen aufzul osen und so die Effizienz in Bereichen mit eingeschr ankter Bewegungsfreiheit zu erh ohen. Optional erlaubt unsere Implementierung den Einsatz von approximativen Kollisionstests. Dies setzt die Genauigkeit der ersten Planungsphase weiter herab, fu hrt aber auch zu einer weiteren Perfor- mancesteigerung. Die aus Phase I resultierenden Bewegungspfade sind dann unter Umst anden nicht komplett kollisionsfrei. Um diese Pfade zu reparieren, haben wir einen neuartigen Pla- nungsalgorithmus entworfen, der lokal beschr ankt auf eine kleine Umgebung um den bestehenden Pfad einen neuen, kollisionsfreien Bewegungspfad plant.rnWir haben den beschriebenen Algorithmus mit einer Klasse von neuen, schwierigen Metall- Puzzlen getestet, die zum Teil mehrere narrow passages aufweisen. Unseres Wissens nach ist eine Sammlung vergleichbar komplexer Benchmarks nicht offentlich zug anglich und wir fan- den auch keine Beschreibung von vergleichbar komplexen Benchmarks in der Motion-Planning Literatur.
Resumo:
Die protokollbasierte Medizin stellt einen interdisziplinren Brennpunkt der Informatik dar. Als besonderer Ausschnitt der medizinischen Teilgebiete erlaubt sie die relativ formale Spezifikation von Prozessen in den drei Bereichen der Prvention, Diagnose und Therapie.Letzterer wurde immer besonders fokussiert und gilt seit jeher im Rahmen klinischer Studien als Projektionsflche fr informationstechnologische Konzepte. Die Euphorie der frhen Jahre ernchtert sich jedoch bei jeder Bilanz. Nur sehr wenige der unzhlbaren Projekte haben ihre Routine in der alltglichen Praxis gefunden. Die meisten Vorhaben sind an der Illusion der vollstndigen Berechenbarkeit medizinischer Arbeitsablufe gescheitert. Die traditionelle Sichtweise der klinischen Praxis beruht auf einer blockorientierten Vorstellung des Therapieausfhrungsprozesses. Sie entsteht durch seine Zerlegung in einzelne Therapiezweige, welche aus vordefinierten Blcken zusammengesetzt sind. Diese knnen sequentiell oder parallel ausgefhrt werden und sind selbst zusammengesetzt aus jeweils einer Menge von Elementen,welche die Aktivitten der untersten Ebene darstellen. Das blockorientierte Aufbaumodell wird ergnzt durch ein regelorientiertes Ablaufmodell. Ein komplexes Regelwerk bestimmt Bedingungen fr die zeitlichen und logischen Abhngigkeiten der Blcke, deren Anordnung durch den Ausfhrungsproze gebildet wird. Die Modellierung der Therapieausfhrung steht zunchst vor der grundstzlichen Frage, inwieweit die traditionelle Sichtweise fr eine interne Reprsentation geeignet ist. Das bergeordnete Ziel besteht in der Integration der unterschiedlichen Ebenen der Therapiespezifikation. Dazu gehrt nicht nur die strukturelle Komponente, sondern vorallem die Ablaufkomponente. Ein geeignetes Regelmodell ist erforderlich, welches den spezifischen Bedrfnissen der Therapieberwachung gerecht wird. Die zentrale Aufgabe besteht darin, diese unterschiedlichen Ebenen zusammenzufhren. Eine sinnvolle Alternative zur traditionellen Sichtweise liefert das zustandsorientierte Modell des Therapieausfhrungsprozesses. Das zustandsorientierte Modell beruht auf der Sichtweise, da der gesamte Therapieausfhrungsproze letztendlich eine lineare Folge von Zustnden beschreibt, wobei jeder Zustandsbergang durch ein Ereignis eingeleitet wird, an bestimmte Bedingungen geknpft ist und bestimmte Aktionen auslsen kann. Die Parallelitt des blockorientierten Modells tritt in den Hintergrund, denn die Menge der durchzufhrenden Manahmen sind lediglich Eigenschaften der Zustnde und keine strukturellen Elemente der Ablaufspezifikation. Zu jedem Zeitpunkt ist genau ein Zustand aktiv, und er reprsentiert eine von endlich vielen klinischen Situationen, mit all ihren spezifischen Aktivitten und Ausfhrungsregeln. Die Vorteile des zustandsorientierten Modells liegen in der Integration. Die Grundstruktur verbindet die statische Darstellung der mglichen Phasenanordnungen mit der dynamischen Ausfhrung aktiver Regeln. Die ursprnglichen Inhalte des blockorientierten Modells werden als gewhnliche Eigenschaften der Zustnde reproduziert und stellen damit nur einen Spezialfall der zustandsbezogenen Sicht dar.Weitere Mglichkeiten fr die Anreicherung der Zustnde mit zustzlichen Details sind denkbar wie sinnvoll. Die Grundstruktur bleibt bei jeder Erweiterung jedoch die gleiche. Es ergibt sich ein wiederverwendbares Grundgerst,ein gemeinsamer Nenner fr die Erfllung der berwachungsaufgabe.
Resumo:
Die Aufgabenstellung, welche dieser Dissertation zugrunde liegt, lsst sich kurz als die Untersuchung von komponentenbasierten Konzepten zum Einsatz in der Softwareentwicklung durch Endanwender beschreiben. In den letzten 20 bis 30 Jahren hat sich das technische Umfeld, in dem ein Groteil der Arbeitnehmer seine tglichen Aufgaben verrichtet, grundlegend verndert. Der Computer, frher in Form eines Grorechners ausschlielich die Domne von Spezialisten, ist nun ein selbstverstndlicher Bestandteil der tglichen Arbeit. Der Umgang mit Anwendungsprogrammen, die dem Nutzer erlauben in einem gewissen Rahmen neue, eigene Funktionalitt zu definieren, ist in vielen Bereichen so selbstverstndlich, dass viele dieser Ttigkeiten nicht bewusst als Programmieren wahrgenommen werden. Da diese Nutzer nicht notwendigerweise in der Entwicklung von Software ausgebildet sind, bentigen sie entsprechende Untersttzung bei diesen Ttigkeiten. Dies macht deutlich, welche praktische Relevanz die Untersuchungen in diesem Bereich haben. Zur Erstellung eines Programmiersystems fr Endanwender wird zunchst ein flexibler Anwendungsrahmen entwickelt, welcher sich als Basis zur Erstellung solcher Systeme eignet. In Softwareprojekten sind sich ndernde Anforderungen und daraus resultierende Notwendigkeiten ein wichtiger Aspekt. Dies wird im Entwurf des Frameworks durch Konzepte zur Bereitstellung von wieder verwendbarer Funktionalitt durch das Framework und Mglichkeiten zur Anpassung und Erweiterung der vorhandenen Funktionalitt bercksichtigt. Hier ist zum einen der Einsatz einer serviceorientierten Architektur innerhalb der Anwendung und zum anderen eine komponentenorientierte Variante des Kommando-Musters zu nennen. Zum anderen wird ein Konzept zur Kapselung von Endnutzerprogrammiermodellen in Komponenten erarbeitet. Dieser Ansatz ermglicht es, unterschiedliche Modelle als Grundlage der entworfenen Entwicklungsumgebung zu verwenden. Im weiteren Verlauf der Arbeit wird ein Programmiermodell entworfen und unter Verwendung des zuvor genannten Frameworks implementiert. Damit dieses zur Nutzung durch Endanwender geeignet ist, ist eine Anhebung der zur Beschreibung eines Softwaresystems verwendeten Abstraktionsebene notwendig. Dies wird durch die Verwendung von Komponenten und einem nachrichtenbasierten Kompositionsmechanismus erreicht. Die vorgenommene Realisierung ist dabei noch nicht auf konkrete Anwendungsfamilien bezogen, diese Anpassungen erfolgen in einem weiteren Schritt fr zwei unterschiedliche Anwendungsbereiche.
Resumo:
Prsentiert wird ein vollstndiger, exakter und effizienter Algorithmus zur Berechnung des Nachbarschaftsgraphen eines Arrangements von Quadriken (Algebraische Flchen vom Grad 2). Dies ist ein wichtiger Schritt auf dem Weg zur Berechnung des vollen 3D Arrangements. Dabei greifen wir auf eine bereits existierende Implementierung zur Berechnung der exakten Parametrisierung der Schnittkurve von zwei Quadriken zurck. Somit ist es mglich, die exakten Parameterwerte der Schnittpunkte zu bestimmen, diese entlang der Kurven zu sortieren und den Nachbarschaftsgraphen zu berechnen. Wir bezeichnen unsere Implementierung als vollstndig, da sie auch die Behandlung aller Sonderflle wie singulrer oder tangentialer Schnittpunkte einschliet. Sie ist exakt, da immer das mathematisch korrekte Ergebnis berechnet wird. Und schlielich bezeichnen wir unsere Implementierung als effizient, da sie im Vergleich mit dem einzigen bisher implementierten Ansatz gut abschneidet. Implementiert wurde unser Ansatz im Rahmen des Projektes EXACUS. Das zentrale Ziel von EXACUS ist es, einen Prototypen eines zuverlssigen und leistungsfhigen CAD Geometriekerns zu entwickeln. Obwohl wir das Design unserer Bibliothek als prototypisch bezeichnen, legen wir dennoch grten Wert auf Vollstndigkeit, Exaktheit, Effizienz, Dokumentation und Wiederverwendbarkeit. ber den eigentlich Beitrag zu EXACUS hinaus, hatte der hier vorgestellte Ansatz durch seine besonderen Anforderungen auch wesentlichen Einfluss auf grundlegende Teile von EXACUS. Im Besonderen hat diese Arbeit zur generischen Untersttzung der Zahlentypen und der Verwendung modularer Methoden innerhalb von EXACUS beigetragen. Im Rahmen der derzeitigen Integration von EXACUS in CGAL wurden diese Teile bereits erfolgreich in ausgereifte CGAL Pakete weiterentwickelt.
Resumo:
Im Forschungsgebiet der Knstlichen Intelligenz, insbesondere im Bereich des maschinellen Lernens, hat sich eine ganze Reihe von Verfahren etabliert, die von biologischen Vorbildern inspiriert sind. Die prominentesten Vertreter derartiger Verfahren sind zum einen Evolutionre Algorithmen, zum anderen Knstliche Neuronale Netze. Die vorliegende Arbeit befasst sich mit der Entwicklung eines Systems zum maschinellen Lernen, das Charakteristika beider Paradigmen in sich vereint: Das Hybride Lernende Klassifizierende System (HCS) wird basierend auf dem reellwertig kodierten eXtended Learning Classifier System (XCS), das als Lernmechanismus einen Genetischen Algorithmus enthlt, und dem Wachsenden Neuralen Gas (GNG) entwickelt. Wie das XCS evolviert auch das HCS mit Hilfe eines Genetischen Algorithmus eine Population von Klassifizierern - das sind Regeln der Form [WENN Bedingung DANN Aktion], wobei die Bedingung angibt, in welchem Bereich des Zustandsraumes eines Lernproblems ein Klassifizierer anwendbar ist. Beim XCS spezifiziert die Bedingung in der Regel einen achsenparallelen Hyperquader, was oftmals keine angemessene Unterteilung des Zustandsraumes erlaubt. Beim HCS hingegen werden die Bedingungen der Klassifizierer durch Gewichtsvektoren beschrieben, wie die Neuronen des GNG sie besitzen. Jeder Klassifizierer ist anwendbar in seiner Zelle der durch die Population des HCS induzierten Voronoizerlegung des Zustandsraumes, dieser kann also flexibler unterteilt werden als beim XCS. Die Verwendung von Gewichtsvektoren ermglicht ferner, einen vom Neuronenadaptationsverfahren des GNG abgeleiteten Mechanismus als zweites Lernverfahren neben dem Genetischen Algorithmus einzusetzen. Whrend das Lernen beim XCS rein evolutionr erfolgt, also nur durch Erzeugen neuer Klassifizierer, ermglicht dies dem HCS, bereits vorhandene Klassifizierer anzupassen und zu verbessern. Zur Evaluation des HCS werden mit diesem verschiedene Lern-Experimente durchgefhrt. Die Leistungsfhigkeit des Ansatzes wird in einer Reihe von Lernproblemen aus den Bereichen der Klassifikation, der Funktionsapproximation und des Lernens von Aktionen in einer interaktiven Lernumgebung unter Beweis gestellt.
Resumo:
The use of linear programming in various areas has increased with the significant improvement of specialized solvers. Linear programs are used as such to model practical problems, or as subroutines in algorithms such as formal proofs or branch-and-cut frameworks. In many situations a certified answer is needed, for example the guarantee that the linear program is feasible or infeasible, or a provably safe bound on its objective value. Most of the available solvers work with floating-point arithmetic and are thus subject to its shortcomings such as rounding errors or underflow, therefore they can deliver incorrect answers. While adequate for some applications, this is unacceptable for critical applications like flight controlling or nuclear plant management due to the potential catastrophic consequences. We propose a method that gives a certified answer whether a linear program is feasible or infeasible, or returns unknown'. The advantage of our method is that it is reasonably fast and rarely answers unknown'. It works by computing a safe solution that is in some way the best possible in the relative interior of the feasible set. To certify the relative interior, we employ exact arithmetic, whose use is nevertheless limited in general to critical places, allowing us to rnremain computationally efficient. Moreover, when certain conditions are fulfilled, our method is able to deliver a provable bound on the objective value of the linear program. We test our algorithm on typical benchmark sets and obtain higher rates of success compared to previous approaches for this problem, while keeping the running times acceptably small. The computed objective value bounds are in most of the cases very close to the known exact objective values. We prove the usability of the method we developed by additionally employing a variant of it in a different scenario, namely to improve the results of a Satisfiability Modulo Theories solver. Our method is used as a black box in the nodes of a branch-and-bound tree to implement conflict learning based on the certificate of infeasibility for linear programs consisting of subsets of linear constraints. The generated conflict clauses are in general small and give good rnprospects for reducing the search space. Compared to other methods we obtain significant improvements in the running time, especially on the large instances.
Resumo:
Im Bereich sicherheitsrelevanter eingebetteter Systeme stellt sich der Designprozess von Anwendungen als sehr komplex dar. Entsprechend einer gegebenen Hardwarearchitektur lassen sich Steuergerte aufrsten, um alle bestehenden Prozesse und Signale pnktlich auszufhren. Die zeitlichen Anforderungen sind strikt und mssen in jeder periodischen Wiederkehr der Prozesse erfllt sein, da die Sicherstellung der parallelen Ausfhrung von grter Bedeutung ist. Existierende Anstze knnen schnell Designalternativen berechnen, aber sie gewhrleisten nicht, dass die Kosten fr die ntigen Hardwarenderungen minimal sind. Wir stellen einen Ansatz vor, der kostenminimale Lsungen fr das Problem berechnet, die alle zeitlichen Bedingungen erfllen. Unser Algorithmus verwendet Lineare Programmierung mit Spaltengenerierung, eingebettet in eine Baumstruktur, um untere und obere Schranken whrend des Optimierungsprozesses bereitzustellen. Die komplexen Randbedingungen zur Gewhrleistung der periodischen Ausfhrung verlagern sich durch eine Zerlegung des Hauptproblems in unabhngige Unterprobleme, die als ganzzahlige lineare Programme formuliert sind. Sowohl die Analysen zur Prozessausfhrung als auch die Methoden zur Signalbertragung werden untersucht und linearisierte Darstellungen angegeben. Des Weiteren prsentieren wir eine neue Formulierung fr die Ausfhrung mit fixierten Prioritten, die zustzlich Prozessantwortzeiten im schlimmsten anzunehmenden Fall berechnet, welche fr Szenarien ntig sind, in denen zeitliche Bedingungen an Teilmengen von Prozessen und Signalen gegeben sind. Wir weisen die Anwendbarkeit unserer Methoden durch die Analyse von Instanzen nach, welche Prozessstrukturen aus realen Anwendungen enthalten. Unsere Ergebnisse zeigen, dass untere Schranken schnell berechnet werden knnen, um die Optimalitt von heuristischen Lsungen zu beweisen. Wenn wir optimale Lsungen mit Antwortzeiten liefern, stellt sich unsere neue Formulierung in der Laufzeitanalyse vorteilhaft gegenber anderen Anstzen dar. Die besten Resultate werden mit einem hybriden Ansatz erzielt, der heuristische Startlsungen, eine Vorverarbeitung und eine heuristische mit einer kurzen nachfolgenden exakten Berechnungsphase verbindet.
Resumo:
Zeitreihen sind allgegenwrtig. Die Erfassung und Verarbeitung kontinuierlich gemessener Daten ist in allen Bereichen der Naturwissenschaften, Medizin und Finanzwelt vertreten. Das enorme Anwachsen aufgezeichneter Datenmengen, sei es durch automatisierte Monitoring-Systeme oder integrierte Sensoren, bedarf auerordentlich schneller Algorithmen in Theorie und Praxis. Infolgedessen beschftigt sich diese Arbeit mit der effizienten Berechnung von Teilsequenzalignments. Komplexe Algorithmen wie z.B. Anomaliedetektion, Motivfabfrage oder die unberwachte Extraktion von prototypischen Bausteinen in Zeitreihen machen exzessiven Gebrauch von diesen Alignments. Darin begrndet sich der Bedarf nach schnellen Implementierungen. Diese Arbeit untergliedert sich in drei Anstze, die sich dieser Herausforderung widmen. Das umfasst vier Alignierungsalgorithmen und ihre Parallelisierung auf CUDA-fhiger Hardware, einen Algorithmus zur Segmentierung von Datenstrmen und eine einheitliche Behandlung von Liegruppen-wertigen Zeitreihen.rnrnDer erste Beitrag ist eine vollstndige CUDA-Portierung der UCR-Suite, die weltfhrende Implementierung von Teilsequenzalignierung. Das umfasst ein neues Berechnungsschema zur Ermittlung lokaler Alignierungsgten unter Verwendung z-normierten euklidischen Abstands, welches auf jeder parallelen Hardware mit Untersttzung fr schnelle Fouriertransformation einsetzbar ist. Des Weiteren geben wir eine SIMT-vertrgliche Umsetzung der Lower-Bound-Kaskade der UCR-Suite zur effizienten Berechnung lokaler Alignierungsgten unter Dynamic Time Warping an. Beide CUDA-Implementierungen ermglichen eine um ein bis zwei Grenordnungen schnellere Berechnung als etablierte Methoden.rnrnAls zweites untersuchen wir zwei Linearzeit-Approximierungen fr das elastische Alignment von Teilsequenzen. Auf der einen Seite behandeln wir ein SIMT-vertrgliches Relaxierungschema fr Greedy DTW und seine effiziente CUDA-Parallelisierung. Auf der anderen Seite fhren wir ein neues lokales Abstandsma ein, den Gliding Elastic Match (GEM), welches mit der gleichen asymptotischen Zeitkomplexitt wie Greedy DTW berechnet werden kann, jedoch eine vollstndige Relaxierung der Penalty-Matrix bietet. Weitere Verbesserungen umfassen Invarianz gegen Trends auf der Messachse und uniforme Skalierung auf der Zeitachse. Des Weiteren wird eine Erweiterung von GEM zur Multi-Shape-Segmentierung diskutiert und auf Bewegungsdaten evaluiert. Beide CUDA-Parallelisierung verzeichnen Laufzeitverbesserungen um bis zu zwei Grenordnungen.rnrnDie Behandlung von Zeitreihen beschrnkt sich in der Literatur in der Regel auf reellwertige Messdaten. Der dritte Beitrag umfasst eine einheitliche Methode zur Behandlung von Liegruppen-wertigen Zeitreihen. Darauf aufbauend werden Distanzmae auf der Rotationsgruppe SO(3) und auf der euklidischen Gruppe SE(3) behandelt. Des Weiteren werden speichereffiziente Darstellungen und gruppenkompatible Erweiterungen elastischer Mae diskutiert.