Big Data Anwendungen



Ähnliche Dokumente
Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

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

Vorhersagemodell für die Verfügbarkeit von IT-Services

Übungen zur Softwaretechnik

Datenstrukturen & Algorithmen

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

MATCHING VON PRODUKTDATEN IN DER CLOUD

Lizenzierung von Windows Server 2012

An integrated total solution for automatic job scheduling without user interaction

OPERATIONEN AUF EINER DATENBANK

Data Mining-Modelle und -Algorithmen

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Sie erhalten einen kurzen Überblick über die verschiedenen Domänenkonzepte.

Parallels Mac Management 3.5

Windows Server 2008 (R2): Anwendungsplattform

Zeichnungskoordination in der Cloud

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

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

Tipps und Tricks zu Netop Vision und Vision Pro

Clustering (hierarchische Algorithmen)

Kapitel 3: Einführung Projektmanagement

Externe Datensicherung in der Cloud - Chance oder Risiko?

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Überblick. Multi-Cloud Computing Motivation Redundant Array of Cloud Storage (RACS) Zusammenfassung. c td MWCC (WS14/15) Multi-Cloud Computing 13 1

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Test zur Bereitschaft für die Cloud

Herausforderungen beim Arbeiten in der Wolke

IT im Wandel Kommunale Anforderungen - zentrales Clientmanagement versus Standardtechnologie!?

Updatehinweise für die Version forma 5.5.5

Kapitel 14 Verteilte DBMS

EMC. Data Lake Foundation

Big, Bigger, CRM: Warum Sie auch im Kundenmanagement eine Big-Data-Strategie brauchen

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Möglichkeiten für bestehende Systeme

SDD System Design Document

Prof. Dr.-Ing. Rainer Schmidt 1

Neue Ansätze der Softwarequalitätssicherung

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Tutorial Windows XP SP2 verteilen

Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

Lizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

EXASOL Anwendertreffen 2012

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Additional Cycle Index (ACIX) Thomas Theuerzeit

Architekturmuster. Übung MSE,

SJ OFFICE - Update 3.0

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Ein einfaches Modell zur Fehlerfortpflanzung

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

SOZIALVORSCHRIFTEN IM STRAßENVERKEHR Verordnung (EG) Nr. 561/2006, Richtlinie 2006/22/EG, Verordnung (EU) Nr. 165/2014

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2.

Vorlesung : Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Projektarbeit/SHK-Tätigkeit: Entwicklung graphischer Visualisierungskomponenten

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Man liest sich: POP3/IMAP

Preis- und Leistungsverzeichnis der Host Europe GmbH. Dedicated Storage - ISCSI V 1.1. Stand:

Professionelle Seminare im Bereich MS-Office

Step by Step Webserver unter Windows Server von Christian Bartl

Einführung in Hadoop

PView7 & Citrix XenApp

Die Interferenz von flexiblen Arbeitszeiten mit der Nutzbarkeit arbeitsfreier Zeit Ein Prädiktor für soziale Beeinträchtigungen

Objektorientierte Programmierung OOP

1 topologisches Sortieren

Exploration und Klassifikation von BigData

Persönliche Einladung. Zur IT Managers Lounge am 4. November 2009 in Köln, Hotel im Wasserturm.

Übung: Verwendung von Java-Threads

BUILDNOTES TOPAL FINANZBUCHHALTUNG

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Java Enterprise Architekturen Willkommen in der Realität

Abschnitt 16: Objektorientiertes Design

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Domänenmodell: Fadenkommunikation und -synchronisation

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

Übungsklausur vom 7. Dez. 2007

Umstieg auf Microsoft Exchange in der Fakultät 02

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Preis- und Leistungsverzeichnis der Host Europe GmbH. Loadbalancer V 1.1. Stand:

System-Update Addendum

Zentrale Installation

Lizenzierung von System Center 2012

Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07

Transkript:

Big Data Anwendungen Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 10:00 a.m. Room HS 021, B4 1

Wrap-Up Effiziente Speicherung/Verarbeitung von Big Data erfordert Alternativen zu Standardtechnologien Column-Stores als alternative Software-Lösung für Datenhaltung Cloud-Computing als alternative Hardware-Lösung für Datenhaltung Hauptproblem ist nicht das Speichern sondern der Zugriff auf Daten Anwendungs-Design für Big Data hat ebenfalls spezielle Anforderungen! verteilte Speicherung/Verarbeitung " parallele Algorithmen Slide 2

Amdahlsches Gesetz Modell über Beschleunigung von Programmen durch parallele Ausführung Gene M. Amdahl. 1967. Validity of the single processor approach to achieving large scale computing capabilities. In Proceedings of the April 18-20, 1967, spring joint computer conference (AFIPS '67 (Spring)). ACM, New York, NY, USA, 483-485. Speedup(n) = Aufteilung des Programms in sequentielle und parallel ausführbare Teile p sei Anteil der parallel ausführbaren Teile an Gesamtlaufzeit s ist Anteil der sequentiellen Teile an Gesamtlaufzeit Gesamtlaufzeit 10h, davon 1h sequentiell (s) und 9h parallel ausführbar (p) Bei einem Prozessor 1h + 9h = 10h Bei zwei Prozessoren 1h + 9h / 2 = 5,5h s + p s + p n + o(n) Bei unendlich vielen Prozessoren 1h + 9h / = 1h Mit Anzahl der Prozessoren n steigt aber auch der Overhead o(n), um die Parallelisierung zu realisieren (z.b. für Kommunikation) Slide 3

Amdahlsches Gesetz Speedup o(n) = 1min * n p/s = 4/1 p/s = 3/2 Speedup o(n)= 1min * n 2 p/s = 2/3 p/s = 1/4 Prozessoren Prozessoren Slide 4

Gustafsons Gesetz Amdahl: Die Verarbeitung eines gegebenen Problem (fixe Gesamtlaufzeit) kann nur bis zu einem bestimmten Grad durch Parallelisierung optimiert werden Gustafson: Mit einem höheren Grad an Parallelisierung können größere Probleme gelöst werden (variable Gesamtlaufzeit) John L. Gustafson. 1988. Reevaluating Amdahl's law. Commun. ACM 31, 5 (May 1988), 532-533. Speedup Speedup(n) = s s + p + n p/s = 4/1 p/s = 3/1 p s + p p/s = 2/1 p/s = 1/1 Prozessoren Slide 5

Methodisches Design paralleler Algorithmen 1. Partitionierung Partitionierung der Daten Problem Dekomposition: Problem wird in Teilprobleme (Tasks) zerlegt, die durch mehrere Prozessoren gelöst werden können 2. Kommunikation Festlegung der Struktur des Kommunikationskanals Bestimmung eines Protokolls zur Koordinierung der Tasks 3. Agglomeration Evaluierung der Partitionierungs- und Kommunikationsstruktur hinsichtlich Performanz und Implementierungsaufwand Ggf. Rekombination der Tasks 4. Mapping Zuweisung der Tasks an Prozessoren Optimale Ressourcen-Ausnutzung (Prozessorauslastung vs. Kommunikationsaufwand) Statisch (Zuweisung im Voraus) oder dynamisch (Load-Balancing zur Laufzeit) http://www.mcs.anl.gov/~itf/dbpp/text/ book.html Slide 6

Partitionierung Eigenschaften der Tasks Ist die Lösung eines Tasks abhängig von der Lösung eines anderen? Festlegung der Tasks im Voraus oder zur Laufzeit? Aufwand der Tasks gleichverteilt, ungleichmäßig oder unbekannt? Interaktion zw. Tasks vorbestimmt (statisch) oder dynamisch? Interaktion zw. Tasks zeigt Regelmäßigkeiten oder ist unregelmäßig? Skalierbare Designs Vermeidung redundanter Berechnungen und Bereitstellung von Daten Anzahl der Tasks steigt proportional zur Größe des Gesamtproblems Tasks haben ähnlich großen Aufwand Flexibles Design (hinsichtl. Kommunikation, Agglomeration und Mapping) Fein-granulare Zerlegung (Vielfaches an Tasks im Vergleich zu Prozessoren) Alternative Zerlegungen identifizieren (Daten- und prozessgetriebene Dekomposition) Slide 7

Partitionierung Daten- vs. prozessgetriebene Dekomposition Daten Dekomposition (auch: Geometrische Dekomposition, Domänen Dekomposition): Zerlegung in Tasks richtet sich nach Partitionierung der Daten, Tasks für benachbarte Datensegmente sind ggf. von einander abhängig Funktionale Dekomposition: Zerlegung in Tasks entsprechend der Operationen, die auf den Daten ausgeführt werden Abhängigkeiten zw. Tasks Iterative Dekomposition: Zerlegung in unabhängige Tasks, die nach wiederkehrendem Schema gelöst werden können Rekursive Dekomposition: Hierarchische Zerlegung in (Sub-)Tasks, die nach Bottom- Up-Prinzip gelöst werden können Explorative Dekomposition: Tasks sind voneinander abhängig, Überprüfung aller möglichen Lösungspfade Spekulative Dekomposition: Tasks sind voneinander abhängig, Auswahl des vielversprechendsten Lösungspfades erfolgt schrittweise während der Lösung der einzelnen Tasks Slide 8

Kommunikation Kommunikationskanal: Topologie (Bus, Ring, Stern, etc.) Bandbreite Eigenschaften der Kommunikation Lokal/Global: Komm. mit wenigen benachbarten Tasks oder Komm. mit vielen Tasks http://www.mcs.anl.gov/~itf/dbpp/text/book.html Strukturiert/Unstrukturiert: Regelmäßigkeit der Kommunikationsstruktur (z.b. Baum vs. beliebiger Graph) " Unstrukturierte Komm. erschwert Agglomeration und Mapping Statisch/Dynamisch: Feste vs. wechselnde Kommunikationspartner Synchron/Asynchron: Synchron: Empfänger-Tasks warten auf Sender-Tasks (Blockierung) Asynchron: Empfänger-Tasks fordern Informationen von Sendern an Slide 9

Kommunikation Skalierbares Design Ein Task kommuniziert mit möglichst wenig anderen Tasks Lokale Kommunikation anstelle globaler Kommunikation Tasks erfordern ähnlich viele Kommunikations-Operationen Tasks und Kommunikation zw. Tasks sollten möglichst nebenläufig ablaufen Situation Big Data Tasks greifen periodisch auf geteilte Datenstruktur zu " asynchrone Kommunikation Geteilte Datenstruktur ist zu groß bzw. zu viele Zugriffe für einen Task " Verteilung auf mehrere Tasks Strategien Datenstruktur wird auf die verarbeitenden Tasks verteilt; Kommunikation mit anderen Tasks, um Eingabedaten zu beziehen bzw. Teilergebnisse zu senden Zugriff auf Datenstruktur wird in zusätzliche Tasks gekapselt (Encapuslation) Zugriff auf Datenstruktur über DBMS Slide 10

Agglomeration Zusammenfassen von Tasks für effiziente parallele Berechnung Reduktion der Kosten für Task-Erstellung Reduktion der Kommunikationskosten (Größe/ Frequenz der Nachrichten) Ggf. Einführung von Redundanzen für effizientere Kommunikation Erhaltung der Flexibilität " Granularität als Parameter Entwicklungskosten beachten " Agglomeration vs. Code-Reuse (z.b. Modularität, Separation-of-Concerns) http://www.mcs.anl.gov/~itf/dbpp/text/book.html Slide 11

Agglomeration (z.b. spaltenorientierte Speicherung) http://www.mcs.anl.gov/~itf/dbpp/text/book.html Slide 12

Mapping Generalisiertes Zuweisungsproblem: NP-vollständiges Problem (alle bekannten deterministischen Algorithmen erfordern exponentiellen Rechenaufwand) " Kann zum Performance-Flaschenhals werden Gegeben ist eine Menge Prozessoren und einer Menge Tasks. Prozessoren können Tasks zugewiesen werden. Ein Prozessor hat ein Budget, ein Task hat Kosten, die Zuweisung von einem Prozessor zu einem Task hat einen Profit. Finde eine Zuweisungs-Funktion, bei der das Budget jedes Prozessors nicht durch die Kosten der zugewiesenen Tasks überschritten wird und der Gesamtprofit maximiert wird (Ggf. mehrfache Ausführung wg. dynamischen Veränderungen) (Globale/Lokale) Load-Balancing-Algorithmen für komplexe Probleme (unstrukturierte Komm., heterogene Tasks) Task-Scheduling-Algorithmen für simplere Probleme (viele Tasks, wenig lokale Abhängigkeit) Zuweisung von Manager- und Worker-Rollen (zentralisiert, hierarchisch, dezentral) Slide 13

Paradigmen: Data-Pipelining (Data Flow Parallelism) Funktionale Dekomposition (Tasks entsprechen Operationen auf Eingabedaten) Festlegung von Prozessketten Abhängig von angemessener Verteilung über Prozessschritte Bsp.: Render-Pipeline L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster Computing: Programming and Applications, Prentice-Hall (1999). Slide 14

Paradigmen: Single-Program-Multiple-Data (SPMD) Daten Dekomposition (Tasks entsprechen Partitionierung der Eingabedaten) Erfordert homogenes System, Kommunikation sollte klar strukturiert und vorhersehbar sein Gefährdung bei Ausfall einzelner Prozesse Bsp.: Faltung bei Bildverarbeitung L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster Computing: Programming and Applications, Prentice-Hall (1999). Slide 15

Paradigmen: Task-Farming (Master/Slave) Iterative Dekomposition (unabhängige Tasks) Ein Master-Knoten: Aufteilung des Problems und Verteilung der Tasks an Slave-Knoten Sammeln der Teilergebnisse und Zusammenführung zu Gesamtlösung Slave-Knoten generieren Teilergebnisse für Tasks Gefährdung bei Ausfall des Master-Knoten Bsp.: Suche L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster Computing: Programming and Applications, Prentice-Hall (1999). Slide 16

Paradigmen: Divide-and-Conquer Rekursive Dekomposition (Aufteilung in Sub-Probleme) Abbildung der Baum-Struktur auf Prozessoren Bsp.: Schnelle Fourier- Transformation (FFT) L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster Computing: Programming and Applications, Prentice-Hall (1999). http://www.cmlab.csie.ntu.edu.tw/cml/ dsp/training/coding/transform/fft.html Slide 17

Map Reduce Framework MapReduce Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In OSDI, pages 137 150, 2004. SPMD + gegenwärtig als Task-Farming implementiert (z.b. Hadoop) Map und Reduce als Funktionen zweiter Ordnung mit Parameter: Key-Value-Set Berechnungsfunktion (Funktion erster Ordnung) Generalisierung: Parallelization Contracts (PACT) Dominic Battré, Stephan Ewen, Fabian Hueske, Odej Kao, Volker Markl, and Daniel Warneke. 2010. Nephele/PACTs: a programming model and execution framework for web-scale analytical processing. In Proceedings of the 1st ACM symposium on Cloud computing (SoCC '10). ACM, New York, NY, USA, 119-130. Map-Funktion (links), Reduce- Funktion (rechts) Alexander Alexandrov, Stephan Ewen, Max Heimel, Fabian Hueske, Odej Kao, Volker Markl, Erik Nijkamp, Daniel Warneke: MapReduce and PACT - Comparing Data Parallel Programming Models. BTW 2011: 25-44 Slide 18

Map Reduce Framework MapReduce Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In OSDI, pages 137 150, 2004. Slide 19

Weitere Frameworks SPMD OpenMP http://openmp.org/wp/about-openmp/ Data-Pipelining Definieren von Data-Flow-Graphen (gerichtete azyklische Graphen) Framework bildet Komponenten des Graphen auf Prozessoren ab Dryad (Microsoft) Michael Isard, Mihai Budiu, Yuan Yu, Andrew Birrell, and Dennis Fetterly. 2007. Dryad: distributed data-parallel programs from sequential building blocks. SIGOPS Oper. Syst. Rev. 41, 3 (March 2007), 59-72. FlumeJava Craig Chambers, Ashish Raniwala, Frances Perry, Stephen Adams, Robert R. Henry, Robert Bradshaw, and Nathan Weizenbaum. 2010. FlumeJava: easy, efficient data-parallel pipelines. SIGPLAN Not. 45, 6 (June 2010), 363-375. Slide 20

Literatur Artikel: L. M. e Silva and R. Buyya, Parallel Programming Models and Paradigms, vol. 2, High Performance Cluster Computing: Programming and Applications, Prentice-Hall (1999). Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In OSDI, pages 137 150, 2004. Alexander Alexandrov, Stephan Ewen, Max Heimel, Fabian Hueske, Odej Kao, Volker Markl, Erik Nijkamp, Daniel Warneke: MapReduce and PACT - Comparing Data Parallel Programming Models. BTW 2011: 25-44 Web: Ian Foster: Designing and Building Parallel Programs http://www.mcs.anl.gov/~itf/dbpp/text/book.html White Paper von Oracle Developing Parallel Programs A Discussion of Popular Models http://www.oracle.com/technetwork/server-storage/solarisstudio/documentation/oss-parallelprograms-170709.pdf Slide 21

Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Saarland University, Germany Slide 22