Kann ich die CPU über das Netzwerk freigeben?

6046
Cestarian

Ich habe zwei Desktops (einer davon verwende ich als Server), meine Hauptmaschine hat eine schwächere I5-CPU, mein Server hat eine stärkere I7-CPU. Auf meinem Hauptcomputer erlebe ich Stottern, weil die CPU bei regelmäßiger Nutzung oft unter Volllast läuft (seltsamerweise benutze ich auch mehr als 10 GB RAM, kein Scherz ... Das schwerste Programm, das ich verwende, ist Google Chrome).

Ich habe mich gefragt, ob es eine Möglichkeit gibt, eine CPU von einem Computer über ein Netzwerk auf einen anderen Computer als emulierten Prozessor zu verteilen, der von der Client-Maschine auf ähnliche Weise verwendet werden könnte, wie virtuelle Maschinen sie verwenden oder die Hosts "ausleihen" Zentralprozessor.

Auf diese Weise könnte ich die Arbeit auf die CPU des Servers laden, wenn die Haupt-CPU voll ausgelastet ist, um Ärgernisse wie Stottern zu vermeiden, und möglicherweise beide für intensivere Aufgaben kombinieren (Entschlüsselung, Kompilierung, Archivierung oder andere Multithread-Dateien)

Gibt es diese Art von Software oder hat zumindest jemand versucht, sie zu erstellen? Wenn nicht, ist das machbar?

(Diese Art von Programm wäre idealerweise auch in der Lage, Daten für eine schnellere Verarbeitung in den Arbeitsspeicher des Servers zu verlagern, da die heute üblichen Gigabit-Verbindungen nahezu die gleiche Geschwindigkeit wie eine Standardfestplatte haben, was auch nicht weit herüberkommt.)

Um es noch einmal zu wiederholen: Was ich vor allem suche, ist die Möglichkeit, Arbeit von der Haupt-CPU eines Systems abzuladen, wenn sie zu stark ausgelastet ist, und sie über das Netzwerk an die CPU eines anderen Computers weiterzuleiten.

4
Ja, diese Art von Dingen ist generisch möglich (siehe Beowulf-Cluster), erfordert jedoch spezielle Betriebssysteme und Anwendungen, um sie tatsächlich nutzen zu können. Daher sind sie außer für Supercomputeranwendungen weitgehend nutzlos. Ohne ein Team aus sachkundigen Leuten und finanziellen Ressourcen können Sie so etwas nicht zusammenstellen. https://en.wikipedia.org/wiki/Beowulf_cluster Frank Thomas vor 8 Jahren 3
@FrankThomas ist cool, zu schade, es erfordert jedoch ein Betriebssystem, das für diesen speziellen Zweck entwickelt wurde, da ich meinen Server weiterhin für die Dinge verwenden möchte, für die er bereits verwendet wird. Aber zumindest das Konzept und die Anwendung werden verwendet, das ist also ein Anfang. Es scheint auch, dass es nicht plattformübergreifend verwendet werden kann. z. B. kann kein Linux- oder Mosix-basierter Beowulf-Cluster verwendet werden und die CPU für Windows oder OS X verwendet werden. Cestarian vor 8 Jahren 0
Sie sollten prüfen, warum in Chrome so viele Ressourcen verwendet werden. Unter https://productforums.google.com/forum/#!topic/chrome/xRflOyvjcHg gibt es einen relevanten Thread davidgo vor 8 Jahren 1
@davidgo oh, ich bin mir dessen bewusst (viele, viele Registerkarten ... obwohl es so aussieht, als benutzte man momentan 2 GB; ähnlich sah es ein Chrom-Tab mit 25% meiner CPU, einen ganzen Kern, und es war eine Website, die nicht 'war') t sogar geladen ...) das ist allerdings ein bisschen abwegig. Aber ehrlich gesagt schaue ich mich um, um von Chrome wegzugehen. Ich weiß nur noch nicht, welche Alternative ich noch haben möchte. Ich möchte meine Nutzung von Google-Diensten so weit wie möglich einschränken. Cestarian vor 8 Jahren 0
Sie können das System in einer VM unterteilen - wenn Sie jedoch Video verwenden, ist dies abhängig von der VM-Technologie möglicherweise nicht reibungslos. davidgo vor 8 Jahren 0

2 Antworten auf die Frage

4
Wes Sayeed

Auf einer fundamentalen Ebene lautet die Antwort ja, aber Sie können dies nicht so tun, wie Sie denken.

Supercomputer nutzen diese Taktik, um unglaubliche Rechenleistung zu erbringen, aber sie sind nichts weiter als ein Cluster von herkömmlichen Computersystemen (Knoten genannt), die zusammenarbeiten, um eine bestimmte Aufgabe zu bearbeiten. Sie verfügen über eine Steuerungssoftware, die einzelne Arbeitseinheiten an verschiedene Knoten verteilt, um sie unabhängig voneinander zu berechnen. Die CPUs in solchen Knoten kommunizieren per se nicht miteinander. Eine Anwendung, die auf einem der Knoten ausgeführt wird, koordiniert die Arbeit, ähnlich wie ein Projektmanager die Mitglieder eines Teams koordiniert, um ein Projekt abzuschließen.

Ein solches Supercomputer-Setup erfordert:

  • Ein für diesen Zweck entwickeltes Betriebssystem, das auf jedem Knoten im Cluster installiert ist.
  • Steuerungssoftware, die die Arbeit an jeden Knoten verteilen und die von ihnen erhaltenen Ergebnisdaten koordinieren kann.
  • Eine Anwendung, die ein Problem in einzelne Arbeitseinheiten aufteilen kann, die in der Sprache der Steuerungssoftware geschrieben sind.

In Ihrer Situation können Sie also nicht die CPU und den Arbeitsspeicher Ihrer beiden Computer kombinieren, um die Leistung von Google Chrome zu verbessern.

Es ist also möglich, es wird getan, aber keine der aktuellen Implementierungen zielt auf die Desktop-Beschleunigung ab und keine von ihnen unterstützt die Verwendung für die allgemeine Verarbeitung, auch wenn dies möglich wäre. Ich denke, das ist die einzige Antwort, die heute verfügbar ist, hoffentlich morgen aber ... Cestarian vor 8 Jahren 0
1
Atonnamous Eyer

Ich weiß, dass es CPU-Verschachtelung heißt. Ich denke, Sie benötigen ein kompatibles BIOS und Smartcards in allen Computern, mit denen Sie den RAM einer CPU gemeinsam nutzen möchten. Interleaving ist jedoch darauf ausgelegt, über zwei Dual-Port-Glasfaserkarten in jedem Computer ausgeführt zu werden, nicht in einem LAN-Netzwerk. Ich versuche, die CPU und einen RAM auf einem HP Proliant g6 DL380 mit 144 GB RAM zu teilen. 5,8 GHz xeon 16 Prozessoren - 8 Kerne - in 2 Knoten-CPUs, und ich versuche, den gesamten Speicher mit zwei HP Elite 8200SFF-Desktops und einem zwei HP Thin Client T5740-Modell HSTNC-006-TC zu teilen. http://h17007.www1.hpe.com/docs/iss/proliant_uefi/UEFI_Gen9_060216/s_enable_node_interleaving.html

http://www.ad-net.com.tw/product-category/video-transmission-equipment/usb-over-fiber-extenders/?gclid=EAIaIQobChMIp86guaGO2AIVF7jACh2jjAz8EAAYASAAEgL3xvD_BwE