Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Ähnliche Dokumente
Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Architektur paralleler Plattformen

Parallele und verteilte Programmierung

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Skalierbare Rechensysteme für Echtzeitanwendungen

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit:

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Leistungsbewertung rekonfigurierbarer Verbindungsnetze für Multiprozessorsysteme

Systeme 1: Architektur

Gliederung Seite 1. Gliederung

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Rechneraufbau und Rechnerstrukturen

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 25.

Vorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. Empfänger Kommunikationssystem. Netzwerk

6. Parallele Algorithmen

Kapitel 1: Architektur verteilter Systeme. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Paralleler Programmentwurf nach Foster

Enterprise Computing

Johann Wolfgang Goethe-Universität

Tutorium Rechnerorganisation

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Tutorium Rechnerorganisation

Grundlagen der Rechnertechnologie Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Chapter 1 Einführung. CCNA 1 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

Semestralklausur Einführung in Computer Microsystems

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Teil VIII Von Neumann Rechner 1

Alexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank

Was ist die Performance Ratio?

Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme. Rekonfigurierbare Controller

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Games with Cellular Automata auf Parallelen Rechnerarchitekturen

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 6 (27. Mai 31. Mai 2013)

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

2 Rechnerarchitekturen

Routing Algorithmen. Begriffe, Definitionen

Fachbereich Medienproduktion

Rechner Architektur. Martin Gülck

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte


HORUS. Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HWS Martin Scherer

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Kapitel 6 Programmierbare Logik. Literatur: Kapitel 6 aus Oberschelp/Vossen, Rechneraufbau und Rechnerstrukturen, 9. Auflage

Grundlegendes zum PC

Kommunikationsmodelle

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

Was ist Rechnerleistung

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Rechnernetze Übung 10. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2011

Hardware II. Netzwerke. Wozu dient ein Rechnernetz? Ein Rechnernetz dient dem direkten Datenaustausch zwischen zwei oder mehreren Rechnern.

LATENCY BUNDLE BEDIENUNGSANLEITUNG

CoreSight-Zugang auf dem ZedBoard. Alex Bereza

Die Sandy-Bridge Architektur

Motivation. Eingebettetes System: Aufgabe:

Mikrorechner-Technik

Prozessoren in Programmierbarer Logik

TBE332 Controller. Produktbeschreibung

I Grundlagen der parallelen Programmierung 1

BLIT2008-Board. Uwe Berger

Bluetooth Low Energy gleichzeitige Verbindungen zu mehreren Knoten

Multiuser Client/Server Systeme

Zellulare Neuronale Netzwerke

Rechnernetze 2. Grundlagen

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

Übung I Echtzeitbetriebssysteme

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Der CAN-Bus (Controller Area Network)

Vorlesung "Struktur von Mikrorechnern" (CBS)

Compute Unified Device Architecture CUDA

Protected User-Level DMA in SCI Shared Memory Umgebungen

COMPUTERKLASSEN MULTICOMPUTER und SPEZIALANWENDUNGSSYSTEME

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Standardsoftware für die Industrielle Bildverarbeitung

Grundlagen Rechnerarchitektur und Betriebssysteme

Opteron und I/O. Toni Schmidbauer. 11. Mai Zusammenfassung. Eine kurze Beschreibung der AMD Opteron Architektur.

Grundsätzliches. Grundsätzliche Überlegungen zu Netzwerken Stand : Juli 2006

Übersicht aktueller heterogener FPGA-SOCs

COOL HASHING MIT FPGAS. Robert Bachran

ATmega169 Chip: Pin-Layout

1 Konzepte der Parallelverarbeitung

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404

Verlustleistungsreduzierung in Datenpfaden

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Technische Informatik 1 - HS 2016

Einführung in die Informatik

Grundlagen. Vortrag von. Veranstaltung. Rüdiger Busch. Rechnernetze 1

Allgemeine Speed-Up Formel. Gesetz von Gustafson-Barsis

5 Speicherverwaltung. bs-5.1 1

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Eigenschafte: Konfiguration: Baudrate:

Die Mikroprogrammebene eines Rechners

Visualisierung paralleler bzw. verteilter Programme

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

Transkript:

Grundlagen der Informatik III Wintersemester 2010/2011 28. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 1

Inhalt 1. Literatur 2. Multiprozessorsysteme 3. Verbindungsnetzwerke 4. Kostenmodelle und Kommunikationsmodelle 5. Anwendung von Verbindungsnetzwerken 6. Praktische Realisierungen 7. Zusammenfassung und Ausblick 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 2

Literatur [Sch97] Schürmann, Bernd: Rechnerverbindungsstrukturen. Vieweg Verlag, Braunschweig, Wiesbaden, 1997. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 3

Multiprozessorsysteme Multiprozessorsysteme werden nach Flynn s Taxonomie in die Klasse MIMD eingeteilt. Anhand der Entfernung der Systemkomponenten und der Übertragungsrate wird festgelegt, ob ein paralleles Rechnersystem als Multiprozessorsystem bezeichnet wird Taxonomie: Multiprozessorsysteme werden auf einer ersten Ebene in speichergekoppelte und nachrichtengekoppelte Systeme unterteilt. In der Vergangenheit wurden verschiedene Multiprozessorsysteme mit mehrstufigen Schalternetzwerken gebaut. Ein nachrichtengekoppeltes Multiprozessorsystem ist der SUPRENUM-1-Rechner 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 4

Multiprozessorsysteme Die Abbildung zeigt ein Rechnersystem mit physikalisch gemeinsamem Speicher. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 5

Multiprozessorsysteme Die physikalische Struktur eines Rechnersystems mit verteiltem Speicher ist in der folgenden Abbildung zu sehen. Jeder Knoten besteht aus einem Prozessor und einem Speicher und ggf. der I/O Peripherie. Die Knoten werden über ein Verbindungsnetzwerk gekoppelt. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 6

Verbindungsnetzwerke Die Verbindungsnetzwerke sind ein wesentlicher Bestandteil von Parallelrechnern und bestimmen maßgeblich deren Leistungsfähigkeit [Sch97] Ein Verbindungsnetzwerk ist innerhalb eines Parallelrechners in zwei Ausprägungen vorhanden. Verbindungsnetzwerk zur Kopplung von Prozessoren, Speichern und I/O-Einheiten Verbindungsnetzwerk zur Kopplung mehrerer Knoten, wobei jeder Knoten aus Prozessor, Speicher und I/O-Einheiten besteht Verbindungsnetzwerke sind auch in der Kommunikationstechnik (Telefon) zu finden. Nach was für Kriterien werden Verbindungsnetzwerke charakterisiert? 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 7

Verbindungsnetzwerke Die Kriterien, nach denen Verbindungsnetzwerke charakterisiert werden, sind: Die Übertragungsgeschwindigkeit/Bandbreite des Verbindungsnetzwerks. Außerdem ist die Bisektionsbandbreite, also die Bandbreite die benötigt wird, wenn die eine Hälfte der Knoten an die andere Hälfte gleichzeitig sendet, eine wichtige Kenngröße. Die Latenz des Verbindungsnetzwerks. Damit wird die Verzögerung beschrieben, die vom Absenden einer Nachricht bzw. eines Datums bis zur Ankunft und der Verarbeitung gemessen wird. Skalierbarkeit bezeichnet die Eigenschaft, ein Verbindungsnetzwerk (modular) zu erweitern. Das Blockierungsverhalten beschreibt, inwiefern ggf. Einschränkungen auf bestehende Verbindungen durch andere Verbindungen zu erwarten sind. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 8

Verbindungsnetzwerke Weitere Kriterien an ein Verbindungsnetzwerk sind die Kosten, die räumliche Ausdehnung und die Fehlertoleranz. Die Einteilung der Verbindungsnetzwerke kann nach folgenden Kriterien vorgenommen werden. Topologie Verbindungsart Steuerung des Verbindungsaufbaus Arbeitsweise Die Topologie spielt dabei eine herausragende Rolle, da sie Eigenschaften wie Skalierbarkeit entscheidend mitbestimmt. Die Auswahl des geeigneten Verbindungsnetzwerks trägt im Wesentlichen zur Leistungssteigerung eines Parallelrechners bei, da in der Regel die Leistungsgrenze immer durch die erzielbare Speicherbandbreite und die Kommunikationsbandbreite begrenzt ist. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 9

Verbindungsnetzwerke Die Topologie, also die räumliche Anordnung eines Verbindungsnetzwerkes, kann in reguläre und irreguläre Strukturen unterteilt werden. Irreguläre Strukturen werden in Parallelrechnern selten eingesetzt. Reguläre Strukturen haben den Vorteil, Prozessoren und damit auch auf das Programmiermodell bezogen Prozesse in regelmäßigen Strukturen anzuordnen. Des Weiteren unterscheidet man statische und dynamische Verbindungsnetzwerke. Statische Netzwerke sind feste Punkt zu Punkt Verbindungen der Prozessoren dynamische Netzwerke enthalten Schaltelemente, die durch Konfigurationsinformationen eine bestimmte Verbindung herstellen können 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 10

Statische Verbindungsnetzwerke Bei der Einführung der Zellularen Automaten wurden bereits zwei Verbindungsnetzwerke beschrieben, nämlich das zweidimensionale und das hexagonale Gitter. In Verbindungsnetzwerken werden solche Gitter häufig zur Lösung zweidimensionaler Probleme eingesetzt. Der Vorteil ist die feste Anzahl von vier Verbindungskanälen (Links) bei beliebiger Größe des Gitters. Um die Kommunikation an den Rändern des Gitters nicht abbrechen zu lassen, kann das Gitter zum Torus geschlossen werden. Im Prinzip beliebige Geometrien möglich 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 11

Statische Verbindungsnetzwerke Wichtige statische Topologien sind 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 12

Statische Verbindungsnetzwerke Die vollständige Vernetzung 1 verbindet alle Knoten mit je einem Link untereinander und stellt damit die verbindungsreichste Topologie dar. Der Aufwand von N 1 Kommunikationskanälen pro Knoten ist allerdings nur für relativ kleine N möglich. Deswegen wird in vielen Parallelrechnern die vollständige Vernetzung nicht verwendet, obwohl die Eigenschaften, nur einen Verbindungsschritt (hop) zu benötigen und keine Resourcenkonflikte zu verursachen, bei der Realisierung von Parallelrechnern ideal sind. 1 engl.: completely interconnected 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 13

Dynamische Verbindungsnetzwerke Dynamische Verbindungsnetzwerke enthalten konfigurierbare Schaltelemente und werden in einstufige und mehrstufige Netze eingeteilt. Zu den einstufigen, dynamischen Verbindungsnetzwerken gehören das Shuffle-Netzwerk, der Crossbar und der Bus. Mehrstufige dynamische Verbindungsnetzwerke werden oft aus einstufigen Elementen zusammengesetzt. Die Struktur der Verbindungen bezeichnet dann das Netzwerk (Butterfly, Omega usw.) 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 14

Dynamische Verbindungsnetzwerke Der Crossbar oder Kreuzschienenverteiler ist das universellste dynamische Verbindungsnetz. Es gestattet mit nur einer Stufe, beliebige Paare von Einund Ausgängen miteinander zu verbinden. Außerdem ist es möglich, an alle Empfänger eine Nachricht zu senden (broadcast). Die Abbildung zeigt einen 2 2 Crossbar. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 15

Dynamische Verbindungsnetzwerke Die Schalter einer Zeile (z. B. K12 und K22) dürfen nicht gleichzeitig aktiviert werden. Schließlich kann an E1 eine logische Null und an E2 eine logische Eins anliegen. Aus diesem Grund besitzen Crossbars sogenannte Arbitrierungseinheiten. Die Komplexität der Schaltung mit n Eingängen und n Ausgängen ist O(n 2 ). Zusätzlich ist allerdings noch die Logik für die Arbitrierungseinheiten zu berücksichtigen. Ein dynamisches Verbindungsnetzwerk mit sehr großer Verbreitung ist der Bus. Der Bus ist ein Crossbar mit der Konfiguration m 1 und damit eine Spalte dieses Verbindungsnetzwerkes. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 16

Dynamische Verbindungsnetzwerke Bus (Fortsetzung) Er ist kostengünstig realisierbar. Allerdings ist die Bandbreite begrenzt und skaliert nicht. Die Latenzzeiten sind höher und auch das Blockierungsverhalten wesentlich kritischer als beim Crossbar. In Parallelrechnern wird der Bus deswegen nur zur Steuerung von peripheren Komponenten verwendet 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 17

Dynamische Verbindungsnetzwerke Das Shuffle-Netzwerk lässt sich ebenfalls aus der Crossbar-Struktur ableiten. Abbildung zeigt die Schaltfunktionen. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 18

Dynamische Verbindungsnetzwerke Ist K unwahr, so erfolgt die Verbindung von E1 nach A1 und von E2 nach A2 Ist K wahr, so vertauscht sich die Zuordnung der Ausgänge Einige Ausprägungen des Shuffle-Netzwerks sind um eine Broadcastfunktion erweitert worden Das Shuffle-Netzwerk ist durch die eingeschränkte Struktur nicht mehr skalierbar. Viele mehrstufige Verbindungsnetzwerke sind aus dem Schaltelement des Shuffle-Netzwerks zusammengesetzt. Zu den mehrstufigen Verbindungsnetzwerken gehören das Omega-Netz und das Butterfly-Netz. Darstellung verschiedener Permutationsnetzwerke (Exchange, Perfect-Shuffle, Butterfly, Bit reversed) 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 19

Dynamische Verbindungsnetzwerke Butterfly-Netzwerk 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 20

Dynamische Verbindungsnetzwerke Neben der Topologie trägt die Verbindungsart einen großen Teil zur Leistungsfähigkeit eines Verbindungsnetzes bei. Bei den dynamischen Verbindungsnetzwerken wird die Leitungsvermittlung und die Paketvermittlung unterschieden. Die Leitungsvermittlung ist eine physikalische Verbindung und erfordert einen Leitungsaufbau, die Übertragung der Daten und einen Leitungsabbau. Die Paketvermittlung übergibt einen Datenblock (Paket) an das Verbindungsnetz, welches das Paket über wechselnde Routen zum Ziel transportiert. Der Vorteil der Paketvermittlung ist, dass Ressourcen nur belegt werden, wenn diese auch benötigt werden und eine alternative Wegewahl möglich ist. Der Nachteil gegenüber der Leitungsvermittlung ist, dass die Zeit für die Übertragung proportional zur Anzahl der Verbindungsschritte ist. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 21

Bulk-Synchronous Parallel Modell I Das Bulk-Synchronous Parallel Modell (BSP) ist ein nachrichtengekoppeltes Modell Es erlaubt den Prozessoren eine asynchrone Arbeitsweise und modelliert Latenzeit und begrenzte Bandbreite Ein mit dem BSP Modell beschriebener Rechner besteht: aus einer Menge von Prozessoren (es ist dabei unerheblich, ob die Prozessoren lokalen Speicher besitzen). einem Kommunikationsnetz für das Verschicken von Nachrichten und einem Mechanismus für die Barrieren-Synchronisation. Eine Berechnung enthält eine Sequenz sogenannter Superschritte. Ein Superschritt besteht aus einer Anzahl von lokalen Berechnungsschritten und der Nachrichtenübertragungen, also dem Senden und Empfangen von Nachrichten an bzw. von anderen Komponenten. Danach wird eine Barrierensynchronisation aller Prozessoren durchgeführt, bevor der nächste Superschritt starten kann. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 22

Bulk-Synchronous Parallel Modell II Durch das Einführen der Superschritte werden Kommunikation und Synchronisation voneinander entkoppelt. Außerdem werden Verklemmungen durch race conditions vermieden. Der globale Zustand der Programmausführung ist bei der Ausführung der Barriere am Ende eines Superschrittes bekannt. Das BSP Modell ist durch folgende drei Attribute definiert. Die Anzahl p der Komponenten mit Berechnungs- und/oder Speicherfunktion (Prozessoren). Einen Faktor g, der Kommunikationskosten in Berechnungskosten überführt. Die minimale Zeit L zwischen zwei Synchronisationen. Diese Zeit ist auch als Zeit für die Ausführung eines Superschritts zu interpretieren. Eine technische Realisierung des BSP Modells ist, abgesehen von der Barrierensynchronisation, in nachrichtengekoppelten Multiprozessorarchitekturen zu finden. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 23

LogP Ein Modell zur Beurteilung der Verbindungskosten ist das LogP Modell. Der Austausch der Daten zwischen den Prozessoren wird durch Nachrichten realisiert. Das LogP Modell definiert also ein nachrichtengekoppeltes Maschinenmodell. Dieses Modell abstrahiert von der Struktur und den Eigenschaften des Verbindungsnetzwerks, Konflikte im Verbindungsnetz werden nicht berücksichtigt. Vier charakteristische Parameter L, o, g und P werden definiert: Die Latenzzeit L (latency) ist die maximal benötigte Zeit für die Übertragung einer kleinen Nachricht. Der Aufwand o (overhead) beschreibt die Zeitdauer für den Sende- bzw. Empfangsvorgang. Mit g (gap) wird das kleinste Zeitintervall bezeichnet, welches zwischen der Übertragung von zwei Nachrichten eingehalten werden muss. Die Anzahl der Prozessor- und/oder Speichermodule P. Die Zeiteinheit für eine Operation wird als Zyklus bezeichnet. Die Parameter L, o und g werden als Vielfache des Zyklus gemessen bzw. angegeben. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 24

Anwendung von Verbindungsnetzwerken Verbindung von mehreren Prozessoren Anwendungen müssen Parallelität unterstützen Parallele Algorithmen Vielzahl von Algorithmen, die für spezielle Architekturen (Verbindungsstrukturen) entwickelt wurden. Parallele Algorithmen sind für Sortieren Matrixmultiplikation Graphenalgorithmen... entwickelt worden. Hier das einfache Beispiel des Bitonischen Mischens 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 25

Bitonisches Mischen Gegeben ist eine Bitonische Folge: 1, 7, 9, 12, 13, 11, 8, 2 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 26

Anwendung von Verbindungsnetzwerken Analyse: Jede Zelle (Prozessor) enthält ein Datum Auszuführende Operation: Vergleich der Daten, die in der Zelle gespeichert sind ggf. Austausch Wichtig: Synchronisation aller Prozessoren am Schluss, damit es nicht zu Inkonsistenzen kommt Implementierung mit Prozessen (Threads)?! Aufwand: Kommunikationskosten vs. Berechnungskosten (Vergleich) 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 27

Bitonisches Sortieren Gegeben ist eine beliebige Folge: 7, 12, 1, 5, 13, 1, 4, 3 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 28

Anwendung von Verbindungsnetzwerken Analyse: Nach dem Erzeugen der Bitonischen Folge erfolgt das Mischen Realisierung der Kommunikation über Verbindungsnetzwerk In diesem Fall z. B. Omega-Netzwerk Verbindungsstruktur 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 29

Bitonisches Sortieren Erster Schritt 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 30

Bitonisches Sortieren Zweiter Schritt 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 31

Bitonisches Sortieren Dritter Schritt 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 32

Blockmatrixzerlegung Gegeben ist eine Matrix A = a 00 a 01 a 02 a 03 a 10 a 11 a 12 a 13 a 20 a 21 a 22 a 23 a 30 a 31 a 32 a 33 Zerlegung ( ) a00 a A 00 = 01 a 10 a 11 A 01 = ( ) a02 a 03 a 12 a 13 A 10 = ( ) a20 a 21 a 30 a 31 A 11 = ( ) a22 a 23 a 32 a 33 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 33

Blockmatrixzerlegung Mit analogen Definitionen für die Matrizen B und C kann die Matrixmultiplikation wie folgt dargestellt werden: ( ) ( ) A00 A C = A B = 01 B00 B 01 A 10 A 11 B 10 B 11 = = = ( ) A00 B 00 + A 01 B 10 A 00 B 01 + A 01 B 11 A 10 B 00 + A 11 B 10 A 10 B 01 + A 11 B 11 ( ) ( ) A00 B 00 A 00 B 01 A01 B + 10 A 01 B 11 A 10 B 00 A 10 B 01 A 11 B 10 A 11 B 11 ( ) C00 C 01 C 10 C 11 Die vier Ergebnisblockmatrizen C 00 bis C 11 können unabhängig voneinander berechnet werden. 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 34

Blockmatrixzerlegung Auf einem CC-Modell (Connected Cube) 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 35

Praktische Realisierungen einer Multiprozessorarchitektur 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 36

Altera - NIOS II 32 General Purpose Register Nios II Processor Core Tightly Coupled JTAG interface to software debugger reset clock cpu_resetrequest cpu_resettaken JTAG Debug Module Program Controller & Address Generation Exception General Purpose Registers Control Registers Instruction Cache Instruction Memory Tightly Coupled Instruction Memory Instruction Bus Controller irq[31..0] Interrupt Controller Instruction Regions Memory Memory Management Unit Protection Unit Translation Data Regions Lookaside Buffer Data Bus Custom I/O Signals Custom Instruction Logic Arithmetic Logic Unit Data Cache Tightly Coupled Data Memory Tightly Coupled Data Memory 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 37

Realisierung der Architektur auf FPGA Kenngrößen - A B C D E F G H I J K p total total ALUTs ALUTs network network registers memory register max. max. DMIPS ALMs ALUTs for for per over for bits bits clock DMIPS speed processors network processor processor ALUTs network (MHz) up 1 1,203 1,592 1,592 - - - - 195,296 1,520 200 232 1.0 4 4,355 5,437 4,683 326 81.50 6.9% 184 289,568 4,995 133 617 2.6 8 8,344 10,780 9,006 922 115.25 10.2% 368 415,264 9,568 120 1113 4.8 16 17,638 21,935 17,697 2,616 163.50 14.8% 736 666,656 18,726 95 1763 7.6 32 36,577 44,441 34,404 6,637 207.40 19.3% 1,472 1,169,440 37,047 75 2784 12.0 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 38

Realisierung der Architektur auf FPGA Anwendung, Sortieren von Zahlen: Algorithmen Quicksort, Bitonic Sort processors cycles cycle speed-up execution time real speed-up 1 4,971,726 1.00 24.8 ms 1.0 4 1,443,694 3.4 10.8 ms 2.3 8 726,336 6.8 6.0 ms 4.1 16 366,650 13.5 3.8 ms 6.4 32 182,598 27.2 2.4 ms 10.2 sorted data random data algorithm cycles execution time cycles execution time standard quicksort 23,314,342 169.56 ms 502,411 3.65 ms median quicksort 420,197 3.06 ms 542,098 3.94 ms 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 39

Zusammenfassung und Ausblick Multiprozessorsysteme Verbindungsnetzwerke Nächste Vorlesung behandelt Kommunikationsnetze 9. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 40