K-NN Klassifikation auf dem STI Cell BE Prozessor Michael Mair, Adrian Marte, Martin Schöpf, Daniel Winkler.

Slides:



Advertisements
Ähnliche Präsentationen
Magdalena Kowalcze Thomas Litzinger
Advertisements

1 Spezielle Packages des Java SDK (1.4) java.nio.
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
SAP R/3 - Speichermanagement
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Java: Grundlagen der Sprache
Palm OS Project Martin Ochs Palm OS Project Inhalt Hardware Schnittstellen Die serielle Schnittstelle Entwicklungsumgebung Test-Programm Hardware-Test.
DPG-Tagung 2002, Leipzig M. Fahrer, Seite 1 Datennahme und Slow Control in Vorbereitung der Serienproduktion der CMS-Spurdetektormodule M. Fahrer,
OpenMP Präsentation im Rahmen des Seminars
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 14.1.
Demoprogramm: Clustering Eine graphische Demonstration verschiedener Clusteringalgorithmen anhand des Clusterings von Punkten im zweidimensionalen Raum.
Studiengang Informatik FHDW
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
Einführung und Überblick
Inhalt Der Cell Prozessor Aufbau des Cells Platine Block Diagramm
Matrix Multiplication on CUDA
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
Rechneraufbau & Rechnerstrukturen, Folie 13.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 13.
So arbeitet ein PC.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Test Netzwerke 1 Grundlagen.
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Adaption von K-Means Algorithmen an Datenbanken
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
MediTOOLs 4.x. Neuerungen in der Version 4 Netzwerkfähigkeit für Mehrfachnutzung Automatische Berichterstellung Neue Grafikauswertung TREND-Analyse Schwellwertanzeigen.
Wer macht was beim Einschalten des Rechners?
Übersicht: Hardware Zentraleinheit EVA-Prinzip
DDR vs. RDRAM Ein Vergleich von Speichertechnologien Bernhard Fiser Stefan Schönauer.
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Fingerprint Matching On Card
JOMP
Oktober 2008 EIBPORT Version 3 kurze Präsentation eibPort Schulung.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Software Engineering SS04 Paralleles Programmieren FH Aachen, Prof. Dr.-Ing. Michael Trautwein Andrej Kühnal, Perez-Otuno Rodrigo.
Fachhochschule Südwestfalen Sebastian Melzer Hochschule für Technik und Wirtschaft Marketing-Mix für Großrechner.
Der Airbus A380 und seine größte Konkurrenz
Prof. Dr. T. Kudraß1 Speicherverwaltung: Flash-Laufwerke.
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
Parallele Lösung von Differential-Algebraischen Gleichungssystemen und Sensitivitätssystemen Seminarvortrag Daniel Abele
Chaostreff Dortmund Desktop Virtualisierung Workshop von Tidirium workshop4all Der Lange August und der Chaostreff Dortmund begrüßt euch zum Workshop Desktop.
Mein Eigenbau Computer Bachinger Paul Informatik 1AHWIL 2015/16.
Desktop-Publishing Grafik- und Bildformate. F. Müller Übersicht Bitmaps – Pixel, Größe – Auflösung – Optimierung – Farbtiefe – Speicherformate – Animationen.
Blowfish mit CUDA Dominik Oepen Inhalt ● Blowfish Grundlagen ● Implementierungsdetails ● Performance ● Fazit.
Exkurs: Chi-quadrat und Modellgüte 1. ist ein Distanzmaß, welches die Distanz zwischen Modellvorhersage und Daten misst.  Je kleiner desto besser ist.
PC Aufrüsten, Auftrag 1 Systemtools, Benchmark
Android Apps selbst gemacht
Energieeffizienz Bahnsysteme
Touchability of Touchscreens
Zürich, 08 Juli 2002.
Mental Rotations Test (MRT): Papier-Bleistift- vs. Computerversion
Aufbau und Funktionsweise einer CPU
Das IT - Informationssystem
Ozobot Farbcodes Übersicht
Energieeffizienz Bahnsysteme
Vorgestern, gestern und heute
Grundlagen - Hardware.
Speicher
Vom HW-Automaten zum Prozessor
Test.
Titel des Wissenschaftsprojekts
Hilfe Dokumente.
Objektorientierte Programmierung
Gliederung Was ist ein „Mock-Up-Tool“? Eigenschaften von Moqups
Neues aus HORIZON Lessons Learned
Mobilität: Status Quo Schweiz (1/2)
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

k-NN Klassifikation auf dem STI Cell BE Prozessor Michael Mair, Adrian Marte, Martin Schöpf, Daniel Winkler

Übersicht Cell Prozessor - Überblick Parallelisierungsstrategieen Cell- kNN Version 1.0 Cell- kNN Version 2.0 Ergebnisse Fazit

Cell Prozessor - Überblick

EIB- Bus

EIB- Bus

Testumgebung Hardware: PS3 yellow dog linux release 6.0 (pyxis)(2.6.23- 9.ydl6.1) (spu / ppu- ) gcc 4.1.1 libspe2 standarlibrary cell sdk 3.1

Parallelisierungsstrategien Parallelisierung über die Distanz zweier Punkte Version 1.0 Mit SIMD auch in Version 2.0 Parallelisierung über Testpunkte Version 2.0 Parallelisierung über Trainingspunkte

Parallelisierung über Distanz zweier Punkte Version 1.0 Bezogen auf knn.f90, function distance !PARALLEL(dimension) d = (inst1%val – inst2%val)**2 !PARALLEL(dimension), reduction distance = sum(d)

Parallelisierung über Distanz zweier Punkte Version 1.0

Ergebnisse Version 1.0 Zeiten und Speedup Berechnung mit allen (6) SPEs Sehr schlechter Speedup

Ergebnisse Version 1.0 Fortsetzung Abhängigkeit von der Anzahl benützer SPEs

Ergebnisse Version 1.0 Eigenschaften Wenige Dimensionen Datenmenge: 3136 Byte → 522 Byte pro SPE 522 Byte pro MFC Transfer, anstatt möglichen 16 kByte Viele SPE-Threads 60000 * 6 SPE-Threads pro Test Punkt Insgesamt 10000 * 60000 * 6 SPE-Threads Bei jedem Vergleich müssen Daten vom RAM in den LS der SPEs geladen werden Threads werden zeitgleich gestartet, die alle auf den RAM zugreifen → Bootleneck

Parallelisierung über Testpunkte Version 2.0 Bezogen auf knn.f90, program main !PARALLEL(n_query) forall (i=1:n_query) knn(i) k_nearest(k,query_inst(i),ref_inst,n_ref)

Parallelisierung über Testpunkte Version 2.0

Ergebnisse Version 2.0 Zeiten und Speedup Berechnung mit allen (6) SPEs Sehr guter Speedup

Ergebnisse Version 2.0 Fortsetzung Abhängigkeit von der Anzahl benützer SPEs

Ergebnisse Version 2.0 Eigenschaften Weniger Zugriffe der SPEs auf den RAM Verwendung des schnellen EIB (Element Interconnect Bus) mit 307 Gbyte/sek Einmalige Erstellung der verwendeten Threads 6 Threads vs. 10000 * 60000 * 6 Threads Geringe Auslastung der PPU

Ergebnisse Zusammenfassung

Fazit - Erfahrungen Herkömmliche Programmierung nicht anwendbar (PPU ist sehr langsam) Programmierung muss sehr maschinennahe passieren Speicher von SPEs begrenzt: zusätzliche Überlegungen bzgl. LS der SPEs sind notwendig da es keinen swap gibt Theoretische Geschwindigkeit schwer erreichbar