Cloud Computing mit mathematischen Anwendungen



Ähnliche Dokumente
Cloud Computing mit mathematischen Anwendungen

Neue Ansätze der Softwarequalitätssicherung

Cloud Computing mit mathematischen Anwendungen

Übung: Verwendung von Java-Threads

Cloud-Computing - Überblick

B.SC. INFORMATIK TIM JUNGNICKEL

Prof. Dr.-Ing. Rainer Schmidt 1

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce)

Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes

MapReduce und Datenbanken Thema 15: Strom bzw. Onlineverarbeitung mit MapReduce

MATCHING VON PRODUKTDATEN IN DER CLOUD

June Automic Hadoop Agent. Data Automation - Hadoop Integration

EXASOL Anwendertreffen 2012

MapReduce in der Praxis

Big Data in der Forschung

Wie Google Webseiten bewertet. François Bry

EMC. Data Lake Foundation

Textdokument-Suche auf dem Rechner Implementierungsprojekt

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Linux-HA-Cluster Heartbeat mit DRBD

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

Konzepte der Informatik

Hochleistungsrechnen für Wissenschaft und Wirtschaft im internationalen Verbund

JEAF Cloud Plattform Der Workspace aus der Cloud

Cloud Computing Top oder Flop? 17. November 2010

Exploration und Klassifikation von BigData

Cloud Computing mit mathematischen Anwendungen

Prozessoptimierung in der Markt- und Medienforschung bei der Deutschen Welle (DW) mit Big Data Technologien. Berlin, Mai 2013

Cloud-Provider im Vergleich. Markus

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

Hadoop Demo HDFS, Pig & Hive in Action. Oracle DWH Konferenz 2014 Carsten Herbe

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Cloud-Architekturen auf verschiedenen Ebenen Seminar: Datenbankanwendungen im Cloud Computing

Zend PHP Cloud Application Platform

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Digitalisiert und dann?

Der SAP BW-BPS Web Interface Builder

Wiederholung: Beginn

Überblick und Vergleich von NoSQL. Datenbanksystemen

Fabian Grimme und Tino Krüger 1 INDREX. Evaluierung von H2O. Enterprise Data Management Beuth Hochschule für Technik

Einführung in Eclipse und Java

Abacus Formula Compiler (AFC)

Übergang vom Diplom zum Bachelor

Sicherheitsanalyse von Private Clouds

Einführung in Hadoop

Von Markus Schmied und Manuel Bundschuh. New Trends in IT Das Wikireferat

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: ADACOR Hosting GmbH

Big Data Informationen neu gelebt

Zeichnungskoordination in der Cloud

Ein mobiler Electronic Program Guide

Super rechnen ohne Superrechner Oder: Was hat das Grid mit Monte Carlo zu tun?

Generalisierung von großen Datenbeständen am Beispiel der Gebäudegeneralisierung mit CHANGE

Computeria Urdorf. Treff vom 25. März Clouds

Beratung. Results, no Excuses. Consulting. Lösungen. Grown from Experience. Ventum Consulting. SQL auf Hadoop Oliver Gehlert Ventum Consulting

Einführungskus MATLAB

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

e-books aus der EBL-Datenbank

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Übung - Konfigurieren einer Windows-XP-Firewall

Algorithmen & Datenstrukturen 1. Klausur

Übungen zur Softwaretechnik

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

Big Data Anwendungen Chancen und Risiken

SWE12 Übungen Software-Engineering

Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff

Web Mining Übung. Aufgaben. Umfang

BraLUG-Cluster Idee, Konzept und Umsetzung. Uwe Berger; 2005

Informatikgrundlagen (WS 2015/2016)

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

LIVE/11 - WEBSPECIAL. Andreas Förthner - Clemens Kalb

Windows HPC Server 2008 aus der Betreiberperspektive

Zweite Umfrage zur Bedarfsermittlung von Ressourcen zum wissenschaftlichen Rechnen an der TU Dortmund

Ein mobiler Electronic Program Guide für Android

Masterstudiengänge am Institut für Informatik

Select & Preprocessing Cluster. SPP Server #1. SPP Server #2. Cluster InterConnection. SPP Server #n

CREATIVE CLOUD FÜR TEAMS

Apache HBase. A BigTable Column Store on top of Hadoop

Programmierung für Mathematik (HS13)

The Cumulus Project: Build a Scientific Cloud for a Data Center

Was können Schüler anhand von Primzahltests über Mathematik lernen?

Scheduling Mechanisms for the Grid

Strategie / Zusammenfassung

Big Data Mythen und Fakten

Die Projek*ools. Files, Git, Tickets & Time

Einführung in die Informatik

Laborübung - Task Manager (Verwalten von Prozessen) in Windows XP

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Transkript:

Cloud Computing mit mathematischen Anwendungen Vorlesung SoSe 2009 Dr. Marcel Kunze Karlsruhe Institute of Technology (KIT) Steinbuch Centre for Computing (SCC) KIT the cooperation of Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) www.kit.edu 04.08

Agenda Cloud Computing 1. Einleitung Was ist Cloud Computing? 2. Grundlagen Virtualisierung, Web Services, Java, 3. Cloud Architekturen Infrastruktur, Plattform, Anwendung 4. Cloud Services Amazon Web Services, Google App Engine 5. Aufbau einer Cloud OpenCirrus Projekt, Eucalyptus 6. Cloud Algorithmen MapReduce, Optimierungsverfahren, Praktische Übungen und Anwendungen Vorlesung im Web: http://www.mathematik.uni-karlsruhe.de/mitglieder/lehre/cloud2009s/ 2

Klassifikation von Problembereichen Langlaufende Algorithmen oder Simulationen Algorithmus braucht auf einem Rechner mehrere Stunden Einige Simulationen dauern wochenlang Verarbeitung großer Datensätze Viele Programmläufe über große Parametersätze High Performance Computing (HPC) High Throughput Computing (HTC) Many Task Computing (MTC) 3

HPC vs. HTC vs. MTC MTC HPC HTC 4 4

Grid und Cloud Computing glite UNICORE Hadoop 5 5

Erweiterung des Cloud-Bereichs LSDFaaS High Performance Computing As a Service HPCaaS Large Scale Data Facility As a Service 6 6

Wie kann man mehr Rechenleistung erzielen? Parallelverarbeitung Parallelschaltung von Rechnern (Cluster) Parallelschaltung von Speicher (RAID) 7

BeoWulf Cluster Cluster aus identischen Commodity Computern Parallelprogrammierung: Message Passing Modell (z.b. MPI) Häufig: Gemeinsames Filesystem (z.b. NFS, Lustre) 8

Was ist MPI? Message Passing Interface Standardprotokoll, existiert in vielen Programmiersprachen Hochperformant Plattformunabhängig Sowohl Punkt zu Punkt als auch Kollektive Operationen bcast(), scatter(), gather(), reduce(), Sehr flexibel, aber auch komplex 9

MPI Architektur Hierarchisches Cluster Master kontrolliert Worker-Knoten 10

Beispiel: Berechnung der Kreiszahl π Durch numerische Integration auf Basis von Zufallszahlen Werfe Pfeile zufällig auf ein Dart-Board 11

Beispiel: Berechnung der Kreiszahl π Durch numerische Integration auf Basis von Zufallszahlen Kreis mit Radius R = 1 Zähle die Dart-Pfeile im Viertelkreis und die Pfeile insgesamt 12

Beispiel: Berechnung der Kreiszahl π Durch numerische Integration auf Basis von Zufallszahlen Integration durch sog. Monte-Carlo Methode Bilde das Verhältnis: Treffer im Viertelkreis / Treffer insgesamt = π/4 13

Serielle Berechnung Python Skript 14

Beispiel: Berechnung der Kreiszahl π Durch numerische Integration auf Basis von Zufallszahlen Geschwindigkeitssteigerung durch Parallelverarbeitung 15

Parallele Berechnung Python Skript 16

ElasticWulf http://code.google.com/p/elasticwulf/ BeoWulf MPI-Cluster auf Basis von EC2 Master und Worker Knoten verfügbar als public AMI Das AMI basiert auf Fedora 6 mit den folgenden Paketen: BLAS/LAPACK OpenMPI Xwindows Twisted Numpy/Scipy MPICH NFS ipython1 ipython MPICH2 Ganglia mpi4py matplotlib LAM C3 Tools boto Kommandozeilen-Skripte zum Starten/Konfigurieren des Beowulf MPI-Clusters Beispiel: Berechnung der Kreiszahl π (Siehe Übung A5) 17

Performance Netpipe Benchmark: AWS Cluster hat Gbit-Netzwerk Latenz im schwach gekoppelten Cluster ist relativ groß 18

MapReduce Algorithmus zur parallelen Datenverarbeitung Google verwendet MapReduce z.b. für PageRank Algorithmus Mögliche Anwendungsfelder Web Indexing Data Mining Log File Analysis Machine Learning Scientific Simulation Bioinformatics Research 19

MapReduce Programmiermodell Abgeleitet vom funktionalen Programmieren Benutzer implementiert zwei Funktionen: map (in_key, in_value) -> (out_key, intermediate_value) list reduce (out_key, intermediate_value list) -> out_value list 20

Map Datensätze aus der Quelle (Zeilen aus Files, Records aus Datenbanken etc.) werden als Key-Value Paare in die Map-Funktion gegeben Aus dem Input produziert die Map-Funktion einen oder mehrere Zwischenwerte zusammen mit einem Output-Key 21

Reduce Nach der Map-Phase werden alle Zwischenwerte eines bestimmten Output-Keys in eine Liste übertragen Die Reduce-Funktion kombiniert die Zwischenwerte für einen bestimmten Output-Key zu einem Ergebniswert 22

MapReduce Beispiel Word Count: Zähle Worte in Dokumenten map(string input_key, String input_value): // input_key: document name // input_value: document contents for each word w in input_value: EmitIntermediate(w, 1); reduce(string output_key, Iterator<int> intermediate_values): // output_key: a word // output_values: a list of counts int result = 0; for each v in intermediate_values: result += v; Emit(result); 23

MapReduce: Paralleles Programmiermodell Bottleneck: Alle Map-Prozesse müssen beendet sein, bevor Reduce beginnt 24

Hadoop OpenSource Apache Software Foundation Projekt (Yahoo!) Re-Implementierung der proprietären Software-Infrastruktur von Google http://wiki.apache.org/hadoop/projectdescription Paralleles Programmiermodell (MapReduce) Verteiltes Filesystem (HDFS) Parallele Datenbank http://en.wikipedia.org/wiki/hadoop http://code.google.com/edu/parallel/mapreduce-tutorial.html 25 25 Marcel Kunze KIT Delegation in Silicon Valley January 2009

Amazon Web Services http://aws.amazon.com/ + Elastic MapReduce (New!) 26

Amazon Elastic MapReduce 1. Lade Daten, Map- und Reduce-Executable nach S3 2. Elastic MapReduce started EC2 Hadoop-Cluster (Master + Slaves) 3. Hadoop generiert Jobflow, der Daten von S3 aufs Cluster verteilt und prozessiert 4. Ergebnisse werden nach dem Prozessieren nach S3 kopiert 5. Benachrichtigung am Job-Ende: Abholen der Ergebnisse von S3 27

Amazon Elastic MapReduce API RunJobFlow: Creates a job flow request, starts EC2 instances and begins processing. DescribeJobFlows: Provides status of your job flow request(s). AddJobFlowSteps: Adds additional step to an already running job flow. TerminateJobFlows: Terminates running job flow and shutdowns all instances. 28

Amazon Elastic MapReduce Preismodell Preis zusätzlich zu EC2 29

Amazon MapReduce Management Konsole (1) 30

Amazon MapReduce Management Konsole (2) 31

Amazon MapReduce Management Konsole (3) 32

Amazon MapReduce Management Konsole (4) 33

Amazon MapReduce Management Konsole (5) 34

Zusammenfassung Message Passing Interface (MPI) Paralelverarbeitung im Cluster Latenz der Kommunikation ist limitierender Faktor ElasticWulf implementiert MPI as a Service Hadoop und MapReduce OpenSource Re-Implementierung der Google Software-Infrastruktur Parallelverarbeitung von Daten Funktionale Programmierung auf großer Skala Amazon Elastic MapReduce implementiert Hadoop as a Service 35

Karlsruhe Institute of Technology Steinbuch Centre for Computing (SCC) Thank you for your attention. 36