Planowanie wyprzedzające

Planowanie wyprzedzające to algorytm planowania operacji wejścia/wyjścia na dysku twardym ( planowanie wejścia/wyjścia ). Ma na celu zwiększenie efektywności wykorzystania dysku poprzez „przewidywanie” przyszłych synchronicznych operacji odczytu.

Planowanie wejść/wyjść

„Zwodnicza bezczynność” to sytuacja, w której proces wydaje się być zakończony odczytem z dysku, podczas gdy w rzeczywistości przetwarza dane w ramach przygotowań do następnej operacji odczytu. Spowoduje to, że normalny , oszczędzający pracę program planujący operacje we/wy przełączy się na obsługę operacji we/wy z niepowiązanego procesu. Ta sytuacja jest szkodliwa dla przepływności odczytów synchronicznych, ponieważ przeradza się w obciążenie związane z wyszukiwaniem. Planowanie wyprzedzające przezwycięża zwodniczą bezczynność, zatrzymując się na krótki czas (kilka milisekund) po operacji odczytu w oczekiwaniu na kolejne żądania odczytu w pobliżu.

Planowanie z wyprzedzeniem zapewnia znaczną poprawę wykorzystania dysku w przypadku niektórych obciążeń. W niektórych sytuacjach serwer WWW Apache może osiągnąć nawet o 71% większą przepustowość dzięki zastosowaniu planowania z wyprzedzeniem.

systemu Linux może zmniejszać wydajność dysków korzystających z Tagged Command Queuing (TCQ), dysków o wysokiej wydajności i sprzętowych macierzy RAID . Harmonogram przewidywania (AS) był domyślnym harmonogramem jądra Linuksa między 2.6.0 a 2.6.18, kiedy to został zastąpiony przez harmonogram CFQ .

Od wersji jądra 2.6.33 harmonogram przewidujący został usunięty z jądra Linuksa. Powodem jest to, że choć przydatne, efekty programu planującego można osiągnąć poprzez dostrojone użycie innych programów planujących (głównie CFQ, który można również skonfigurować do bezczynności za pomocą przestrajalnego przestrajania slice_idle ) . Ponieważ planista przewidujący dodał narzut związany z konserwacją, nie poprawiając pokrycia obciążenia jądra Linuksa, uznano go za zbędny.

Zobacz też