Es ist allgemein üblich zu sagen, dass Linux aus guten Gründen schneller ist. Aber wie wichtig ist die Auswahl des Betriebssystems für die Leistung des wissenschaftlichen Computercodes, wie im Titel angegeben? Bei Dingen, an denen das Betriebssystem direkter beteiligt ist (z. B. Spielen oder Rendern von Videos), kann es sicher einen Unterschied geben. Aber wenn ich einige Codes in MATLAB ausführe, PDEs in Julia löse oder mit CUDA eine lineare Algebra auf einer GPU mache: Gibt es tatsächlich einen messbaren Leistungsunterschied zwischen Windows, MacOS und Linux?
Ich frage mich, ob jemand Benchmarks durchgeführt hat, um festzustellen, ob ein solcher Unterschied besteht. Möglicherweise gibt es Unterschiede bei der Verwendung von Software wie MATLAB aufgrund von Unterschieden bei den verwendeten Compilern? Oder sind CUDA-Treiber für ein Betriebssystem messbar schneller als für das andere? Oder stören Betriebssysteme manchmal sehr ähnlich wie das WDDM CUDA-Problem ?
Hinweis: Ich weiß, dass es andere Gründe für die Auswahl eines Betriebssystems gibt, die über den Rahmen dieser Frage hinausgehen. Ich wundere mich speziell über die Leistung.
quelle
Antworten:
Grundsätzlich sollte es kaum Unterschiede geben, da die zugrunde liegenden Toolkits normalerweise ähnlich, wenn nicht gleich sind: Bibliotheken, Compiler (und Hardware). In der Praxis kann die Verwendung von "dünnen" Knoten zu Verbesserungen führen. Dies ist keine grafische Benutzeroberfläche, keine E-Mail im Hintergrund oder einer der vielen anderen Prozesse, die ein Betriebssystem möglicherweise hat, um die Benutzererfahrung zu verbessern. Es kann einfacher sein, ein 'Server'-Betriebssystem unter Linux direkt von einer Standard-Distribution aus einzurichten, was zu einem viel schlankeren Computer für die Ausführung eines Gleitkomma-intensiven Codes führen kann. Selbst dann wären die Vorteile nicht sehr auffällig, solange außer dem laufenden Code keine Benutzeraktivität vorhanden ist.
quelle
Ich erinnere mich, dass ich vor zwei oder drei Jahren Statistiken über die Betriebssystemverteilung für die Liste der 500 schnellsten Computer weltweit gelesen habe. Linux / Unix-basierte laufende Computernummer war 498, Windows-basierte 2 und kein MacOS. Leider bin ich nicht wieder zur Statistik gekommen. In dem SuperComputer-Artikel von Wikipedia heißt es nur:
"Obwohl die meisten modernen Supercomputer das Linux-Betriebssystem verwenden, hat jeder Hersteller sein eigenes spezifisches Linux-Derivat, und es gibt keinen Industriestandard, was teilweise darauf zurückzuführen ist, dass die Unterschiede in den Hardwarearchitekturen Änderungen erfordern, um das Betriebssystem für jedes Hardware-Design zu optimieren." .
Auch wenn dieser Artikel nicht die Nummern der Distribution enthält, gibt er Linux-basierten Computern zumindest einen klaren Trend. In einem Bereich, in dem jede Leistung zählt (und das Geld, das für die Anpassung des Systems an die Supercomputerspezifikation benötigt wird, höchstwahrscheinlich nicht, daher gehe ich nicht davon aus, dass die Open-Source-Natur hier der Hauptvorteil ist).
Auf einer eher normalen Workstation verfügt Linux tendenziell auch über ein besseres Ressourcenmanagement, z. B. eine geringere Speichernutzung, und ist tendenziell stabiler. Dies ist jedoch eine persönliche Erfahrung von mir ohne Statistiken und sollte nicht ohne Bestätigung verallgemeinert werden (Win 7 gegen Ubuntu 14.04).
quelle