CCoW: Optimización de la copia en escritura teniendo en cuenta la localidad espacial en las cargas de trabajo, parte 6
Apr 03, 2024
El mejor tamaño de región y el umbral varían según las características de la carga de trabajo. Para evaluar la influencia de la carga de trabajo, medimos el desempeño de CCoW en las cargas de trabajo con varias localidades. Específicamente, cambiamos el parámetro de Zipfdistribution, que determina el grado de localidad.
Existe una estrecha relación entre la memoria humana y la carga de trabajo. Cuando necesitamos procesar grandes cantidades de información o completar tareas complejas, nuestro cerebro debe permanecer muy atento para garantizar que toda la información necesaria se procese y almacene correctamente. Las neuronas del cerebro se conectan y comunican constantemente, lo que afecta en gran medida la forma en que pensamos y recordamos.
Si bien procesar grandes cantidades de información y completar tareas complejas puede desafiar nuestra memoria y capacidades cognitivas, las investigaciones muestran que con el entrenamiento y la práctica adecuados, podemos mejorar significativamente nuestra memoria y productividad. Por ejemplo, a través de experimentos, los científicos han descubierto que mediante un entrenamiento y una práctica exhaustivos de la memoria, las personas pueden mejorar significativamente su memoria y su eficiencia en el trabajo.
Desde esta perspectiva, podemos concluir que la práctica y la formación continua son muy importantes para quienes quieren mejorar su memoria y eficiencia en el trabajo. Además, mantenga una actitud positiva, ya que el estrés puede obstaculizar la memoria y la productividad.
En resumen, existe una fuerte correlación entre la carga de trabajo y la memoria. Mientras nos mantengamos concentrados, entrenemos y practiquemos regularmente y mantengamos una actitud positiva, podemos mejorar significativamente nuestra memoria y eficiencia en el trabajo. Cistanche deserticola también puede regular el equilibrio de los neurotransmisores, como el aumento de los niveles de acetilcolina y factores de crecimiento, que son importantes para la memoria y el aprendizaje. Además, Cistanche deserticola también puede mejorar el flujo sanguíneo y promover el suministro de oxígeno, lo que puede garantizar que el cerebro reciba suficientes nutrientes y energía, mejorando así la vitalidad y la resistencia del cerebro.

Haga clic para conocer formas de mejorar su memoria.
Los accesos se distribuyen uniformemente cuando es {{0}}, y cuanto mayor sea el valor de , mayor será el nivel de localidad que exhiba la carga de trabajo. Cuando es 1.0, aproximadamente el 80% de las operaciones involucran el 20% de los datos.
Este grado de localidad se encuentra comúnmente en varias cargas de trabajo reales, como lo establece el principio de Pareto. Medimos con tres valores diferentes, 1.0, 0.9 y 1.1, donde 1.0 es la línea base y 0.9 y 1.1 representan la carga de trabajo local baja y alta, respectivamente.
El rendimiento de CoW original varía según las cargas de trabajo, por lo que el período de bifurcación para una carga de trabajo se estableció de acuerdo con el tiempo medido con la configuración de CoW original. Por ejemplo, si la configuración CoW original requiere 10 segundos para recuperar el rendimiento normal después de una bifurcación, las otras configuraciones CCoW también bifurcan procesos secundarios cada 10 s.
La Figura 5 resume el rendimiento promedio y el uso de memoria de CCoW con cargas de trabajo de diferentes localidades. Para la carga de trabajo de baja localidad, las configuraciones con umbrales CCoW pequeños exhiben un mejor rendimiento que aquellas con umbrales grandes. 'CCoW-all' incluso supera al CoW original en un 15% en la carga de trabajo de baja localidad. Esto se debe a la eficacia de la precopia. En la carga de trabajo de baja localidad, una gran parte de la memoria debe replicarse ya que los accesos se distribuyen en todo el espacio de direcciones del proceso. En efecto, copiar regiones enteras da como resultado la copia de la memoria necesaria por adelantado con pocos gastos generales.

Por lo tanto, cuanto menor sea el umbral, mayor será el rendimiento del programa con la carga de trabajo de baja localidad. Sin embargo, esta tendencia tiene el efecto opuesto con cargas de trabajo locales elevadas. Con cargas de trabajo de gran localidad, muchos accesos se centran en unas pocas páginas.
Esto implica que sólo es necesario replicar una pequeña parte de la memoria durante la copia en escritura. Copiar toda la región en un error de página tiende a copiar las páginas a las que no se accede en absoluto.
Esto sólo genera una sobrecarga temporal, lo que perjudica el rendimiento con cargas de trabajo de localidades más altas. Como resultado, CCoW-all muestra el peor rendimiento con la carga de trabajo de alta localidad. Otras configuraciones muestran patrones similares de cargas de trabajo básicas; el rendimiento alcanza su punto máximo en el valor umbral del 80 % y disminuye con umbrales más pequeños.

El uso de memoria del punto de referencia muestra una tendencia constante independientemente del grado de localidad de las cargas de trabajo. 'CCoW-all' siempre representa el mayor uso de memoria porque siempre copia todas las páginas de la memoria después de una bifurcación. Además de eso, las huellas de memoria son inversamente proporcionales al valor umbral; cuanto menor sea el valor umbral, más memoria utilizará el punto de referencia.
La amplificación de la memoria solo aumenta hasta un 10% en comparación con la configuración CoW original, lo que se considera dentro de un rango razonable. Además de analizar el rendimiento de CCoW, comparamos el rendimiento de CCoW con el de la página enorme transparente (THP). esquema de Linux.
THP es algo similar a CCoW en el sentido de que apunta a mitigar la sobrecarga que se origina en páginas pequeñas. 'CoW-THP' en la Figura 5 representa el rendimiento de la configuración habilitada para THP. Tenga en cuenta que el sistema habilitado para THP maneja CoW dividiendo páginas enormes en páginas base antes de copiar la página defectuosa, al igual que otros esquemas que optimizan THP [12–15,17].
Podemos observar que THP muestra un mejor rendimiento que la configuración predeterminada 'solo CoW'. Atribuimos la ganancia de rendimiento a la mayor eficiencia en la traducción de direcciones con páginas grandes.
Específicamente, según el esquema THP, es probable que la parte activa del espacio de direcciones del proceso se divida en páginas base, proporcionando así el mismo rendimiento que la configuración 'sólo CoW'. Sin embargo, la parte fría del espacio de direcciones del proceso no se divide y se mantiene con páginas enormes. Por lo tanto, esto puede mejorar el rendimiento de la aplicación hasta cierto punto.
Sin embargo, THP no proporciona tanta mejora del rendimiento como lo hace CCoW. La Figura 6 muestra la distribución acumulada del rendimiento durante la evaluación. El eje x representa el rendimiento en operaciones por segundo y el eje y representa la relación acumulada del rendimiento a el valor de rendimiento. A excepción de CCoW-all, podemos encontrar tres rangos de rendimiento observados con frecuencia independientemente de las configuraciones.
El primer grupo en la proporción acumulada de {{0}} a 0.1 indica el período durante el cual el rendimiento del índice de referencia disminuye inmediatamente después de la bifurcación. Luego el desempeño se recupera con el tiempo, como en el segundo grupo con una proporción acumulada de 0.1 a 0,7.
Las proporciones acumulativas restantes en el rango de {{0}}.7 a 1,0 provienen de accesos que no incurren en errores de página. En general, las configuraciones CCoW tienden a tener caídas de rendimiento más severas que el CoW original. Específicamente, con la carga de trabajo de alta localidad del esquema CoW original, el rendimiento cae a aproximadamente 1900 K operaciones por segundo justo después de la bifurcación.

Luego aumenta lentamente hasta el rango de 2500 K de operaciones por segundo. Con CCoW, el rendimiento cayó aún más, hasta el rango de 1700 K operaciones por segundo. Sin embargo, el rendimiento se recuperó más rápido, demostrando un mejor rendimiento que el CoW original la mayor parte del tiempo (es decir, principalmente en el lado derecho del gráfico acumulativo). También podemos observar una tendencia similar en otras cargas de trabajo, y la configuración CCoW-all demuestra un comportamiento extremo; Justo después de la bifurcación, el rendimiento cae significativamente y se mantiene bajo mientras la mayor parte del espacio de direcciones se copia con accesos extendidos.
Después de ese punto, sin embargo, sólo se producen unos pocos errores de página, por lo que la mayoría de los accesos se procesan sin errores de página. Por lo tanto, el rendimiento tiene una distribución bimodal en CCoW. A partir de esta evaluación, confirmamos que CCoW proporciona un rendimiento óptimo al optimizar el caso común.
Sin embargo, la caída del rendimiento debe abordarse para obtener mejores características de rendimiento. Con este fin, actualmente estamos trabajando para limitar la cantidad de datos copiados justo después de la bifurcación.

4.2. Rendimiento de CCoW en cargas de trabajo realistas
Para evaluar el CCoW propuesto en una carga de trabajo realista, utilizamos Redis y YCSB. Redis es una base de datos clave-valor en memoria ampliamente utilizada para acelerar aplicaciones a escala de Internet.
Usamos YCSB Benchmark para completar pares clave-valor en una instancia de Redis y realizar operaciones en ellos. Específicamente, la instancia de Redis se inicializa con 10 GB de pares clave-valor con la configuración YCSB predeterminada.
Todas las claves y valores tienen un tamaño de 23 y 100 bytes, respectivamente, y cada clave contiene 10 campos de valores. Después de completar la instancia de Redis, la configuramos para crear instantáneas y luego alimentamos las operaciones de actualización con YCSB.
Para incorporar la localidad temporal en los accesos clave-valor, configuramos la carga de trabajo YCSB para seleccionar claves de destino de acuerdo con la distribución Zip utilizando el valor del parámetro 1.0.
Mientras realizamos 100 GB de actualizaciones, recopilamos el rendimiento de cada segundo del informe de referencia de YCSB. La Figura 7 resume el rendimiento promedio y el uso de memoria de la instancia de Redis cuando el sistema está configurado para usar el CoW o CCoW original. Tenga en cuenta que utilizamos 2 MB para el tamaño de la región y todos los valores de los resultados se normalizaron al de CoW.

En general, todas las configuraciones de CCoW superaron al CoW original, independientemente del umbral de cobertura. Del mismo modo, como analizamos anteriormente, el rendimiento estuvo determinado por la compensación entre la ganancia de rendimiento de la copia en escritura mitigada y los gastos generales de copiar páginas adicionales. Cuando el valor del umbral es alto, sólo se copian unas pocas regiones, lo que hace que tanto la oportunidad de optimización como la sobrecarga de memoria sean pequeñas.
Cuando el valor umbral disminuye por debajo del 85%, la huella de memoria aumenta e incurre en una mayor sobrecarga. Como resultado, el rendimiento promedio de CCoW varía según el umbral de cobertura, pero demuestra una mejora de rendimiento de hasta un 5 % en comparación con el CoW original.
Con la carga de trabajo de Redis y YCSB, observamos solo una mejora marginal del rendimiento con THP. Esto se debe a que, en la carga de trabajo, los accesos de escritura están dispersos por todo el espacio de direcciones del proceso y las páginas grandes se dividen efectivamente en páginas base mientras se maneja CoW.
Como el proceso de Redis sólo puede tener unas pocas páginas grandes, su rendimiento es similar al de la configuración base. Este resultado demuestra que el enfoque basado en THP es menos efectivo en cargas de trabajo de escritura intensiva y CCoW supera a THP.
Para evaluar la precisión del mecanismo en la identificación de regiones de alta localidad, clasificamos el motivo del mecanismo de generación de copias para cada página copiada. Específicamente, recopilamos la proporción de páginas copiadas entre todas las páginas copiadas. Cuando la proporción de precopias es x%, lo que aumenta la huella de memoria total en y%, podemos calcular la proporción de precopias innecesarias dividiendo y por x.
Por ejemplo, en la configuración CCoW-80, se copia el 26,9 % de las páginas copiadas, lo que aumenta el uso de memoria en un 6,7 %. Esto implica que el 24,9% de las páginas precopiadas no están referenciadas. La Tabla 1 resume el cálculo. La proporción de precopias innecesarias oscila entre 23,4% y 35,6% y, a partir del resultado de la evaluación, se puede concluir que el esquema propuesto captura con precisión las regiones de localidades altas.

5. Conclusiones
En este estudio, propusimos CCoW, un esquema de copia en escritura optimizado para cargas de trabajo con alta localidad espacial. CCoW divide el espacio de direcciones del proceso en regiones y estima su localidad con la cobertura.
Una escritura en una región de alta localidad hace que el controlador de error de página copie previamente las páginas cercanas. Para realizar un seguimiento adecuado de la cobertura después de la copia previa, CCoW aprovecha la parte sucia de la tabla de páginas. La evaluación con puntos de referencia confirmó que el esquema propuesto puede identificar regiones de alta localidad con pequeños gastos generales, lo que permite mejorar el rendimiento de las aplicaciones sin modificaciones.
Como mencionamos, el rendimiento cae significativamente justo después de la bifurcación debido a la gran cantidad de datos para copiar. Actualmente estamos trabajando en la gestión del rendimiento, limitando la tasa de precopia y realizando la precopia de forma asincrónica. También estamos planeando incorporar un mecanismo adaptativo que ajuste los parámetros de configuración de acuerdo con las características de la carga de trabajo actual.
Contribuciones de los autores: Conceptualización, MH y S.-HK; metodología, MH; software, MH; validación, MH y S.-HK; análisis formal, MH y S.-HK; investigación, MH y S.-HK; recursos, S.-HK; curación de datos, MH; redacción del borrador original, MH; redacción, revisión y edición, MH y S.-HK; visualización, MH; supervisión, S.-HK; administración de proyectos, S.-HK; adquisición de financiación, S.-HK Todos los autores han leído y aceptado la versión publicada del manuscrito.

Financiamiento: Esta investigación fue apoyada por una subvención del Instituto de Investigación en Electrónica y Telecomunicaciones (ETRI) financiada por el gobierno coreano (20ZS1310) y el programa BK21 FOUR de la Fundación Nacional de Investigación de Corea financiado por el Ministerio de Educación (NRF5199991014091).
Declaración de la Junta de Revisión Institucional: No aplicable.
Declaración de Consentimiento Informado: No aplicable.
Declaración de disponibilidad de datos: No aplicable.
Conflictos de intereses: Los autores declaran no tener ningún conflicto de intereses.
Referencias
1. Gorman, M. Comprensión del Administrador de memoria virtual de Linux; Prentice Hall: Upper Saddle River, Nueva Jersey, EE. UU., 2007.
2. Bovet, DP; Cesati, M. Comprensión del kernel de Linux; O'Reilly: Newton, MA, EE.UU., 2001.
3. Con cariño, R. Desarrollo del kernel de Linux, 3.ª ed.; Addison Wesley: Boston, MA, EE. UU., 2010.
4. Laboratorios, R. Redis. Disponible en línea: https://github.com/redis/redis (consultado el 7 de junio de 2021).
5. Silberschatz, A.; Galvin, PB; Gagne, G. Conceptos de sistemas operativos; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, EE. UU., 2018.
6. Harris, SL; Harris, D. Diseño digital y arquitectura informática; Morgan Kaufmann: Burlington, MA, EE. UU., 2022.
7. Abi-Chahla, F. Intel Core i7 (Nehalem): ¿Arquitectura de AMD? Disponible en línea: https://www.tomshardware.com/reviews/Intel-i7-nehalem-cpu,2041.html (consultado el 18 de octubre de 2021).
8. Pham, B.; Bhattacharjee, A.; Eckert, Y.; Loh, GH Incrementar el alcance de TLB aprovechando la agrupación en las traducciones de páginas. En las actas del vigésimo simposio internacional del IEEE de 2014 sobre arquitectura informática de alto rendimiento (HPCA'14), Orlando, FL, EE. UU., 15 a 19 de febrero de 2014; págs. 558–567.
For more information:1950477648nn@gmail.com






