Dieser Kurs vermittelt den Teilnehmern (Fachleuten und Studenten) die grundlegenden Konzepte der verteilten Programmierung im Kontext von Java 8. Die verteilte Programmierung erm枚glicht es Entwicklern, mehrere Knoten in einem Rechenzentrum zu nutzen, um den Durchsatz zu erh枚hen und/oder die Latenzzeit ausgew盲hlter Anwendungen zu verringern. Am Ende dieses Kurses werden Sie lernen, wie man g盲ngige Frameworks 蹿眉谤 die verteilte Programmierung von Java-Programmen nutzt, darunter Hadoop, Spark, Sockets, Remote Method Invocation (RMI), Multicast Sockets, Kafka, Message Passing Interface (MPI) sowie verschiedene Ans盲tze, um die Verteilung mit Multithreading zu kombinieren. Warum dieser Kurs? - Alle Server in Rechenzentren sind als Sammlungen von verteilten Servern organisiert, und es ist wichtig, dass Sie auch lernen, wie man mehrere Server nutzt, um die Bandbreite zu erh枚hen und die Latenz zu verringern.

Morgen endet die Aktion: Entdecken Sie neue F盲higkeiten mit 30% Rabatt auf Kurse von Branchenexperten. Jetzt sparen.


Verteilte Programmierung in Java
Dieser Kurs ist Teil von Spezialisierung 蹿眉谤 Parallele, gleichzeitige und verteilte Programmierung in Java

Dozent: Vivek Sarkar
26.040 bereits angemeldet
Bei enthalten
(502听叠别飞别谤迟耻苍驳别苍)
Kompetenzen, die Sie erwerben
- Kategorie: Apache Spark
- Kategorie: Java
- Kategorie: Verteiltes Rechnen
- Kategorie: Netzwerk-Protokolle
- Kategorie: Apache Hadoop
- Kategorie: Middleware
- Kategorie: Server
- Kategorie: Apache Kafka
- Kategorie: Scala Programmierung
Wichtige Details

Zu Ihrem LinkedIn-Profil hinzuf眉gen
4 Aufgaben
Erfahren Sie, wie Mitarbeiter f眉hrender Unternehmen gefragte Kompetenzen erwerben.

Erweitern Sie Ihre Fachkenntnisse
- Lernen Sie neue Konzepte von Branchenexperten
- Gewinnen Sie ein Grundverst盲ndnis bestimmter Themen oder Tools
- Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
- Erwerben Sie ein Berufszertifikat zur Vorlage

In diesem Kurs gibt es 7 Module
Willkommen bei Verteilte Programmierung in Java! Dieser Kurs ist als dreiteilige Serie konzipiert und deckt ein Thema oder einen Wissensbereich durch verschiedene Videovortr盲ge, Demonstrationen und Programmierprojekte ab.
Das ist alles enthalten
1 Video5 Lekt眉ren1 Programmieraufgabe1 Diskussionsthema
In diesem Modul lernen wir das MapReduce-Paradigma kennen und erfahren, wie es zum Schreiben verteilter Programme verwendet werden kann, die Daten in Form von Schl眉ssel-Wert-Paaren analysieren. Ein MapReduce-Programm wird 眉ber benutzerdefinierte Map- und Reduce-Funktionen definiert. Wir lernen, wie man solche Programme in den Projekten Apache Hadoop und Spark schreibt. DasMapReduce-Paradigma kann verwendet werden, um eine Vielzahl von parallelen Algorithmen auszudr眉cken. Ein Beispiel, das wir untersuchen werden, ist die Berechnung der TermFrequency - Inverse Document Frequency (TF-IDF)-Statistik, die beim Document Mining verwendet wird; dieser Algorithmus verwendet eine feste (nichtiterative) Anzahl von Map- und Reduce-Operationen. Ein weiteres MapReduce-Beispiel, das wir untersuchen werden, ist die Parallelisierung des PageRank-Algorithmus. Dieser Algorithmus ist ein Beispiel 蹿眉谤 iterative MapReduce-Berechnungen und steht auch im Mittelpunkt des mit diesem Modul verbundenen Miniprojekts.
Das ist alles enthalten
6 Videos6 Lekt眉ren1 Aufgabe1 Programmieraufgabe
In diesem Modul lernen wir die Client-Server-Programmierung kennen und erfahren, wie verteilte Java-Anwendungen 眉ber Sockets miteinander kommunizieren k枚nnen. Da die Kommunikation 眉ber Sockets auf der Ebene von Bytes erfolgt, lernen wir, wie man Objekte im Senderprozess in Bytes serialisiert und im Empf盲ngerprozess Bytes in Objekte deserialisiert. Sockets und Serialisierung liefern den notwendigen Hintergrund 蹿眉谤 das mit diesem Modul verbundene MiniprojektFile Server. Wir werden auch etwas 眉ber Remote Method Invocation (RMI) lernen, das den Begriff des Methodenaufrufs in einem sequenziellen Programm auf eine verteilte Programmierumgebung ausweitet. Au脽erdem lernen wir Multicast-Sockets kennen, die die Standard-Socket-Schnittstelle so verallgemeinern, dass ein Sender dieselbe Nachricht an eine bestimmte Anzahl von Empf盲ngern senden kann. Diese F盲higkeit kann 蹿眉谤 eine Reihe von Anwendungen sehr n眉tzlich sein, z.B. 蹿眉谤 Newsfeeds, Videokonferenzen und Multiplayer-Spiele. Schlie脽lich lernen wir verteilte Publish-Subscribe-Anwendungen kennen und erfahren, wie diese mit dem Apache Kafka Framework implementiert werden k枚nnen.
Das ist alles enthalten
6 Videos6 Lekt眉ren1 Aufgabe1 Programmieraufgabe
Begleiten Sie Professor Vivek Sarkar zu einem Gespr盲ch mit dem Gesch盲ftsf眉hrer von Two Sigma, Jim Ward, und dem Senior Vice President, Dr. Eric Allen, in deren B眉ro in Houston, Texas, 眉ber die Bedeutung der verteilten Programmierung.
Das ist alles enthalten
2 Videos1 Lekt眉re
In diesem Modul lernen Sie, wie Sie verteilte Anwendungen im SPMD-Modell (Single Program Multiple Data) schreiben k枚nnen, und zwar mit Hilfe der MPI-Bibliothek (Message Passing Interface). MPI-Prozesse k枚nnen Nachrichten mit Hilfe von Primitiven 蹿眉谤 die Punkt-zu-Punkt-Kommunikation senden und empfangen, die sich in Struktur und Semantik vom Message-Passing mit Sockets unterscheiden. Wir werden auch etwas 眉ber die Nachrichtenreihenfolge und die Deadlock-Eigenschaften von MPI-Programmen lernen. Die nicht blockierende Kommunikation ist eine interessante Erweiterung der Punkt-zu-Punkt-Kommunikation, da sie zur Vermeidung von Verz枚gerungen aufgrund von Blockierungen und zur Vermeidung von Fehlern im Zusammenhang mit Deadlocks eingesetzt werden kann. Schlie脽lich werden wir uns mit der kollektiven Kommunikation besch盲ftigen, die mehrere Prozesse auf eine Weise einbeziehen kann, die leistungsf盲higer ist als Multicast- und Publish-Subscribe-Operationen. Die in diesem Modul erworbenen MPI-Kenntnisse werden in dem mit diesem Modul verbundenen Miniprojekt zur Implementierung eines verteilten Matrixmultiplikationsprogramms in MPI in die Praxis umgesetzt.
Das ist alles enthalten
6 Videos6 Lekt眉ren1 Aufgabe1 Programmieraufgabe
In diesem Modul werden wir die Rolle von Prozessen und Threads als grundlegende Bausteine paralleler, gleichzeitiger und verteilter Java-Programme untersuchen. Mit diesem Hintergrundwissen lernen wir dann, wie man Multithreading-Server implementiert, um die Reaktionsf盲higkeit in verteilten Anwendungen, die mit Sockets geschrieben wurden, zu verbessern, und wenden dieses Wissen in dem Miniprojekt zur Implementierung eines parallelen Dateiservers an, der sowohl Multithreading als auch Sockets verwendet. Ein analoger Ansatz kann auch verwendet werden, um MPI und Multithreading zu kombinieren und so die Leistung von verteilten MPI-Anwendungen zu verbessern. Verteilte Akteure sind ein weiteres Beispiel 蹿眉谤 die Kombination von Verteilung und Multithreading. Eine bemerkenswerte Eigenschaft des Akteursmodells ist, dass dieselben High-Level-Konstrukte 蹿眉谤 die Kommunikation zwischen Akteuren, die im selben Prozess laufen, und zwischen Akteuren in verschiedenen Prozessen verwendet werden k枚nnen; der Unterschied zwischen den beiden F盲llen h盲ngt von der Anwendungskonfiguration und nicht vom Anwendungscode ab. Schlie脽lich lernen wir das reaktive Programmiermodell und seine Eignung 蹿眉谤 die Implementierung verteilter dienstorientierter Architekturen unter Verwendung asynchroner Ereignisse kennen.
Das ist alles enthalten
6 Videos7 Lekt眉ren1 Aufgabe1 Programmieraufgabe
Die n盲chsten beiden Videos zeigen, wie wichtig es ist, etwas 眉ber parallele Programmierung und gleichzeitige Programmierung in Java zu lernen. Professor Vivek Sarkar wird bei Two Sigma mit Fachleuten aus der Industrie dar眉ber sprechen, wie die Themen unserer beiden anderen Kurse in der Praxis eingesetzt werden.
Das ist alles enthalten
2 Videos1 Lekt眉re
Erwerben Sie ein Karrierezertifikat.
F眉gen Sie dieses Zeugnis Ihrem LinkedIn-Profil, Lebenslauf oder CV hinzu. Teilen Sie sie in Social Media und in Ihrer Leistungsbeurteilung.
Dozent

Mehr von Softwareentwicklung entdecken
- Status: Kostenloser Testzeitraum
Rice University
- Status: Kostenloser Testzeitraum
Rice University
- Status: Kostenloser Testzeitraum
Rice University
Warum entscheiden sich Menschen 蹿眉谤 糖心vlog官网观看 蹿眉谤 ihre Karriere?




Bewertungen von Lernenden
502 Bewertungen
- 5 stars
69,32听%
- 4 stars
22,31听%
- 3 stars
4,98听%
- 2 stars
0,99听%
- 1 star
2,39听%
Zeigt 3 von 502 an
Gepr眉ft am 5. Sep. 2017
It forced me to recall OpenMP and MPI. Thought it's already dead in favor to IMDG, spark, upc and so on.Practical tasks - miniprojects - was too easy to implement. Need more complex tasks.
Gepr眉ft am 28. Apr. 2020
A very good course, I learnt a lot from it, thank you 糖心vlog官网观看.
Gepr眉ft am 31. Okt. 2020
The course was awesome. I learnt a lot about distribution programming and it will better my performance personally and in the job industry. Thank you.

Neue Karrierem枚glichkeiten mit 糖心vlog官网观看 Plus
Unbegrenzter Zugang zu 10,000+ Weltklasse-Kursen, praktischen Projekten und berufsqualifizierenden Zertifikatsprogrammen - alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universit盲ten 鈥 100聽% online
Schlie脽en Sie sich mehr als 3.400聽Unternehmen in aller Welt an, die sich 蹿眉谤 糖心vlog官网观看 for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
H盲ufig gestellte Fragen
Nein. Die Vorlesungsvideos, Demonstrationen und Quizfragen reichen aus, um diesen Kurs zu absolvieren. Kursteilnehmer, die sich 蹿眉谤 den Kurs anmelden und an einem Zertifikat interessiert sind, haben au脽erdem Zugang zu einem zus盲tzlichen Kursbuch mit weiteren technischen Details.
Multicore-Programmierung in Java: Parallelit盲t und Multicore-Programmierung in Java: Gleichzeitigkeit behandeln erg盲nzende Aspekte der Multicore-Programmierung und k枚nnen in beliebiger Reihenfolge belegt werden. Der Kurs Parallelit盲t behandelt die Grundlagen der Nutzung von Parallelit盲t, um Anwendungen durch die gleichzeitige Nutzung mehrerer Prozessoren schneller laufen zu lassen. Der Kurs Gleichzeitigkeit behandelt die Grundlagen, wie parallele Tasks und Threads die gleichzeitige Nutzung gemeinsamer Ressourcen wie gemeinsam genutzte Objekte, Netzwerkressourcen und Dateisysteme korrekt vermitteln.
Um Zugang zu den Kursmaterialien und Aufgaben zu erhalten und um ein Zertifikat zu erwerben, m眉ssen Sie die Zertifikatserfahrung erwerben, wenn Sie sich 蹿眉谤 einen Kurs anmelden. Sie k枚nnen stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterst眉tzung beantragen. Der Kurs kann stattdessen die Option "Vollst盲ndiger Kurs, kein Zertifikat" anbieten. Mit dieser Option k枚nnen Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben k枚nnen.
Weitere Fragen
Finanzielle Unterst眉tzung verf眉gbar,