Preload è un "demone readahead adattivo" che viene eseguito in background del sistema e osserva quali programmi si utilizzano più spesso, memorizzandoli nella cache per accelerare il tempo di caricamento delle applicazioni. Usando Preload, puoi mettere a buon fine la RAM inutilizzata e migliorare le prestazioni generali del tuo sistema desktop.
Non aspettarti di vedere subito un drastico cambiamento nelle prestazioni. Inoltre, se stai semplicemente aprendo / chiudendo le applicazioni ripetutamente, il tuo computer memorizzerà comunque quei file nella cache (questo è chiamato un carico "caldo"), quindi non vedrai alcuna differenza di velocità lì. Tuttavia, vedrai un miglioramento della velocità se, ad esempio, usi un programma in modo intermittente; questi programmi si avviano più velocemente che senza Preload.
Il precarico può fornire un notevole miglioramento nei tempi di avvio dell'applicazione; poiché la maggior parte delle macchine moderne ha una buona quantità di memoria da risparmiare, Preload mette a frutto questa RAM. 1
Detto questo, sembra che il precarico sia una grande utilità, e potrebbe esserlo.
Penso che il motivo non sia precaricato con il sistema operativo, è perché l'utente deve sapere esattamente cosa sta facendo e avere abbastanza esperienza per poterlo utilizzare e il sistema deve avere abbastanza RAM.
Su un aspetto più tecnico, il precaricamento funziona spostando i dati dal disco rigido alla RAM, il che rende la maggior parte del disco rigido in modalità di sospensione se non utilizzata, e quindi deve tornare indietro quando necessario. Quindi la rotazione su / giù dell'unità causerebbe il conteggio del ciclo di caricamento / scaricamento e il conteggio del tempo di accensione aumenterebbe e ciò ridurrebbe la durata dell'unità.
Abbiamo progettato e implementato il precarico, uno schema di prefetch adattivo basato su Markov che funziona su previsioni a livello di applicazione. Inoltre, il precarico viene implementato nello spazio utente e non modifica l'ambiente di runtime dell'applicazione in alcun senso. Questo è il primo lavoro a sperimentare il prefetch del file system a questo livello, per quanto ne sappiamo.
I nostri risultati sperimentali mostrano promettenti miglioramenti nei tempi di avvio dell'applicazione rispetto alle cache fredde e una percentuale di hit decente rispetto a un algoritmo di previsione ingenuo.
Tuttavia, trovarsi nello spazio utente introduce importanti ostacoli nel rendere il precarico una soluzione competitiva al problema dei tempi di avvio. In particolare, non disporre di informazioni complete sulle richieste di I / O delle applicazioni e la mancanza di forti canali di comunicazione con il sottosistema cache di pagina riduce drasticamente l'efficacia del precarico, specialmente in condizioni di memoria ristretta.
Un altro problema inerente al design del precarico è l'alta varianza e la bassa sicurezza di previsione causata dalla correlazione relativamente libera delle start-up dell'applicazione. Mentre costruiamo con successo un modello per tracciare le correlazioni delle applicazioni, il fatto che i lanci di applicazioni siano eventi molto rari rispetto alla scala temporale su cui lavorano i computer, uno schema di prefetching a livello di applicazione è condannato a consumare un'enorme memoria di prefetching praticamente in periodi di tempo infiniti. Questa memoria può essere utilizzata per migliorare il comportamento della cache a breve termine.
Infine, forniamo una serie di raccomandazioni per gli sviluppatori di sistema su come migliorare il tempo di avvio, il tempo di accesso e il tempo di avvio dell'applicazione senza ricorrere a un prefetcher integrato con il sottosistema cache nel kernel. Naturalmente, un prefetcher basato su file nel kernel può migliorare ulteriormente. 2
1 Fonte: techthrob
2 Fonte: Preload - An Adaptive Prefetching Daemon di Behdad Esfahbod - Una tesi presentata in conformità con i requisiti per il grado di Master of Science - Graduate Department of Computer Science - University of Toronto Copyright (c) 2006 di Behdad Esfahbod.