Distributed Computing: Verteiltes Computing für effiziente digitale Infrastrukturen

Was ist verteiltes Rechnen?

Distributed Computing: Verteiltes Computing für effiziente digitale Infrastrukturen

Distributed Computing ist sowohl in der Freizeit als auch bei der Arbeit zu einem wesentlichen Bestandteil unseres digitalen Alltags geworden. Wenn Sie nur auf das Internet zugreifen und eine Google-Suche durchführen, verwenden Sie bereits verteiltes Computing. Verteilte Systemarchitekturen werden in vielen Geschäftsumgebungen verwendet und bieten unzähligen Diensten und Funktionen ausreichend Rechen- und Verarbeitungsleistung. Hier erklären wir Ihnen, wie sie funktionieren, und stellen Ihnen die verwendeten Systemarchitekturen und ihre Anwendungsbereiche vor. Wir erklären auch die Vorteile des verteilten Rechnens.

Index
  1. Distributed Computing: Was ist das?
  2. Wie funktioniert verteiltes Rechnen?
  3. Welche Arten von verteiltem Computing gibt es?
  4. Vorteile des verteilten Rechnens
  5. Wo wird verteiltes Rechnen eingesetzt?

Distributed Computing: Was ist das?

Der Begriff “Distributed Computing” (auf Englisch verteiltes Rechnen ) beschreibt eine digitale Infrastruktur, in der ein Netzwerk verbundener Computer eingehende Rechenaufgaben löst. Obwohl sie im Raum getrennt sind, arbeiten autonome Computer in einem auf Aufgabenteilung basierenden Prozess eng zusammen . Neben den leistungsstärksten Computern und Workstations im professionellen Bereich können auch Minicomputer und Desktop-Computer von Heimanwendern integriert werden.

Da verteilte Hardware physisch getrennt ist, kann sie keinen gemeinsam genutzten Speicher verwenden. Daher übertragen teilnehmende Computer Nachrichten und Daten (z. B. Berechnungsergebnisse) über ein Netzwerk. Die Kommunikation zwischen Maschinen hat lokal über ein Intranet (z. B. in einem Rechenzentrum) oder national und global über das Internet. Der Transport der Nachrichten erfolgt über Internetprotokolle wie TCP / IP und UDP.

Nach dem Prinzip der Transparenz muss sich das verteilte Rechnen der Außenwelt als funktionale Einheit präsentieren und seine Bedienung auf technischer Ebene so weit wie möglich vereinfachen. Benutzer, die beispielsweise eine Suche nach Produkten in einer Online-Shop-Datenbank initiieren, empfinden das Einkaufserlebnis als konsistenten Prozess und müssen sich nicht mit der verwendeten modularen Systemarchitektur auseinandersetzen.

Letztendlich ist verteiltes Rechnen eine Kombination aus Aufgabenverteilung und koordinierter Interaktion . Ziel ist es, das Aufgabenmanagement zu optimieren und praktische und flexible Lösungen zu finden .

Wie funktioniert verteiltes Rechnen?

Der Ausgangspunkt für eine Berechnung in verteilten Computing durchgeführt ist eine spezielle Problemlösungsstrategie . Ein einzelnes Problem wird unterteilt und jedes Teil wird von einer Recheneinheit verarbeitet. Die verteilten Anwendungen ( verteilte Anwendungen ) , die auf allen Computern im Computernetzwerk ausgeführt werden, sind für die betriebliche Implementierung verantwortlich.

Verteilte Anwendungen verwenden häufig eine Client-Server-Architektur. Der Client und der Server teilen die Arbeit auf und decken die Funktionen der Anwendung mit der dort installierten Software ab. Die Produktsuche erfolgt in folgenden Schritten: Der Client fungiert als Eingabeinstanz und Benutzeroberfläche , die die Benutzeranforderung empfängt und so vorbereitet, dass sie an einen Server übergeben werden kann. Der Remote-Server übernimmt den größten Teil der Suchfunktionen und durchsucht eine Datenbank. Auf dem Server wird das Suchergebnis formatiert und über das Netzwerk an den Client zurückgegeben. Das Endergebnis wird auf dem Bildschirm des Benutzers angezeigt.

Middleware- Dienste werden häufig in verteilten Prozessen verwendet. Als spezielle Softwareschicht definiert die Middleware das (logische) Interaktionsmuster zwischen den Teilnehmern und sorgt für eine optimale Vermittlung und Integration in das verteilte System. So werden Schnittstellen und Dienste angeboten , die die Lücken zwischen verschiedenen Anwendungen schließen und deren Kommunikation ermöglichen und überwachen (z. B. über Kommunikationscontroller). Für die betriebliche Verarbeitung bietet die Middleware beispielsweise den Remote Procedure Call (RPC), eine bewährte Methode zur prozessübergreifenden Kommunikation zwischen Geräten, die in Client-Server-Architekturen häufig zur Suche nach Produkten mit Abfragen verwendet wird. zu Datenbanken.

See also  So installieren Sie Ubuntu von USB

Diese Integrationsfunktion, die zum Prinzip der Transparenz beiträgt, kann auch als Übersetzungsaufgabe bezeichnet werden . Technisch unterschiedliche Anwendungssysteme und Plattformen, die normalerweise nicht miteinander kommunizieren können, finden sozusagen eine gemeinsame Sprache und arbeiten produktiv mit der Vermittlung von Middleware zusammen . Neben der Interaktion zwischen Geräten und Plattformen übernimmt die Middleware auch andere Aufgaben wie die Datenverwaltung . Es steuert auch den Zugriff verteilter Anwendungen auf die Funktionen und Prozesse der Betriebssysteme, die lokal auf den angeschlossenen Computern verfügbar sind.

Funktionsmodell des verteilten Rechnens.
Verteilte Anwendungen lösen die Probleme aller Geräte in einem Netzwerk verbundener Computer. Wenn sie beispielsweise mit einer Middleware zusammenarbeiten, wird die betriebliche Interaktion mit lokal verfügbarer Hardware und Software optimiert

Um Ihre Privatsphäre zu schützen, wird das Video nach dem Klicken hochgeladen.

Welche Arten von verteiltem Computing gibt es?

Distributed Computing ist ein facettenreiches Phänomen mit Infrastrukturen, die sich manchmal stark unterscheiden. Aus diesem Grund ist es nicht einfach, alle Varianten des verteilten Rechnens zu beschreiben. Es gibt jedoch drei Unterfelder, die beim Rechnen häufig beschrieben werden:

  • Cloud Computing oder Cloud Computing
  • Mesh Computing oder Grid Computing
  • Cluster Computing oder Cluster Computing

Beim Cloud Computing wird verteiltes Computing verwendet, um Kunden hoch skalierbare und kostengünstige Plattformen und Infrastrukturen bereitzustellen. Cloud-Anbieter bieten häufig Kapazitäten in Form von gehosteten Diensten an, auf die über das Internet zugegriffen werden kann. In der Praxis wurden mehrere Servicemodelle etabliert:

  • Software as a Service (SaaS) : Mit dem SaaS-Dienst nutzt der Kunde die Anwendungen und die zugehörige Infrastruktur eines Cloud-Anbieters (z. B. Server, Online-Speicher oder Rechenkapazität). Sie können auch mit verschiedenen Geräten über die Anrufschnittstelle Thin Client oder Thin Client-Schnittstelle (z. B. eine Webbrowser-basierte Anwendung) auf die Anwendungen zugreifen . Der Cloud-Anbieter ist für die Wartung und Verwaltung der ausgelagerten Infrastruktur verantwortlich.
  • Platform as a Service (PaaS): Mit dem PaaS-Service bieten Sie beispielsweise eine Cloud-basierte Umgebung für die Entwicklung von Webanwendungen. Der Benutzer hat die Kontrolle über die bereitgestellten Anwendungen und kann einige Parameter anpassen, während der Cloud-Anbieter sich um die technische Infrastruktur des verteilten Rechnens kümmert.
  • Infrastructure as a Service (IaaS) : Mit dem IaaS-Dienst stellt der Cloud-Anbieter eine technische Infrastruktur bereit, auf die Benutzer über private oder öffentliche Netzwerke zugreifen können. Zu den Komponenten dieser Infrastruktur gehören beispielsweise Server, Computer- und Netzwerkfunktionen, Kommunikationsgeräte wie Router, Switches oder Firewalls, Speicherplatz sowie Datenschutz- und Ablagesysteme. Der Kunde seinerseits kontrolliert die ihm angebotenen Betriebssysteme und Anwendungen.

Das sogenannte Mesh-Computing ist konzeptionell auf die Schaffung eines Supercomputers mit enormer Rechenleistung ausgerichtet. Computeraufgaben werden jedoch nicht von einer, sondern von vielen Instanzen verarbeitet. Server und PCs können unabhängig voneinander unterschiedliche Aufgaben ausführen. Bei der Ausführung von Aufgaben kann Mesh Computing sehr flexibel auf Ressourcen zugreifen . Im Allgemeinen stellen die Teilnehmer ihre Computerkenntnisse nachts einem allgemeinen Projekt zur Verfügung, wenn ihre technische Infrastruktur relativ wenig genutzt wird.

Ein Vorteil ist, dass Sie damit sehr leistungsfähige Systeme schnell verwenden und die Rechenleistung nach Bedarf skalieren können. Außerdem müssen keine teuren Supercomputer aufgerüstet oder durch neue ersetzt werden.

Da Mesh Computing die Erstellung eines virtuellen Supercomputers aus einer Gruppe verbundener Computer ermöglicht, ist es auf besonders komplexe Computerprobleme spezialisiert. Diese Methode wird häufig verwendet, um ehrgeizige wissenschaftliche Projekte zu entwickeln oder kryptografische Codes zu entschlüsseln .

Der Computercluster verfügt nicht über eine klar unterscheidbare Variantendefinition von Cloud Computing und Mesh. Es ist ein allgemeinerer Begriff, der sich auf alle Modalitäten bezieht, die einzelne Computer und ihre Rechenfähigkeiten in einem Cluster kombinieren (dh “Gruppe” oder “Menge”). Beispielsweise gibt es Servercluster, Cluster in Cloud- und Big-Data- Umgebungen , Datenbankcluster und Anwendungscluster. Darüber hinaus werden Computernetzwerke zunehmend im Hochleistungsrechnen eingesetzt , wodurch besonders komplexe Rechenprobleme gelöst werden.

See also  Was ist Storage Spaces Direct (S2D)?

Anhand der Systemarchitekturen und Interaktionsmodelle der verteilten Infrastruktur können auch verschiedene Arten von verteiltem Computing unterschieden werden. Aufgrund der Komplexität verteilter Computersystemarchitekturen ist der Begriff? verteilte Systeme ?

Zu den erweiterten Architekturmodellen des verteilten Rechnens gehören:

  • Client-Server-Modell
  • Modell Peer-to-Peer
  • Schichtmodell (Mehrebenenarchitekturen)
  • Serviceorientierte Architektur (SOA )

Das Client-Server-Modell ist ein einfaches Modell für Interaktion und Kommunikation im verteilten Computing. Ein Server empfängt eine Anforderung von einem Client, führt die entsprechenden Verarbeitungsverfahren durch und sendet eine Antwort (Nachricht, Daten, Berechnungsergebnisse) an den Client.

Die Peer-to-Peer- Architektur organisiert die Interaktion und Kommunikation von verteiltem Computing basierend auf dezentralen Aspekten. Alle Computer (auch Knoten genannt) haben dieselben Berechtigungen und führen dieselben Aufgaben und Funktionen im Netzwerk aus . Jeder Computer kann als Client und als Server fungieren. Ein Beispiel für eine Peer-to-Peer- Architektur ist die Kryptowährungs-Blockchain.

Bei der Konzeption einer Schichtarchitektur sind die einzelnen Aspekte eines Softwaresystems in mehrere Bereiche unterteilt Schichten (in Englisch, Schicht oder Schicht ), wodurch die Effizienz und Flexibilität des verteilten Rechnens erhöht wird. Diese Art von Systemarchitektur, die je nach Verwendungszweck als Zwei-, Drei- oder N- Tier- Architektur konzipiert werden kann, ist in Webanwendungen weit verbreitet.

Schichtarchitektur: dreischichtiges Modell.
In der Layer-Architektur basiert die Verarbeitung von Abfragen an die Datenbank auf der Verteilung von Aufgaben: Die Layer befinden sich auf verschiedenen Computern, die spezielle Aufgaben ausführen und als Client oder Server fungieren

Eine serviceorientierte Architektur (SOA) konzentriert sich auf Services und erfüllt die individuellen Bedürfnisse und Prozesse jedes Unternehmens. Auf diese Weise können verschiedene Services in einem maßgeschneiderten Geschäftsprozess kombiniert werden. Zum Beispiel der globale Prozess “Online-Bestellungen”, in dem die Dienstleistungen “Auftragserfassung”, “Bonitätsprüfung”? und “Rechnungslieferung” ist in einer SOA enthalten. Technische Komponenten (Server, Datenbanken usw.) fungieren als Werkzeuge, stehen jedoch nicht im Mittelpunkt. In diesem Konzept der verteilten Computing, ist die Priorität , um sicherzustellen , die Gruppe, die effektive Zusammenarbeit und Organisation von Dienstleistungen , um zu ein gewährleistet eine effizienten und schnelle Geschäftsprozesse.

In der serviceorientierten Architektur wird besonderes Augenmerk auf die Erstellung klar definierter Schnittstellen gelegt , die Komponenten auf betrieblicher Ebene verbinden und die Effizienz steigern. Letzteres profitiert auch von der Vielseitigkeit des Systems, da die Services je nach Kontext flexibel genutzt und in anderen Geschäftsprozessen wiederverwendet werden können . Serviceorientierte Architekturen, die auf verteiltem Computing basieren, basieren häufig auf Webdiensten. Sie werden beispielsweise auf verteilten Plattformen wie CORBA, MQSeries und J2EE implementiert.

Um Ihre Privatsphäre zu schützen, wird das Video nach dem Klicken hochgeladen.

Vorteile des verteilten Rechnens

Distributed Computing hat viele Vorteile . Unternehmen können eine leistungsstarke und erschwingliche Infrastruktur aufbauen, die kostengünstige Computer mit gängigen Mikroprozessoren anstelle teurer Supercomputer verwendet. Große Cluster können sogar einen Supercomputer übertreffen und komplexe und sehr anspruchsvolle Computeraufgaben bewältigen.

Da verteilte Computersystemarchitekturen aus vielen Elementen bestehen, die manchmal sogar redundant sind, ist es einfacher, den Ausfall einzelner Komponenten zu kompensieren (höhere Zuverlässigkeit). Darüber hinaus können aufgrund der hohen Verteilung der Aufgaben die Prozesse ausgelagert werden und die Last des Shared Computing kann a Lastverteilung.

Viele verteilte Computerlösungen zielen darauf ab, die Flexibilität zu erhöhen , was im Allgemeinen auch die Effizienz und Rentabilität erhöht. Um einige Probleme zu lösen, können spezielle Plattformen wie Datenbankserver integriert werden. Beispielsweise können SOA-Architekturen in jedem Geschäftsbereich verwendet werden, um benutzerdefinierte Lösungen zu erstellen, die bestimmte Geschäftsprozesse optimieren . Anbieter können IT-Infrastrukturen und -Funktionen auf der ganzen Welt anbieten und so Cloud-basiertes Arbeiten ermöglichen . So können Kundenanforderungen mit abgestuften, bedarfsgerechten Angeboten und Tarifen erfüllt werden.

See also  GlusterFS? Worum geht es?

Die Flexibilität des verteilten Rechnens bietet die Möglichkeit, vorübergehend nicht genutzte Funktionen für besonders ehrgeizige Projekte zu nutzen. Benutzer und Unternehmen haben auch Flexibilität beim Kauf von Hardware, da sie nicht an einen einzigen Hersteller gebunden sind .

Ein weiterer großer Vorteil ist die Skalierbarkeit . Unternehmen können ihre Fähigkeiten schnell und nahezu ohne Vorankündigung skalieren oder bei anhaltendem organischen Wachstum die Rechenleistung schrittweise an die Nachfrage anpassen. Wenn Sie aus Gründen der Skalierbarkeit Ihre eigene Software verwenden, können Sie Ihre Teams kontinuierlich verbessern in erschwinglichen Schritten .

Trotz der vielen Vorteile, Verteiltes Rechnen auch hat einige Nachteile , wie die höheren Kosten für die Implementierung und eine komplexe Systemarchitektur beibehalten wird . Darüber hinaus gibt es manchmal Zeit- und Synchronisierungsprobleme zwischen verteilten Instanzen, die behoben werden müssen. In Bezug auf die Zuverlässigkeit hat die dezentrale Strategie einige Vorteile gegenüber der Verwendung einer einzelnen Verarbeitungsinstanz. Gleichzeitig kann verteiltes Computing jedoch zu Sicherheitsproblemen führen , z. B. zur Datenübertragung über öffentliche Netzwerke und der daraus resultierenden Anfälligkeit für Sabotage und Hacking. Im Allgemeinen sind verteilte Infrastrukturen auch fehleranfälliger , da es mehr Schnittstellen und mögliche Ursachen für Probleme auf Hardware- und Softwareebene gibt. Darüber hinaus macht es die Komplexität der Infrastruktur schwierig, solche Probleme und Fehler zu diagnostizieren.

Wo wird verteiltes Rechnen eingesetzt?

Distributed Computing ist zu einer wesentlichen Kerntechnologie für die Digitalisierung in unserem Leben und unserer Arbeit geworden. Das Internet und die von ihm angebotenen Dienste wären ohne die Client-Server-Architekturen verteilter Systeme undenkbar. Distributed Computing ist Teil aller Google-Suchanfragen. Instanzen von Anbietern auf der ganzen Welt arbeiten eng zusammen, um korrekte Suchergebnisse zu generieren. Google Maps und Google Earth verlassen sich für ihre Dienste auch auf verteiltes Computing.

Verteilte Computerarchitekturen und -verfahren finden sich auch in Post- und Videokonferenzsystemen, Reservierungssystemen für Fluggesellschaften und Hotelketten, Bibliotheken und Navigationssystemen. Die Automatisierungsprozesse und Systemplanung, -design und -produktion am Arbeitsplatz sind gemeinsame Anwendungsbereiche für diese Technologie. Soziale Medien, mobile Systeme, Online-Banking und Online- Spiele (z. B. Multiplayer-Systeme) verwenden effiziente verteilte Systeme.

Distributed Computing wird auch in Online-Lernplattformen, künstlicher Intelligenz und E-Commerce eingesetzt . Kauf- und Bestellprozesse im Online-Shop basieren häufig auf verteilten Systemen. In der Meteorologie verlassen sich Sensoren und Überwachungssysteme auf die Rechenfähigkeiten verteilter Systeme, um Katastrophen vorherzusagen. Heutzutage basieren viele Anwendungen auf verteilten Datenbanken.

Die besonders anspruchsvollen Forschungsprojekte im Computerbereich, bei denen früher auf teure Supercomputer (z. B. Cray-Computer) zurückgegriffen werden musste, können jetzt mit verteilten Systemen durchgeführt werden, die billiger sind. Das freiwillige Computerprojekt Seti @ home setzte beispielsweise von 1999 bis 2020 Maßstäbe im Bereich des verteilten Rechnens. Unzählige vernetzte Heimcomputer privater Benutzer werteten Daten des Arecibo-Radioteleskops in Puerto Rico aus und unterstützten sie die University of Berkeley auf der Suche nach außerirdischem Leben.

Eine Besonderheit dieses Projekts war die Strategie zur Ressourceneinsparung : Die Evaluierungssoftware wurde nur in Zeiten verwendet, in denen die Computer der Benutzer inaktiv waren. Nach der Analyse des Signals wurden die Ergebnisse an die Zentrale in Berkeley gesendet. Mittlerweile gibt es vergleichbare Projekte an anderen Universitäten und Instituten weltweit.

Rat

Sie können die Grundlagen des verteilten Rechnens auf dem YouTube-Kanal Education 4u erlernen, der verschiedene Videos mit Anleitungen bietet.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *