Linus Torvalds hat die Probleme mit dem Task-Scheduler, die im Leistungstest aufgetreten sind, widerlegt.

Spieleentwickler Malte Skarupke veröffentlichte Leistungsvergleich von Locks basierend auf Mutex und Spinlock bei der Verwendung verschiedener Task-Scheduler. Die Tests zeigten anomale Verzögerungen bei der Nutzung von Spinlock mit dem standardmĂ€ĂŸig in Linux verwendeten Scheduler. Der Autor der Tests kam zu dem Schluss, dass der Linux-Scheduler Probleme hat, die sich negativ auf die Leistung von Spielen auswirken, die fĂŒr den Google Stadia-Dienst entwickelt wurden, bei dem Spiele in einer Cloud-Umgebung auf der GPU ausgefĂŒhrt werden, wĂ€hrend der Inhalt nur im Stream mit bis zu 60 Bildern pro Sekunde an den Client ĂŒbertragen wird. Unter diesen Bedingungen ist es wichtig, eine rechtzeitige Anzeige der Frames zu gewĂ€hrleisten, wobei Verzögerungen von mehr als einer Millisekunde deutlich spĂŒrbar werden.

Zur Diskussion der Tests angeschlossen Linus Torvalds, der sie als "pure garbage" bezeichnete, und ein Beispiel dafĂŒr, wie man ohne ein tiefes VerstĂ€ndnis des Themas zu Ergebnissen kommen kann, die die RealitĂ€t nicht widerspiegeln. Spinlock ist ein Low-Level-Primitiv, das im Benutzerraum mit großer Vorsicht und einem umfassenden VerstĂ€ndnis der Details verwendet werden muss, sonst können die gleichen Ergebnisse erzielt werden, die der Autor des Tests demonstriert hat. Linus riet den Spieleentwicklern, Spinlocks nicht zu verwenden und nicht zu versuchen, eigene Lock-Systeme basierend darauf zu entwickeln, sondern bestehende bewĂ€hrte Mechanismen zu nutzen, die das System darĂŒber informieren, dass auf die Freigabe der Sperre gewartet wird, um die Auswirkungen des Planers auszuschließen.

Spinlock-basierte ErgĂ€nzungen können nur verwendet werden, wenn man sich sicher ist, dass der Scheduler deren AusfĂŒhrung nicht unterbricht. Die in den Tests verwendeten Spinlock-basierten Sperren werden ĂŒber eine benutzerdefinierte Wrapper-Lösung implementiert, die im Benutzermodus arbeitet. Der Task-Scheduler kann jederzeit wĂ€hrend der AusfĂŒhrung dieses Wrappers die Kontrolle ĂŒbernehmen und auf eine andere Aufgabe wechseln. Da die Leistungsbewertung auf der Basis absoluter Timerwerte erfolgt, erfassen die in den Verzögerungstests definierten Werte nicht nur die Verzögerungen im Lock-Handler, sondern auch den Code, der in einem anderen Kontext ausgefĂŒhrt wurde, d.h. sie messen nicht nur das, was der Testautor messen wollte, sondern auch den „LĂ€rm“ von anderen Berechnungen im System.

Testautor hat versucht, Linus zu widersprechen, indem man darauf hinweist, dass der Einsatz eigener spinlock-basierter Sperrsysteme in der Praxis hĂ€ufig in Spielen verwendet wird, da bei einfacheren Schedulern als in Linux die Tests eine höhere Leistung zeigen. Linus widersprach, dass der Linux-Planer universell ist, seit Jahrzehnten verfeinert wurde und nicht nur fĂŒr Desktops und Spiele, sondern auch fĂŒr andere Arten von Lasten, wie z.B. Serversysteme, optimiert ist. Dabei werden viele Feinheiten bei der Planung der AusfĂŒhrung von Aufgaben berĂŒcksichtigt.

Die HinzufĂŒgung spezifischer Optimierungen, die die Latenz in Google Stadia-Spielen reduzieren, kann die ReaktionsfĂ€higkeit in bestimmten FĂ€llen verbessern, wird aber wahrscheinlich die Gesamtleistung des Planers beeintrĂ€chtigen. Beispielsweise verhĂ€lt sich der Windows-Planer in den diskutierten Tests besser, da er deutlich einfacher ist als der Linux-Planer und hauptsĂ€chlich fĂŒr desktop-spezifische Aufgaben optimiert ist.

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster