Valve: Linux bekommt Windows-Thread-Synchronisation für Steam

Die Thread-Synchronisation funktioniert unter Windows anders als unter Linux. Für Wine und Proton in Steam nutzt Valve deshalb einen Hack, mit dem es einige Probleme gibt. Eine neue Kernel-Schnittstelle für Linux soll das ändern.

Artikel veröffentlicht am ,
Eine stilisierte Kuppelstange einer Dampflokomotive dient als Logo von Steam.
Eine stilisierte Kuppelstange einer Dampflokomotive dient als Logo von Steam. (Bild: Andrey Korchagin/CC-BY-SA 2.0)

Mit der aktuellen Version 4.11 von Proton führt Valve für seine Spiele-Plattform Steam mit Fsync eine neue experimentelle Technik für Linux ein. Mit dieser soll die Synchronisation von Threads auch unter Linux so ähnlich funktionieren, wie dies bei Windows umgesetzt wird. Das soll Geschwindigkeitsvorteile beim Ausführen von Windows-Spielen unter Linux bringen.

Inhalt:
  1. Valve: Linux bekommt Windows-Thread-Synchronisation für Steam
  2. Futex für mehrere Objekte

Bisher setzen die Beteiligten auf das sogenannte Esync, das bestehende Techniken des Linux-Kernels verwendet. Ziel ist es, einerseits die Thread-Synchronisation im Userspace umzusetzen und dies andererseits so zu gestalten, dass Threads gleichzeitig den Zustand mehrerer Objekte erfragen können. Letzteres ist unter Linux aber bisher nicht ohne weiteres möglich.

Die vom Wine-Sponsor Codeweavers dazu erdachte Technik Esync erstellt deshalb für jedes Synchronisationsobjekt einen Eventfd-File-Descriptor. Mit diesen kann der Kernel eine Userspace-Anwendung über bestimmte Ereignisse informieren. Das ermöglicht es, Information über die einzelnen Objekte zu erhalten. Das Problem an dieser Implementierung ist aber, dass die Anzahl der pro Prozess verfügbaren File Descriptor standardmäßig auf 4.096 beschränkt ist.

Zwar heben einige Linux-Distributionen dieses Limit deutlich an. Aber auch das reicht offenbar nicht aus. Laut Aussage der Entwickler gibt es Anwendungen, die bei der Nutzung von Esync mehrere Millionen File-Descriptor erzeugen, so dass die verfügbare Anzahl irgendwann schlicht aufgebraucht ist. Darüber verursacht Esync eine leicht erhöhte CPU-Auslastung.

Stellenmarkt
  1. Facharchitektur-Analystin / Analyst (m/w/d)
    Bundeskriminalamt, Wiesbaden
  2. IT-Mitarbeiter (m/w/d) Anwendungsbetreuung
    Helios IT Service GmbH, Freital
Detailsuche

Die Umsetzung von Esync ist letztlich nur ein sehr ausgefallener Hack, der bestehende Begrenzungen der Kernel-Technik durch einen neuen Ansatz umgeht. Immerhin gibt es mit den sogenannten Futex (Fast Userspace Mutex) bereits seit langem eine Kernel-Technik zur Thread-Synchronisation, bei der die Mehrheit der Operationen im Userspace ausgeführt wird. Das ist wie erwähnt eines der Ziele der Technik von Valve. Die Entwickler wollen die Technik aber erweitern.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Futex für mehrere Objekte 
  1. 1
  2. 2
  3.  


Aktuell auf der Startseite von Golem.de
Glasfaser
Berliner Senat blamiert sich mit Gigabitstrategie

Der Berliner Senat ist nach Jahren aus dem Dämmerzustand hochgeschreckt und hat nun eine Gigabitstrategie. Warum haben sie nicht einfach geschwiegen?
Ein IMHO von Achim Sawall

Glasfaser: Berliner Senat blamiert sich mit Gigabitstrategie
Artikel
  1. Selbständige: Vodafone mit neuen Tarifen ohne Preissteigerung
    Selbständige
    Vodafone mit neuen Tarifen ohne Preissteigerung

    Vodafone wird seine Preise in neuen Tarifen für Selbständige nach 24 Monaten nicht mehr anheben.

  2. Gorillas-Chef: Entlassungen sind im Interesse der Community
    Gorillas-Chef
    Entlassungen sind "im Interesse der Community"

    Der Chef des Gorillas-Lieferdienstes rechtfertigt die Kündigung eines Arbeiters. Eine Fahrerin mit blauen Flecken am Rücken bewertet das anders.

  3. Coronapandemie: Einige Microsoft-Admins schliefen direkt in Rechenzentren
    Coronapandemie
    Einige Microsoft-Admins schliefen direkt in Rechenzentren

    Um weite Arbeitswege und Verspätungen zu vermeiden, hatten es sich einige Microsoft-Mitarbeiter in den eigenen Rechenzentren bequem gemacht.

0110101111010001 01. Aug 2019

Lol


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Dualsense 59,99€ • Battlefield 2042 PC 53,99€ • XXL Sale bei Alternate • Rainbow Six Extraction Limited PS5 69,99€ • Sony Pulse 3D-Headset PS5 99,99€ • Snakebyte Gaming Seat Evo 149,99€ • Bethesda E3 Promo bei GP [Werbung]
    •  /