Studie zum Einsatz eines Network-on-a-Chip für eine Many-Core- Java-Bytecode-Architektur

Ähnliche Dokumente
Universelle Speicherschnittstelle für große externe Speicher

Huston, Geoff: Internet Performance Survival Guide, QoS Strategies for Multiservice Networks, John Wiley & Sons, 2000, 550 Seiten, DM 98.

Entwurf und Implementierung einer parametrierbaren Trace- Hardware am Beispiel der SHAP-Mikroarchitekur

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

Vortrag zum Hauptseminar Hardware/Software Co-Design

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

Protected User-Level DMA in SCI Shared Memory Umgebungen

Architektur paralleler Plattformen

Übersicht aktueller heterogener FPGA-SOCs

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom Dr. Sebastian Iwanowski FH Wedel

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

KNX EtherGate Eine universelle Plattform für KNX/IP Interfaces

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine

Der Einsatz des Universal Virtual Computer in der Koninklijke Bibliotheek

Die Architektur des Sun UltraSPARC T2 Prozessors, Anwendungsszenarien

Symmetrischer Multiprozessor (SMP)

Motivation. Eingebettetes System: Aufgabe:

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement

Cloud Computing mit mathematischen Anwendungen

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES

AUL04 Einführung in die Automatisierungslösungen

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

Diplomarbeit Antrittsvortrag

Java Performance Tuning

Visualisierung paralleler bzw. verteilter Programme

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Grundlagen der Rechnerarchitektur

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

Projektseminar Parallele Programmierung

Enterprise Computing

Intel Cluster Studio. Michael Burger FG Scientific Computing TU Darmstadt

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

Emulation und Rapid Prototyping

Entwicklung eines intelligenten FlexRay-Sternkopplers Paul Milbredt, AUDI AG, , TU Darmstadt

Dateisysteme und Datenverwaltung in der Cloud

SWS im Prüfungsgebiet Module 1. Sem. 2. Sem. 3. Sem. 4. Sem. 5. Sem. 6. Sem. V Ü/L S V Ü/L S V Ü/L S V Ü/L S V Ü/L S V Ü/L S

ServiceGlobe: Flexible and Reliable Web Service Execution

Implementierung der Jikes Research Virtual Machine

Security for Safety in der Industrieautomation Konzepte und Lösungsansätze des IEC 62443

CORBA. Systemprogrammierung WS

Software ubiquitärer Systeme

Industrielle Bussysteme : EtherNet/IP

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Netzwerktechnologie 2 Sommersemester 2004

Client/Server-Systeme

Vorlesung Rechnerarchitektur. Einführung

Hardware Virtualisierungs Support für PikeOS

Cloud und Big Data als Sprungbrett in die vernetzte Zukunft am Beispiel Viessmann

Lernziele (1) Lernziele (2) Einführung in Datenbanksysteme. 0. Überblick 2

Scheduling for Time-Triggered Network Communication

Designing Haptic. Computer Interfaces for blind people

Parallelisierung auf MPSoC-Plattformen

Ein etwas anderer Morgen für Sal [0] [10]

Formale Grundlagen der Fehlertoleranz in verteilten Systemen

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Inhaltsverzeichnis. Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

Message Oriented Middleware am Beispiel von XMLBlaster

Synthese Eingebetteter Systeme. 14 Abbildung von Anwendungen auf Multicore-Systeme

Jürg Gutknecht, SI und ETH Zürich, April 2015

Überblick über Java-Umgebungen auf Embedded-Plattformen

Dynamische domänenübergreifende Gruppenkommunikation in hybriden Multicast-Netzwerken

Endgeräteunabhängige Schlüsselmedien

Java RMI Remote Method Invocation

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom Dr. Sebastian Iwanowski FH Wedel

Samsungs Exynos 5 Dual

Fortbildung elearning

SSDs und Flash Memory. Matthias Müller 16.Juni 2010 Institut für Verteilte Systeme

Realisierung einer 32'768-Punkt-FFT für 2 GBytes/s Datenrate auf einem FPGA

Repetitorium Informatik (Java)

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

11. Mehrrechner-DBMSe / Datenbankmaschinen

Gesellschaft für Informatik e.v. (GI) Institute of Electrical and Electronics Engineers (IEEE)

Einführung in das parallele Programmieren mit MPI und Java

Caching. Hintergründe, Patterns &" Best Practices" für Business Anwendungen

Fakultät Informatik, Institut für Angewandte Informatik, Professur Prozesskommunikation Entwicklung eines Profinet IO Testbetts

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Praktikum Verteilte Anwendungen

Mehrprozessorarchitekturen (SMP, Cluster, UMA/NUMA)

Complex Event Processing

C# im Vergleich zu Java

Titelmasterformat durch Klicken bearbeiten

Projekt für Systemprogrammierung WS 06/07

Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm

Vorlesung Automotive Software Engineering Prüfung Wintersemester 2014/15 TU Darmstadt, FB 18 und FB 20

Multiuser Client/Server Systeme

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil

SIMATIC PCS 7 V8.2 Open OS. Integration von Package Units ohne Nebenwirkungen

Zuletzt geändert durch Satzung vom 6. August 2015

Pilot IBM Langzeitarchiv Martin Walder IBM Schweiz

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

Verteilte Systeme CS5001

Methoden der agilen Softwareentwicklung für eingebettete Systeme

5.) Nach erfolgreicher Übertragung entfernt der Sender seinen Daten-Rahmen vom Ring. Wodurch kann ein verwaister Rahmen entstehen?

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Vorschlag einer Architektur für Software Defined Networks

Java Virtual Machine (JVM) Bytecode

Transkript:

Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Belegverteidigung Studie zum Einsatz eines Network-on-a-Chip für eine Many-Core- Java- Tony Müller Dresden, 11.07.2012

Inhalt 1. Motivation und Aufgabenstellung 2. Grundlagen 3. NoC-Ansätze für SHAP 4. Bewertung 5. Zusammenfassung und Ausblick Folie 2 von 23

1 Motivation Begriffe Many-Core-Architekturen Trend zu immer stärkerer Parallelisierung, speziell auf Threadebene immer mehr Kerne auf einem Chip Weiterentwicklung von Multi-Cores keine genaue Definition von many meist deutlich mehr als 10 Kerne je Chip Networks-on-a-Chip Ursprung in SoCs zur Verbindung heterogener Komponenten auf einem Chip bekannte Netzwerk-Konzepte auf Chipebene anwenden Pakete, Topologie, Routing, Switching, Router etc. NoC zur Verbindung vieler (SHAP-)Kerne nutzen Folie 3 von 23

1 Motivation Aufgabenstellung Literaturstudium zu Struktur, Realisierung und Parametrierung von NoCs Literaturstudium zum Aufbau von Many-Core-Architekturen Identifikation von geeigneten NoC-Konzepten für Many-Core-Architekturen Auswahl geeigneter Ansätze für Many-Core-SHAP. Zusammenstellung verschiedener Szenarien und deren möglicher Parametrierung. Bewertung der Szenarien bzgl. zu erwartender praktischer Eignung Folie 4 von 23

2 Grundlagen Networks-on-a-Chip - Komponenten [BDM06] [Bje05] Router: implementieren Routingund Switching-Verfahren Verarbeitungseinheiten (VA): IP-Cores (Prozessoren, Speicher) Links: verbinden Router Netzwerkadapter (NA): Schnittstelle zwischen VAs und Netzwerk Packen/Entpacken von Paketen nach [Bje05] Folie 5 von 23

2 Grundlagen Networks-on-a-Chip Topologien [BDM06] [Sam10] [Wik05] Gitter Torus Binärbaum Gittertopologien am häufigsten genutzt Sonstige Topologien: Ring, Spidergon, irreguläre, hybride Folie 6 von 23

2 Grundlagen Networks-on-a-Chip Routing [BDM06] [Sam10] [Wik05] Lokalität: Source und Distributed Routing Dynamik: statisch und dynamisch Zentralisation: lokales und globales Wissen Minimalität: minimal und nichtminimal Beispiele xy-routing Deflection-Routing Folie 7 von 23

2 Grundlagen Networks-on-a-Chip Switching [BDM06] Leitungsvermittlung Paketvermittlung Store-and-Forward (SAF) Virtual-Cut-Through (VCT) Wormhole (WH) Folie 8 von 23

2 Grundlagen Beispiel: Godson-T-Many-Core-Architektur [FYZ09] [WGM08] 64 Kerne jeder Kern 16 KB Befehls-Cache 32 KB lokaler Speicher als Daten-Cache oder Scratchpad- Speicher L2-Cache an Speichercontrollern 8x8 Gittertopologie xy-routing Wormhole Switching Folie 9 von 23 [WGM08]

2 Grundlagen SHAP-Mehrkernarchitektur [Zab12] direkte Ausführung von Java-Bytecode objektorientierte Adressierung Heap und Bytecode gemeinsam in einem zentralem Speicher automatische Speicherverwaltung mit nebenläufigem Garbage Collector Kerne über Ports an Speichermanager angeschlossen I/O-Anbindung über Wishbone-Bus und DMA [Olu12] Folie 10 von 23

3 NoC-Ansätze für SHAP Kommunikationsmöglichkeiten der Kerne Speicherkopplung Kerne nutzen gemeinsamen Adressraum Variante 1: mehrere Speicher mit gemeinsamen Adressraum Variante 2: auf Chip nur Caches Nachrichtenkopplung expliziter Nachrichtenaustausch zwischen Kernen Variante 1: enge Integration in Prozessor-Pipeline Variante 2: über DMA analog Ethernet-Mac Folie 11 von 23

3 NoC-Ansätze für SHAP Speicherarchitektur Folie 12 von 23

3 NoC-Ansätze für SHAP Speicherverwaltung (1) - Verwaltungsstrukturen lokale Objekte: Referenztabelle wie bisher zusätzliche Information: Anzahl eingehender entfernter Referenzen auf ein Objekt (für GC notwendig) entfernte Objekte: Referenztabelle mit Indexzugriff nicht möglich Tabelle: Zuordnung Objektreferenz zu entferntem Speicher Folie 13 von 23

3 NoC-Ansätze für SHAP Speicherverwaltung (2) - Speicherzugriffe auf lokale Objekte wie bisher auf entfernte Objekte: Folie 14 von 23

3 NoC-Ansätze für SHAP Speicherverwaltung (3) Garbage Collection mehrere Speicher verteilter Garbage Collector notwendig neu: entfernte Referenzen auf lokale Objekte sind zu beachten Rückgriff auf GC für verteilte objektorientierte Systeme [GF93] zusätzliche GC-Phase markiert Objekte, auf die entfernte Referenzen existieren dafür wird Anzahl der eingehenden Referenzen für jedes Objekt ausgewertet nur entfernt erreichbare Objekte Migration? Aktualisierung der Anzahl eingehender entfernter Referenzen Kommunikation der GCs: bestehende Daisy-Chain NoC Folie 15 von 23

3 NoC-Ansätze für SHAP I/O-Anbindung Bus-Bridge als Schnittstelle zwischen Wishbone-Bus und NoC I/O-Geräte mit Wishbone-Schnittstelle können weiterhin angeschlossen werden Problem: Bus blockiert während I/O- Operation einfachste Lösung: Bus mit Out-of- Order-Completion DMA-Controller in den NAs mehrere Speicher mehrere parallele DMA-Operationen möglich Folie 16 von 23

3 NoC-Ansätze für SHAP Netzwerkkonzepte für erste Implementierung zunächst möglichst einfache Konzepte Topologie: Gitter statisches xy-routing Wormhole Switching Vermeidung von Deadlocks wenig Pufferspeicher Netzwerkadapter: 1. NA: I/O: Bus-Bridge, DMA-Controller 2. NA: Unterstützung für Speicherkopplung Folie 17 von 23

3 NoC-Ansätze für SHAP Beispielkonfiguration Übersicht VA-Details Folie 18 von 23

4 Bewertung Allgemein Ziel: möglichst wenige Änderungen am bestehenden System wird erreicht aber dadurch Kompromisse: keine Migration von Objekten in andere Speicher I/O-Bus lange blockiert keine Threadmigration Vergleich zu anderen Many-Core-Architekturen keine andere Java-Many-Core-Architektur bekannt Konzept des On-Chip-Speichers vs. Caches (vgl. z.b. IBM-Cell) Folie 19 von 23

5 Zusammenfassung und Ausblick Ergebnisse NoC-Ansätze für SHAP-Many-Core-Architektur gezeigt neue Speicherarchitektur neue Verwaltungsstrukturen Ablegen von Objekten in verschiedenen Speichern verteilte Garbage Collection Ausblick Ansätze in Implementierung überprüfen Kerne über mehrere Boards verteilen Nachrichtenkopplung genauer betrachten Folie 20 von 23

Literatur [BDM06] Benini, Luca; De Micheli, Giovanni: Networks on Chip. Morgan Kaufmann, 2006. ISBN 978 0 12 370521 1 [Bje05] Bjerregaard, Tobias: The MANGO Clockless Network-on-Chip: Concepts and implementation, Informatics and Mathematical Modelling, Technical University of Denmark, Diss., 2005 [FYZ09] Fan, Dong-Rui; Yuan, Nan; Zhang, Jun-Chao; Zhou, Yong-Bin; Lin, Wei; Song, Feng-Long; Ye, Xiao-Chun; Huang, He; Yu, Lei; Long, Guo- Ping; Zhang, Hao; Liu, Lei: Godson-T: An Efficient Many-Core Architecture for Parallel Program Executions. In: Journal of Computer Science and Technology 24 (2009), S. 1061 1073. ISSN 1000 9000 Folie 21 von 23

Literatur [GF93] Gupta, Aloke; Fuchs, W. K.: Garbage Collection in a Distributed Object- Oriented System. In: IEEE Transactions on Knowledge and Data Engineering 5 (1993), April, Nr. 2, S. 257 265. ISSN 1041 4347 [Olu12] Olunczek, Andrej: Leistungssteigerung der Speicherarchitektur des SHAP-Mehrkernprozessors, Fakultät Informatik, Technische Universität Dresden, Diplomarbeit, 2012 [Sam10] Samman, Faizal Arya S.: Microarchitecture and Implementation of Networks-on-Chip with a Flexible Concept for Communication Media Sharing, Fachbereich Elektrotechnik und Informationstechnik, Technische Universität Darmstadt, Diss., 2010 Folie 22 von 23

Literatur [WGM08] Wang, Xu; Gan, Ge; Manzano, J.; Fan, Dongrui; Guo, Shuxu: A Quantitative Study of the On-Chip Network and Memory Hierarchy Design for Many-Core Processor. In: 14th IEEE International Conference on Parallel and Distributed Systems, 2008 (ICPADS 08). ISSN 1521 9097, S. 689 696 [Wik05] Wiklund, Daniel: Development and Performance Evaluation of Networks on Chip, Department of Electrical Engineering, Linköping University, Diss., 2005 [Zab12] Zabel, Martin: Effiziente Mehrkernarchitektur für eingebettete Java- Bytecode-Prozessoren, Fakultät Informatik, Technische Universität Dresden, Diss., 2012 Folie 23 von 23