Was ist der Unterschied zwischen Cloud Computing und Grid Computing? [geschlossen]

73

Was sind die wesentlichen Unterschiede zwischen Cloud Computing und Grid Computing ? Was sind die genauen Definitionen und Zielanwendungsbereiche für beide? Ich suche konzeptionelle Einsichten zusammen mit technischen Details.

Haben wir, wie Windows Azure ein Cloud-Betriebssystem ist, etwas für Grid Computing?

In der Vergangenheit habe ich am verteilten und parallelen Rechnen gearbeitet und die Bibliotheken wie PVM und MPI für die Verarbeitung der Verteilung verwendet. Aus Neugier wollte ich wissen, ob Grid Computing verteiltes Computing ist, das über das Internet erweitert wird?

Dies. __curious_geek
quelle
@dfa: Danke für die Korrektur.
das. __curious_geek
2
Ist Windows Azure ein Cloud-Betriebssystem? Es ist ein PAAS. Ich denke nicht, dass es die gesamte Betriebssystemfähigkeit hat.
Xiao 11

Antworten:

116

Beim Grid-Computing koordinieren mehrere Computer gemeinsam ein Problem. Wird häufig bei Problemen mit viel Zahlenkalkulation verwendet, die leicht parallelisierbar sind.

Beim Cloud Computing greift eine Anwendung nicht direkt auf die benötigten Ressourcen zu, sondern über einen Dienst auf diese . Anstatt mit einer bestimmten Festplatte für die Speicherung und einer bestimmten CPU für die Berechnung usw. zu sprechen, wird mit einem Dienst gesprochen, der diese Ressourcen bereitstellt. Der Dienst ordnet dann alle Ressourcenanforderungen seinen physischen Ressourcen zu, um die Anwendung bereitzustellen. Normalerweise hat der Dienst Zugriff auf eine große Menge physischer Ressourcen und kann diese bei Bedarf dynamisch zuweisen.

Auf diese Weise weist der Dienst, wenn eine Anwendung nur eine geringe Menge einer Ressource benötigt, z. B. Berechnung, nur eine geringe Menge zu, beispielsweise auf einer einzelnen physischen CPU (die möglicherweise mit einer anderen Anwendung verwendet wird, die den Dienst verwendet). Wenn die Anwendung eine große Menge einer Ressource benötigt, weist der Dienst diese große Menge zu, beispielsweise ein Raster von CPUs. Die Anwendung ist sich dessen relativ unbewusst, und die gesamte komplexe Handhabung und Koordination wird vom Dienst und nicht von der Anwendung ausgeführt. Auf diese Weise kann die Anwendung gut skaliert werden .

Beispielsweise kann eine Website, die "in der Cloud" geschrieben wurde, einen Server mit vielen anderen Websites gemeinsam nutzen, während der Datenverkehr gering ist. Sie kann jedoch auf einen eigenen dedizierten Server oder ein eigenes Serverraster verschoben werden, falls sie jemals über große Datenmengen verfügt des Verkehrs. Dies alles wird vom Cloud-Dienst erledigt, sodass die Anwendung nicht drastisch geändert werden muss, um damit fertig zu werden.

Eine Wolke würde normalerweise ein Gitter verwenden. Ein Gitter ist nicht unbedingt eine Wolke oder ein Teil einer Wolke.

Wikipedia-Artikel: Grid Computing , Cloud Computing .

Jameshales
quelle
23
+1 für Satz "Eine Wolke würde normalerweise ein Gitter verwenden. Ein Gitter ist nicht unbedingt eine Wolke oder ein Teil einer Wolke."
Krallen
1
Website-Beispiel erklärt gelöscht das Konzept
SMUsamaShah
@ Jameshales: sehr inspiriert ... vielen Dank
Saravanan
3

Sie sollten Wikipedia wirklich lesen, um ein gründliches Verständnis zu erhalten. Kurz gesagt, Cloud Computing bedeutet, dass Sie Ihre Software remote auf einer Remote-Plattform entwickeln / ausführen. Dies kann entweder über eine virtuelle Remote-Infrastruktur (Amazon EC2), eine Remote-Plattform (Google App Engine) oder eine Remote-Anwendung (force.com oder gmail.com) erfolgen.

Grid Computing bedeutet, dass viele physische Hardware verwendet wird, um Berechnungen (im weiteren Sinne) durchzuführen, als wäre es eine einzelne Hardware. Dies bedeutet, dass Sie Ihre Anwendung gleichzeitig auf mehreren verschiedenen Computern ausführen können.

Nicht sehr genau, aber genug, um Ihnen den Einstieg zu erleichtern.

Nir Levy
quelle
3

Ich würde sagen, dass der grundlegende Unterschied folgender ist:

Grids werden als Computer- / Speicherplattform verwendet.

Wir sprechen über Cloud Computing, wenn es Dienste anbietet. Ich würde fast sagen, dass Cloud Computing ein übergeordnetes Grid ist. Jetzt weiß ich, dass dies keine Definitionen sind, aber vielleicht wird es klarer.

In Bezug auf Anwendungsdomänen erfordern Grids, dass Benutzer (hauptsächlich Entwickler) tatsächlich Services aus Funktionen auf niedriger Ebene erstellen, die Grid bietet. Die Cloud bietet vollständige Funktionsblöcke, die Sie in Ihrer Anwendung verwenden können.

Beispiel (Sie möchten eine physikalische Simulation des Ballabwurfs aus einer bestimmten Höhe erstellen): Raster : Lernen Sie, wie Sie die Physik auf einem Computer berechnen, geeigneten Code erstellen, für bestimmte Hardware optimieren, über Paralellisierung nachdenken, Eingaben festlegen, Anwendungen an das Raster senden und warten Antworten

Wolke : Stellen Sie den Durchmesser einer Kugel, das Material von voreingestellten Typen, die Höhe, aus der die Kugel fällt, usw. ein und fragen Sie nach Ergebnissen

Ich würde sagen, wenn Sie ein Betriebssystem für Grid erstellen würden, würden Sie tatsächlich ein Cloud-Betriebssystem erstellen.

Stan
quelle
Ist das eine Analogie oder ein Beispiel? Es könnte eine genaue Analogie sein, aber nicht sehr nützlich. Als Beispiel halte ich es für falsch und irreführend.
Brent Bradburn
3

Ein Grid ist eine Hardware- und Software-Infrastruktur, die High-End-Computer, Netzwerke, Datenbanken und wissenschaftliche Instrumente aus mehreren Quellen zu einem virtuellen Supercomputer zusammenfasst, auf dem Benutzer in virtuellen Organisationen zusammenarbeiten können

Grid wird größtenteils kostenlos von akademischen Forschern usw. verwendet.

Clouds sind ein großer Pool leicht verwendbarer und zugänglicher virtualisierter Ressourcen (wie Hardware, Entwicklungsplattformen und / oder Dienste). Diese Ressourcen können dynamisch neu konfiguriert werden, um sie an eine variable Last (Skala) anzupassen, was auch eine optimale Ressourcennutzung ermöglicht. Dieser Ressourcenpool wird in der Regel von einem Pay-Peruse-Modell genutzt, bei dem der Infrastrukturanbieter Garantien durch maßgeschneiderte Service Level Agreements anbietet.

Cloud ist nicht frei. Es handelt sich um einen Dienst, der von verschiedenen Dienstleistern bereitgestellt wird und der je nach geleisteter Arbeit berechnet wird.

ZIA REHMAN
quelle
2

Es gibt bereits viele gute Antworten auf diese Frage, aber eine andere Möglichkeit, sie zu betrachten, ist, dass die Cloud (ala Amazon AWS) für interaktive Anwendungsfälle und das Raster (ala High Performance Computing) für Batch-Anwendungsfälle geeignet ist.

Die Cloud ist insofern interaktiv, als Sie Ressourcen bei Bedarf über Self-Service abrufen können. Der Code, den Sie auf VMs in der Cloud ausführen, z. B. auf dem Apache-Webserver, kann Clients interaktiv bedienen.

Grid ist insofern stapelweise, als Sie Jobs an eine Jobwarteschlange senden, nachdem Sie die Anmeldeinformationen von einer HPC-Berechtigung dazu erhalten haben. Der Code, den Sie im Grid ausführen, wartet in dieser Warteschlange, bis genügend Ressourcen vorhanden sind, um ihn auszuführen.

Es gibt gute Anwendungsfälle für beide Rechenstile.

Everett Toews
quelle
1

Cloud Computing ist serviceorientiert, während Grid Computing anwendungsorientiert ist. Grid Computing wird verwendet, um einen virtuellen Supercomputer mithilfe einer Zwischenware zu erstellen, um eine gemeinsame Aufgabe zu erreichen, die von mehreren Ressourcen gemeinsam genutzt werden kann. höchstwahrscheinlich wird diese Aufgabe eine Art Computer oder Datenspeicherung sein.

Cloud Computing bietet Dienste über das Internet über mehrere Server an, die Virtualisierung verwenden. Beim Cloud Computing können Sie entweder Dienste in drei Arten bereitstellen: Iaas, Paas, Saas. Dies gibt Ihnen eine Lösung, wenn Sie für kurze Zeit keine Ressourcen haben. Business-Service über das Internet.

Pawan
quelle
-1

Cloud Computing ist eine große Gruppe miteinander verbundener Computer. Die Daten sind für den Benutzer verborgen. Grid Computing besteht aus mehr als einem Computer, der zur Lösung des Problems miteinander verbunden ist. Grid Computing wird im Cloud Computing ausgeführt.

Revathi
quelle