Dlaczego harmonogramy BFQ i BFS nie są zawarte w oficjalnym jądrze Ubuntu?

24

Wczoraj czytałem artykuł o przyspieszaniu Ubuntu. Jedną z sugestii w artykule było zastąpienie domyślnego harmonogramu we / wy BFQ , który zgodnie z artykułem jest zoptymalizowany pod kątem wydajności interaktywnej.

Podobny artykuł wskazuje na zalety wydajności pulpitu podczas korzystania z harmonogramu procesów BFS .

Oba programy planujące są zawarte w wielu zestawach łatek i alternatywnych jądrach, o których wiadomo, że zwiększają interaktywność i wydajność pulpitu (np. Linux-pf , likorix-jądro i linux-ck ).

Więc moje pytanie brzmi : biorąc pod uwagę, jak Ubuntu dąży do doskonałej jakości pulpitu, dlaczego wersje systemu operacyjnego inne niż serwerowe nie są dostarczane z tymi programami planującymi, gdy udowodniono, że są lepsze pod względem wydajności interaktywnej?


Więcej informacji na temat dwóch harmonogramów można znaleźć tutaj:

Musto
źródło
1
Skrót to BFS, a nie BFQ, prawda? A może jest tu intensywny?
jobin
@Jobin Ups, masz rację. BFS jest harmonogramem procesów i jest zawarty w zestawie łatek linux-ck, podobnie jak BFQ. Przeredaguję pytanie, aby to odzwierciedlić.
Glutanimate
Czy są jakieś testy porównawcze z zauważalnym wzrostem wydajności BFS w stosunku do domyślnego harmonogramu Ubuntu? Połączone testy porównawcze porównują tylko z CFQ
NGRhodes
1
@NGRhodes Tak, w tym porównaniu można zauważyć, że autorzy osiągnęli mniej więcej taką samą przepustowość między BFQ a terminem, jednocześnie zmniejszając czas uruchamiania aplikacji pod sekwencyjnym obciążeniem dysku o jeden rząd wielkości (z BFQ). Podobne porównania znajdziesz w pierwszym artykule połączonym powyżej.
Glutanimate
3
Dlaczego nie spróbujesz tego zaproponować? Ubuntu-devel-dyskusji ?
Andrea Corbellini,

Odpowiedzi:

14

Szybka odpowiedź :

  1. Oba harmonogramy w ogóle nie działają lub działają dobrze na wszystkich obsługiwanych platformach Linux (częstotliwość, architektura, zużycie zasobów, ...)
  2. Wydaje się, że Torvalds po prostu nie chce obsługiwać więcej niż jednego harmonogramu

Objaśnienia:

Ponieważ harmonogramy są samymi inicjatywami (inaczej nie obsługiwanymi przez jądro), sam fakt włączenia oznaczałby skupienie ludzi na tych harmonogramach (łatka bezpieczeństwa, łatka konserwacyjna, przyspieszenie adaptacji do nowych wydań jądra, ...). Oznacza to inwestycję finansową dla projektu, który nadal nie jest pewien, czy będzie istniał w przyszłości.

Są jeszcze całkiem młodzi. Najlepszym przykładem jest to, co wyjaśniono w często zadawanych pytaniach dotyczących BFS w części „Jak to jest skalowalne?”.

Zza tej części wynika, że ​​BFS ma problemy z wydajnością, gdy masz dużo logicznego procesora. Ten pojedynczy punkt dotyczy serwerów i wysokiej klasy komputerów PC (liczba 16 jest podana, co oznacza, że ​​prosty serwer o wartości 1000 USD miałby z tym problemy związane z wydajnością). Wykluczasz więc Ubuntu Server tej poprawki, wykluczasz także konfiguracje fizycznego bi-CPU, które teraz łatwo osiągają tę liczbę.

Ubuntu nie może dotrzeć do mas, jeśli używają innego harmonogramu. Skalowalność wygrywa z wydajnością.

Jak zawsze, z wieloma „jeśli” ...:

  • Jeśli każdy użytkownik Ubuntu jest użytkownikiem pulpitu
  • Jeśli każda maszyna każdego użytkownika Ubuntu jest odpowiednim komputerem dla programistów

W rzeczywistości najlepszym podejściem jest obecnie: Pozwól użytkownikowi zastosować harmonogramy, których chcą, jeśli mają sprzęt i są nim zainteresowani.

Stosowanie go może przez pewien czas działać lepiej (ponieważ, jak powiedziałem, skalowalność jest dużym problemem, a przyszłość zwiększy liczbę procesorów). Ale sprawi innym poważne problemy.

Dodatkowe źródła:

Link może nie zostać na zawsze, oto artykuł, który znalazłem na temat BFS na h-online . To najbardziej oficjalny, jaki znalazłem. Jednak jeśli google mocno, może znaleźć prawdziwe oświadczenie. Myślę, że może to być na jądrze.

Zobacz trzeci akapit tytułu feniksa w artykule. Przytoczę to tutaj, na wypadek gdyby link umarł:

Obecnie integracja BFS z główną gałęzią programistyczną Linuksa wydaje się bardzo mało prawdopodobna, ponieważ Linus Torvalds już jasno stwierdził, że nie chce utrzymywać wielu harmonogramów. Ponadto dystrybutorzy Linuksa preferują pojedynczy obraz jądra, który osiąga optymalną wydajność w wielu różnych systemach bez konieczności specjalnej konfiguracji. Być może programiści CFS poprawią swój harmonogram w obszarach objętych BFS - premia dla społeczności użytkowników.

Linus Torvalds Wątek na ten temat.

Antoine Rodriguez
źródło