Gushchin romano (
L'approccio proposto consente di aumentare l'efficienza dell'utilizzo della lastra, ridurre la dimensione della memoria utilizzata per la lastra del 30-45% e ridurre significativamente il consumo complessivo di memoria del kernel. Riducendo il numero di lastre non mobili si ha anche un effetto positivo nel ridurre la frammentazione della memoria. Il nuovo controller di memoria semplifica in modo significativo il codice per la contabilizzazione degli plates e non richiede l'uso di complicati algoritmi per la creazione e l'eliminazione dinamica delle cache dei plate per ciascun cgroup. Tutti i cgroup di memoria nella nuova implementazione utilizzano un set comune di cache sheet e la durata delle cache sheet non è più legata alla durata di quelle installate tramite il cgroup
La contabilità più accurata delle risorse implementata nel nuovo controllore della lastra dovrebbe teoricamente caricare di più la CPU, ma in pratica le differenze si sono rivelate insignificanti. In particolare, il nuovo platesetter è stato utilizzato per diversi mesi sui server Facebook di produzione che gestiscono diversi tipi di carico di lavoro, e non sono state ancora identificate regressioni degne di nota. Allo stesso tempo, si osserva una significativa riduzione del consumo di memoria: su alcuni host è stato possibile risparmiare fino a 1 GB di memoria, ma questo indicatore dipende in larga misura dalla natura del carico, dalla dimensione totale della RAM, dal numero di CPU e le caratteristiche di lavorare con la memoria. Prove precedenti
Fonte: opennet.ru