Linux-Kernel: Google baut Mini-Treiber-Schicht für unbekannten Apex-Chip

Das Treiber-Framework Gasket von Google-Entwicklern ist in den Staging-Bereich des Linux-Kernels aufgenommen worden. Genutzt wird Gasket zur Umsetzung eines nicht näher beschriebenen Chips, der Apex heißt. Dabei könnte es sich um den Beschleuniger für Bildverarbeitung Monette Hill von Intel handeln.

Artikel veröffentlicht am ,
Wofür Google den Apex-Chip einsetzen will, ist zurzeit noch nicht klar.
Wofür Google den Apex-Chip einsetzen will, ist zurzeit noch nicht klar. (Bild: Pixabay.com/CC0 1.0)

Bereits Anfang April fragte der Google-Entwickler Simon Que auf der Linux-Kernel-Mailingliste nach der Vorgehensweise, um einen speziellen Treiber für ein Gerät namens Apex zu erstellen. Der Nachricht zufolge handelt es sich dabei um ein externes PCIe-Board mit einem anwendungsspezifischen Custom-Co-Prozessor samt MMU und einer DMA-Schnittstelle, um Daten mit dem Hostsystem auszutauschen. Die daraus offenbar hervorgegangenen Arbeiten hat der Kernel-Betreuer Greg Kroah-Hartman nun in den Staging-Bereich des Kernels eingepflegt.

Stellenmarkt
  1. IT-Recruiter (m/w/d)
    Cegeka Deutschland GmbH, Neu Isenburg, Köln
  2. Systementwickler DevOps Remote Services (m/w/d)
    KHS GmbH, Dortmund
Detailsuche

Entstanden ist dafür das Treiber-Framework Gasket, was für "Google ASIC Software, Kernel Extensions, and Tools" steht. Die Idee des Frameworks ist es laut der Beschreibung, ein generisches und flexibles System zu erstellen, das kleine Kernel-Treiber unterstützten soll. Diese Kernel-Treiber können dann lediglich Geräte öffnen und schließen, den Speicher der PCI Base Address Registers (BAR) zuweisen, einige sehr wenige Ioctls verwalten und die Übersetzung der Seitentabellen übernehmen.

Sämtliche andere Funktionen werden von Userspace-Code übernommen. Interessant daran ist, dass bei der Verwendung des Gasket-Frameworks angenommen wird, dass immer nur genau ein Prozess Schreibzugriff auf den dazugehörigen Geräte-Knoten bekommt. Der bisher erste und einzige Gasket-Treiber ist ebenfalls Teil des nun eingepflegten Codes. Dabei handelt es sich um den Treiber für den Apex-Chip.

Mini-Treiber für Spezialhardware

Dass hier ein großer Teil der eigentlichen Logik nicht im Kernel umgesetzt wird, sondern eben im Userspace, ist je nach Anwendungszweck des Chips nicht unbedingt ungewöhnlich. Der ursprünglichen Idee zufolge wollte Google die Treiber-Unterstützung zunächst über das Userspace-I/O-System des Kernels umsetzen (UIO). Dieses ist für Situationen geschaffen worden, in denen für die Hardwareunterstützung nur ein sehr kleiner Kernel-Treiber notwendig ist, der zudem nicht mit dem Rest der Kernels und seinen Subsystemen interagiert. Auch hier übernimmt eine Userspace-Anwendung große Teile der Funktion.

Golem Akademie
  1. Java EE 8 Komplettkurs: virtueller Fünf-Tage-Workshop
    24.–28. Januar 2022, virtuell
  2. Ansible Fundamentals: Systemdeployment & -management: virtueller Drei-Tage-Workshop
    6.–8. Dezember 2021, Virtuell
Weitere IT-Trainings

Bei Apex handelt es sich offenbar um eine derartige Spezialhardware. Da die Funktionen von UIO aber den Bedürfnissen von Google wohl nicht genügten, ist Gasket entstanden. So ist insbesondere die Verwendung und Unterstützung einer MMU oder des Direktzugriffs per DMA mit UIO eben nicht vorgesehen.

Apex als Beschleunigerchip

Der beschriebene Aufbau des Treibers und des Gerätes sowie allen voran die Bezeichnung Gasket, in der wiederum die Abkürzung ASIC vorkommt, verweisen ziemlich klar darauf, dass Google mit Apex eine ganz bestimmte Anwendung mit Hilfe dieses Chips beschleunigt. Aus einer ersten Version des Treiber-Codes, die aus einem internen Chromium-Repository stammt, geht außerdem hervor, dass das Team zuvor offenbar wie üblich die endgültige Funktionsweise des Chips mit Hilfe eines FPGA erarbeitet hat.

Die tatsächliche Funktion von Apex, also was der Chip genau beschleunigen soll, geben die Patches allerdings nicht preis. Vor allem die Mitwirkung des Chromium-Teams, das bei Google für die Open-Source-Unterstützung der Chromebooks zuständig ist, weist jedoch daraufhin, dass Apex künftig in den Google-Laptops genutzt werden könnte. In dem Smartphone Pixel 2 verwendet Google bereits einen dedizierten Baustein zum Beschleunigen der Bildverarbeitung, für den Google mit Intel kooperiert hat. Die Desktop-Variante dieser Technik soll Intel unter dem Namen Monette Hill erstellen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Resident Evil (1996)
Grauenhaft gut

Resident Evil zeigte vor 25 Jahren, wie Horror im Videospiel auszusehen hat. Wir schauen uns den Klassiker im Golem retro_ an.

Resident Evil (1996): Grauenhaft gut
Artikel
  1. Streaming: Chromecast erhält spezielle Youtube-Fernbedienung
    Streaming
    Chromecast erhält spezielle Youtube-Fernbedienung

    Die Steuerung von Youtube auf einem Chromecast soll mit einer neuen Funktion deutlich komfortabler werden.

  2. Kanadische Polizei: Diebe nutzen Apples Airtags zum Tracking von Luxuswagen
    Kanadische Polizei
    Diebe nutzen Apples Airtags zum Tracking von Luxuswagen

    Autodiebe in Kanada nutzen offenbar Apples Airtags, um Fahrzeuge heimlich zu orten.

  3. Studie: Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren
    Studie
    Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren

    Nur eine sehr geringe Minderheit der Eltern will ihrem Kind erst mit 15 Jahren ein Smartphone zur Verfügung stellen.

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
    Daily Deals • Saturn-Advent: Samsung Portable SSD T5 1 TB 84€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • EPOS Sennheiser GSP 670 199€ • EK Water Blocks Elite Aurum 360 D-RGB All in One 205,89€ • KFA2 Geforce RTX 3070 OC 8 GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) [Werbung]
    •  /