Google pracuje nad rozwiązaniem problemu zaskakująco długiego restartowania serwerów z Linuksem, których powodem jest… zbyt duża liczba zainstalowanych dysków SSD NVMe. Chociaż zmiana w założeniu ma pomóc administratorom, a nie użytkownikom, oni też mogą na niej nieco skorzystać.
Serwis phoronix opisuje ciekawy problem, z którym mierzą się administratorzy w Google. Jak zauważono, serwery z Linuksem wykorzystujące wiele dysków SSD NVMe zaskakująco długo się restartują. Źródłem wydłużonego czasu jest etap zamykania i zadań, które jądro Linuksa wykonuje obecnie synchronicznie.
Propozycja Google’a obejmuje wprowadzenie nowego, asynchronicznego mechanizmu zamykania, aby wyeliminować spowolnienie całego procesu na poziomie magistrali. Jak wyliczono, zamknięcie jednego dysku SSD NVMe może trwać niecałe 5 sekund, co w systemie złożonym z kilkunastu urządzeń przekłada się na około minutę oczekiwania, nim serwer zacznie się ponownie uruchamiać. W praktyce to minuta (plus czas ponownego uruchomienia), podczas której serwer po prostu nie działa i nie jest dostępny dla użytkowników.
Rozwiązanie proponowane przez Google’a to łatka wprowadzająca asynchroniczny interfejs zamykania, który jest zgodny z wcześniejszym synchronicznym. W praktyce oznacza to możliwość szybszego zamykania systemu po wdrożeniu stosunkowo krótkiego kodu. Jak tłumaczy Google, „aktualizacja” polega na zmianie działania dysków na poziomie PCI Express, co później przenoszone jest do sterownika odpowiedzialnego za napędy NVMe.