1,000 research outputs found

    Sprachen für parallele objektorientierte Programmierung

    Get PDF
    In letzter Zeit wurden eine ganze Reihe von objektorientierten Sprachen zur parallelen Programmierung entworfen und implementiert. Einige dieser Sprachen werden hier einander gegenübergestellt. Das Hauptaugenmerk der Arbeit liegt einerseits auf den bereitgestellten Konzepten zur Bewältigung der Komplexität, die sich durch die Parallelisierung ergibt, und andererseits auf der Flexibilisierung von Synchronisation und Kommunikation zur Optimierung der Parallelisierbarkeit von Programmausführungen

    Möglichkeiten des Multitasking zur Beschleunigung von Standardalgorithmen

    Get PDF
    In den letzten Jahren haben enorme Fortschritte in der Halbleiter- und Schaltkreistechnologie zur Entwicklung von immer leistungsfähigeren von Neumann-Rechnersystemen geführt. Trotz des dadurch bedingten Leistungszuwachses sind in einem Rechnersystem mit sequentiellem Befehlsstrom einer weiteren Leistungssteigerung durch die physikalischen Restriktionen der Hardware Grenzen gesetzt. Diese Einschränkung sowie die Forderung nach immer höheren Rechnerleistungen und ein drastischer Rückgang der Hardware-Preise führten zur Entwicklung neuer innovativer Rechnerarchitekturen, die aufgrund der Mehrfachausführung ihrer Hardware-Komponenten in der Lage sind, große Hengen von Operationen und Daten parallel zu verarbeiten. Damit zeichnet sich im Design heutiger moderner Rechnersysteme der Trend ab, möglichst viele gleichzeitig arbeitende Hardware-Komponenten zuzulassen. Die Erwartungen, die an diese Parallelrechner geknüpft werden, sind neben einer hohen Zuverlässigleit (reliability) und Verfügbarkeit (availability) eine deutliche Verbesserung der "turnaround"-Zeitund damit eine erhöhte Durchsatzrate. Da sich mit der Abkehr von der von-Neumann-Rechnerarchitektur auch die Operationsprinzipien und die Organisationstruktur der Rechner verändert haben, bedeutet dies insbesondere die Entwicklung neuer Betriebssyteme, Programmiersprachen und Compiler. Damit die Fähigkeit zur Parallelverarbeitung und das größere Leistungsvermögen dieser Rechnersysteme effektiv genutzt werden kann, wird es nötig sein, originäre parallele Algorithmenneu bzw. weiter zu entwickeln. Voraussetzung für eine Leistungssteigerung ist die Parallelisierbarkeit der zur Lösung anstehenden Probleme. Die Umstrukturierungeines sequentiellen Algorithmus muß gleiche Ergebnisse sicherstellen. Zur Ermittlung der Leistungsverbesserung wird man jeweils den optimalsten parallelen bzw. sequentiellen Algorithmus heranziehen. [...

    Lastverteilung für feinkörnig parallelisiertes Branch-and-bound

    Get PDF
    Zur Planung und Steuerung von komplexen rechnerintegrierten Fertigungssystemen (CIM) ist die Abarbeitung vieler extrem aufwendiger Algorithmen notwendig. Aus dem Bereich der Fertigungssteuerung zählt die Generierung von Maschinenbelegungsplänen (scheduling) dazu. Zur Steigerung der Lösungsgeschwindigkeit bzw. zum Erreichen exakter Ergebnisse bietet sich der massive Einsatz von Rechenparallelität an. Mit Parallelrechnern ist durch die gleichzeitige Verwendung von vielen Prozessoren potentiell eine sehr große Leistungssteigerung zu erreichen. Dafür muß jedoch die vorhandene Parallelität effektiv genutzt werden. Die dazu erforderliche Verteilung der anstehenden Arbeit auf eine große Menge von Prozessoren heißt Lastverteilung und stellt den Kern dieser Arbeit dar. Als allgemeiner Algorithmus zur Lösung kombinatorischer Optimierungs-probleme wird das Branch-and-bound-Verfahren eingesetzt und auf fein-körnigen Parallelrechnerarchitekturen ausgeführt. Zur Lastverteilung werden folgende drei Ansätze verfolgt und untersucht: " Statische Lastverteilung: Es werden mehrere Methoden zur Initialisierung der Prozessoren, welche vor dem eigentlichen Optimierungsalgorithmus ausgeführt werden, analysiert. Es zeigt sich, daß sich die statische Last-verteilung überproportional stark auf die Laufzeit des nachfolgenden Branch-and-bound-Algorithmus auswirkt. Es ist daher wichtig, der bisher unterschätzten statischen Lastverteilung für die parallele Baumsuche mit realen Problemstellungen, besondere Aufmerksamkeit zu schenken. " Dynamische Lastverteilung: Es wird ein vereinfachtes, gut skalierbares Flüssigkeitsmodell als erste synchrone lokale Lastverteilung entwickelt, welche besonders für Parallelrechner mit kurzer Verzögerungszeit beim Aufbau von Kommunikationsverbindungen effizient ist. Die Methode wird mit dem bekannten, aus dem Asynchronen übertragenen, Mittelungs-Ansatz verglichen. Zum analytischen Vergleich wird als ein realistischeres Aufwandsmaß die Kommunikationsmenge statt der üblichen Anzahl von Kommunikationsschritte verwendet. Der in der Prozessoranzahl bisher benötigte quadratische Zeitaufwand wird durch das Flüssigkeitsmodell auf einen linearen Aufwand reduziert, wobei das Flüssigkeitsmodell auch bzgl. der konstanten Zeitfaktoren signifikant effizienter ist. " Implizite Lastverteilung: Zur Vermeidung von Wartezeiten der unbe-teiligten Prozessoren während der Lastverteilung wird der Lastverteilungs-prozeß mit dem Branch-and-bound-Prozeß verschmolzen. Das neuartige Konzept der k-Expansion unterstützt eine automatische Lastverteilung und approximiert eine globale Suchstrategie. Zur Validierung der Ergebnisse werden Simulationen und Experimente mit einem Satz von Benchmark-Problemen durchgeführt. Der zugrunde liegende SIMD-Rechner ist eine MasPar MP-1 mit 16.384 Prozessoren in einem 2- dimensionalen Torus. Als exemplarische, NP-harte Anwendungsdomäne werden statische, non-operationale Planungsprobleme betrachtet

    Parallele Bewegungsplanung in dynamischen Umgebungen

    Get PDF
    Dieser interne Bericht gibt einen Ueberblick ueber die aktuellen Forschungsergebnisse aus dem gleichnamigen Projekt. Hierbei wird das Problem der praktikablen Bewegungsplanung fuer Industrieroboter in dynamischen Umgebungen angegangen. Der Grundalgorithmus ohne wesentliche off-line Berechnungen basiert auf der A*-Suche und arbeitet im impliziten, diskretisierten Konfigurationsraum. Die Kollisionen werden im kartesischen Arbeitsraum durch hierarchische Abstandsberechnung im gegebenen CAD-Modell erkannt. Eine zyklische Aufteilung des Suchraums auf die einzelnen Prozessoren ermoeglicht eine gut skalierbare Parallelverarbeitung fuer nachrichten-gekoppelte Rechnersysteme. Die Leistungsfaehigkeit des Bewegungsplaners wird an einem Satz von Benchmark-Problemen validiert. Unterstuetzt durch eine optimale Diskretisierung zeigt der neuartige Ansatz einen linearen Speedup. Fuer Umgebungen mit unbewegten Hindernissen liegen die Laufzeiten im Sekundenbereich. Zur weiteren Beschleunigung der Bewegungsplanung wird erstmalig eine heuristische hierarchische Suche im impliziten Konfigurationsraum eingefuehrt. Fuer zweidimensionale Benchmark-Probleme ergibt die Hierarchisierung eine starke Reduktion des Suchaufwandes

    Annual Report 1999 / Department for Computer Science

    Get PDF
    Selbstdarstellung des Instituts für Informatik der BTU Cottbus und Berichte der Lehrstühle für das Jahr 1999.Presentation of the Department for Computer Science of the BTU Cottbus and reports of the chairs at the department for the year 1999

    Verfahren und Werkzeuge zur Leistungsmessung, -analyse und -bewertung der Ein-/Ausgabeeinheiten von Rechensystemen

    Get PDF
    Untersuchungen zeigen, dass die Rechenleistung von Prozessoren stärker steigt als die Ein-/Ausgabeleistung von Sekundärspeichern. Dies führt dazu, dass CPUs ihr Rechenpotential oft nicht ausschöpfen, da sie auf Sekundärspeicherdaten warten. Zur Vermeidung dieser Wartezeiten ist die Leistungsanalyse und -optimierung der Speicher notwendig. I/O-Benchmarks sind Softwarewerkzeuge zur Leistungsanalyse, deren Probleme in dieser Arbeit aufgezeigt und gelöst werden. Es wird ein Ansatz entwickelt, der realitätsnahes, vergleichbares und einfaches I/O-Benchmarking mit der MPI-IO-Schnittstelle ermöglicht

    Lastverteilungsalgorithmen für parallele Tiefensuche

    Get PDF
    corecore