Wstępne ładowanie to „adaptacyjny demon readahead”, który działa w tle systemu i obserwuje najczęściej używane programy, buforując je w celu przyspieszenia ładowania aplikacji. Korzystając z Preload, możesz sprawić, by nieużywana pamięć RAM działała dobrze i poprawić ogólną wydajność systemu stacjonarnego.
Nie oczekuj od razu drastycznej zmiany wydajności. Ponadto, jeśli po prostu powtarzasz otwieranie / zamykanie aplikacji, komputer i tak będzie przechowywać te pliki w pamięci podręcznej (jest to nazywane „ciepłym” ładowaniem), więc nie zobaczysz żadnej różnicy w szybkości. Jednak zobaczysz poprawę prędkości, jeśli na przykład używasz programu sporadycznie; programy te uruchomią się szybciej niż bez Preload.
Wstępne ładowanie może znacznie poprawić czas uruchamiania aplikacji; ponieważ większość współczesnych maszyn ma sporo pamięci, Preload dobrze wykorzystuje tę pamięć RAM. 1
Teraz powiedziawszy, wydaje się, że wstępne ładowanie jest świetnym narzędziem, i może być.
Myślę, że powodem, dla którego nie jest fabrycznie załadowany do systemu operacyjnego, jest to, że użytkownik musi dokładnie wiedzieć, co tam robi, i mieć wystarczające doświadczenie, aby móc z niego korzystać, a system musi mieć wystarczającą ilość pamięci RAM.
W bardziej technicznym aspekcie wstępne ładowanie działa poprzez przeniesienie danych z dysku twardego do pamięci RAM, co powoduje, że większość dysków twardych przechodzi w tryb uśpienia, jeśli nie jest używany, a następnie w razie potrzeby musi zostać ponownie uruchomiona. Tak więc obracanie w górę / w dół napędu spowoduje zwiększenie liczby cykli ładowania / rozładowania oraz zwiększenie czasu włączania, co skróci żywotność napędu.
Zaprojektowaliśmy i wdrożyliśmy wstępne ładowanie, adaptacyjny schemat pobierania wstępnego oparty na Markovie, który działa na podstawie prognoz na poziomie aplikacji. Co więcej, wstępne ładowanie jest implementowane w przestrzeni użytkownika i nie zmienia środowiska wykonawczego aplikacji w żadnym sensie. Jest to pierwsza praca eksperymentująca z pobieraniem systemu plików na tym poziomie, o ile wiemy.
Nasze wyniki eksperymentalne pokazują obiecującą poprawę czasu uruchamiania aplikacji w porównaniu do zimnych pamięci podręcznych oraz przyzwoity współczynnik trafień w porównaniu z naiwnym algorytmem przewidywania.
Jednak przebywanie w przestrzeni użytkownika stanowi poważne przeszkody w uczynieniu wstępnego ładowania konkurencyjnym rozwiązaniem problemu z czasem uruchamiania. W szczególności brak pełnej informacji o żądaniach We / Wy aplikacji oraz brak silnych kanałów komunikacji z podsystemem pamięci podręcznej strony drastycznie obniżają efektywność wstępnego ładowania, szczególnie w ciasnych warunkach pamięci.
Innym nieodłącznym problemem związanym z projektem obciążenia wstępnego jest duża wariancja i niska pewność przewidywania spowodowana relatywnie luźną korelacją start-upów aplikacji. Chociaż z powodzeniem budujemy model do śledzenia korelacji aplikacji, fakt, że uruchamianie aplikacji jest bardzo rzadkim zdarzeniem w porównaniu ze skalą czasową, na której pracują komputery, schemat pobierania na poziomie aplikacji jest skazany na zużycie ogromnej pamięci pobierania wstępnego przez praktycznie nieskończone okresy czasu. Tej pamięci można użyć do poprawy krótkotrwałego zachowania pamięci podręcznej.
Wreszcie, opracowaliśmy zestaw rekomendacji dla programistów systemów, w jaki sposób poprawić czas rozruchu, czas logowania i czas uruchamiania aplikacji bez powrotu do preselektora zintegrowanego z podsystemem pamięci podręcznej w jądrze. Oczywiście, preetcher oparty na plikach w jądrze może być dodatkowo ulepszony. 2)
1 Źródło: techthrob
2 Źródło: Wstępne ładowanie - Adaptacyjny demon pobierania wstępnego autorstwa Behdada Esfahboda - Praca dyplomowa złożona zgodnie z wymaganiami dotyczącymi stopnia magistra - Absolwent Wydziału Informatyki - University of Toronto Copyright (c) 2006 autorstwa Behdad Esfahbod.