2016-07-04 7 views
0

Ich öffnete eine Ipython-Sitzung, startete ipcluster mit 4 Engines, ließ Engine [0] kontinuierlich in einem nicht-blockierenden Modus arbeiten.welcher Kern führt die Sitzung während der gleichzeitigen Berechnung aus

Jetzt habe ich einige Berechnungen in der Ipython-Sitzung zu tun. Wie kann ich wissen und sicherstellen, dass die Berechnung in dieser Sitzung nicht dieselben core/cpu/resources wie engine [0] verwendet?

Antwort

0

Kurze Antwort: Wenn Sie die Arbeit nicht explizit an Engine 0 senden, werden die Ressourcen von Engine 0 nicht verwendet.

IPython verwaltet keine Kerne oder andere physische Ressourcen, es weist nur processes zu. Es ist Ihrem Betriebssystem überlassen, Ihren CPU-Kernen gleichzeitig Prozesse zuzuweisen. Wenn Sie einen IPython-Cluster mit vier Engines gestartet haben und ihn aus einer interaktiven IPython-Sitzung verwenden, haben Sie fünf Python-Prozesse, die gleichzeitig Code ausführen können - Ihre vier Engines und die interaktive Sitzung selbst. Wenn Engine 0 einen Job im Hintergrund ausführt und Sie lokale Berechnungen in Ihrer interaktiven Sitzung durchführen, sollte Ihr Betriebssystem die Arbeit, die in der interaktiven Sitzung ausgeführt wurde, einem anderen Kern als dem von Engine 0 zugewiesenen zuweisen, vorausgesetzt, es ist ein Core verfügbar .

+0

Diese Antwort ist so klar und authentisch: P. Danke – Edward