DragonFly BSD 5.0 mit experimentellem HAMMER2 veröffentlicht
Version 5.0 fügt DragonFly BSD endlich das mit Spannung erwartete HAMMER2 hinzu. Das Dateisystem kann bereits viel und bleibt dennoch vorerst experimentell – Nutzer sollten bis zum ersten Update warten.
Mit dem Major-Release 5.0 liegt eine neue Version von DragonFly BSD vor. Das Team um Matthew Dillon spendierte dem Unix-Derivat nach langer Wartezeit das HAMMER2-Dateisystem, einen noch schnelleren Netzwerk-Stack und eine neu geschriebene, multiprozessorfähige Firewall.
Wichtigste Neuerung ist HAMMER2. Mit ihm besitzt DragonFly BSD ein verteiltes Dateisystem, das als Alternative zu ZFS antritt. Es bietet Copy on Write, Cyclic Redundancy Checks (CRC) bei allen Daten und Strukturen, Kompression, Snapshots, Deduplizierung (extern) und viele weitere Funktionen. Einen Überblick zum aktuellen Stand bietet das Design-Dokument. Der Vorgänger stammt noch aus den Zeiten von DragonFly BSD 2.0, seit Anfang 2012 arbeitet das Projekt an HAMMER2 – ganz fertig ist aber es noch immer nicht. Der Nutzer kann es beim Installieren des Betriebssystems wählen und anschließend das System starten, die besonderen Cluster-Fähigkeiten fehlen jedoch teilweise, weswegen die Entwickler es als experimentell und nicht für den produktiven Einsatz gedacht einstufen.
900.000 Prozesse auf einem System
Immerhin: Selbst bei OpenBSD denkt man darüber nach, einen Teil von HAMMER2, beschränkt auf Anforderungen eines Single-Node-Systems, zu portieren. Ein kleiner Fehler scheint sich eingeschlichen zu haben, denn nach der Installation findet DragonFly BSD 5.0 sein mount_hammer2 nicht, es fehlt in der /usr/share/initrd. Das Problem ist den Entwicklern bekannt und Version 5.01 soll es umgehend beheben.
Dillon, der bereits für den Amiga (DICE C-Compiler) und den Linux-Kernel programmierte, entwickelte sein DragonFly BSD bereits 2003 als Fork von FreeBSD 4.8, um einen effizienteren Speicher- und SMP-Support zu implementieren. Zusätzlich zur Optimierung auf Multicore- und Multisocket-Systeme teilen Lightweight Kernel Threads (LWKT) jedem CPU-Kern einen eigenen Scheduler zu, was Prozesse besser an einzelne Kerne bindet und so vor allem Caches von NUMA-Architekturen effizienter nutzt. So laufen laut Dillon über 900.000 Prozesse auf einem System.
Intel-Grafikchips besser unterstĂĽtzt
Ferner haben die Programmierer am Netzwerk-Stack Hand angelegt, er arbeitet unter Last besser. DragonFly BSD 5.0 enthält gleich drei Paketfilter: ipfw, ipfw3 und das von OpenBSD adaptierte pf. Das Projekt empfiehlt ipfw3, eine komplette Neuimplementation von ipfw inklusive Multithreading.
Weitere Verbesserungen gibt es unter anderem bei der UnterstĂĽtzung von Intel-Grafikchips. Der i915-Treiber entspricht dem Stand des Linux Kernels 4.7.10 und arbeitet mit GPUs bis zu Kabylake. Mit cga_switcheroo(4) und apple_gmux wird der GPU-Kombination Intel/Nvidia beziehungsweise Intel/AMD Rechnung getragen. DragonFly BSD 5.0 ist ab sofort auf der Projektseite frei verfĂĽgbar, dort finden sich auch die umfangreichen Release-Notes und ein Online-Handbuch. Das Betriebssystem unterliegt der BSD-Lizenz. (axk)