Linus Torvalds hat die Probleme mit dem Task-Scheduler, die in den Leistungstests aufgetreten sind, widerlegt.

Spielentwickler Malte Skarupke veröffentlichte Leistungsbewertung von Locks basierend auf Mutex und Spinlock bei Verwendung verschiedener Task-Scheduler. Die Tests zeigten anomale große Verzögerungen bei Verwendung von Spinlock mit dem standardmĂ€ĂŸig in Linux verwendeten Task-Scheduler. Der Autor der Tests kam zu dem Schluss, dass der Linux-Task-Scheduler Probleme hat, die sich negativ auf die Leistung von Spielen auswirken, die fĂŒr den Google Stadia-Dienst entwickelt wurden, bei dem die Spiele auf der GPU in einer Cloud-Umgebung ausgefĂŒhrt werden und der Client nur den Bildschirminhalt mit bis zu 60 Bildern pro Sekunde streamt. Unter diesen Bedingungen ist es notwendig, eine rechtzeitige Ausgabe der Frames auf den Bildschirm sicherzustellen, und Verzögerungen von mehr als einer Millisekunde werden deutlich.

Zur Diskussion der Tests beteiligt Linus Torvalds, der sie als MĂŒll bezeichnete („pure garbage“) und als Beispiel, wie man, ohne sich wirklich mit dem Thema auseinanderzusetzen, Ergebnisse erhalten kann, die die RealitĂ€t nicht widerspiegeln. Spinlock ist ein Low-Level-Primitiv, das im Benutzerspeicher mit großer Vorsicht und umfassendem VerstĂ€ndnis der Details verwendet werden sollte, anderenfalls kann man das erleben, was vom Autor des Tests demonstriert wurde. Linus riet den Spieleentwicklern, Spinlock nicht zu verwenden und nicht zu versuchen, eigene Lock-Systeme darauf aufzubauen, sondern bestehende bewĂ€hrte Mechanismen zu nutzen, die das System ĂŒber das Warten auf die Freigabe des Locks informieren, um die Auswirkungen des Schedulers auszuschließen.

Erweiterungen auf Basis von Spinlock können nur verwendet werden, wenn man sich sicher ist, dass der Scheduler deren AusfĂŒhrung nicht unterbricht. Die in den Tests verwendeten Locks auf Basis von Spinlock sind durch eine selbstgebaute HĂŒlle realisiert, die im Benutzerspeicher funktioniert. Der Task-Scheduler kann jederzeit wĂ€hrend der AusfĂŒhrung dieser HĂŒlle die Kontrolle ĂŒbernehmen und auf eine andere Aufgabe umschalten. Da die Leistungsbewertung auf der Basis absoluter Timerwerte erfolgt, umfassen die in den Tests festgestellten Verzögerungen 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 Autor des Tests messen wollte, sondern auch den „Rauschen“ von anderen Berechnungen im System.

Autor des Tests versuchte Linus zu widersprechen und darauf hinzuweisen, dass der Einsatz eigener Blocking-Systeme auf Basis von Spinlocks in der Praxis hĂ€ufig in Spielen verwendet wird, da Tests höhere Leistung zeigen, wenn einfachere Scheduler als in Linux verwendet werden. widersprach, dass der Linux-Scheduler universell ist, ĂŒber Jahrzehnte verfeinert wurde und nicht nur fĂŒr Desktop- und Spieleanwendungen optimiert ist, sondern auch fĂŒr andere Arten von Lasten, wie z.B. Serversysteme, daher berĂŒcksichtigt er viele Nuancen bei der Planung der AufgabenausfĂŒhrung.

Das HinzufĂŒgen spezifischer Optimierungen, die dazu beitragen, die Latenz in Google Stadia-Spielen zu verringern, kann die ReaktionsfĂ€higkeit in EinzelfĂ€llen verbessern, könnte aber wahrscheinlich die Effizienz des Schedulers insgesamt verringern. Zum Beispiel verhĂ€lt sich der Windows-Scheduler in den besprochenen Tests besser, da er erheblich einfacher als der Linux-Scheduler ist und hauptsĂ€chlich fĂŒr desktop-spezifische Aufgaben optimiert wurde.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster