Spanish
¿Cómo Tiene La Capacidad De Resolver El Modelo De Almacenamiento Distribuido De Núcleo Plano?

¿Cómo Tiene La Capacidad De Resolver El Modelo De Almacenamiento Distribuido De Núcleo Plano?

¡Ya no hay necesidad de sufrir problemas con la PC! Con Reimage, puede reparar fácil y rápidamente los errores comunes de Windows y optimizar su sistema para obtener el máximo rendimiento.

¿Sabías que…?

LWN.net se ha convertido en una publicación por suscripción; Realmente confío en los suscriptores. solo para hacer que la operación completa en particular funcione. Por favor ayude comprando un LWN recurrente y ahorrador a redes.

La memoria corpórea de un sistema informático se considera un recurso útil.Se han hecho muchos grupos para tratarlo adecuadamente. Esta tarea está encomendadaTodo esto específico se complica por la complejidad dentro del diseño de memoria en el mercado actual.sistemas Habrá variosCapas de abstracción que se ocupan de los toques de memoria más importantes.plantado físicamente; Uno de los asociados con ellos puede llamarse fácilmente un buen “modelo de memoria”. un poco lejosLos modelos están respaldados en el núcleo principal, pero una persona de ellos está en desarrollo.fuera de. Como una forma absoluta de entender este valioso cambio, este informeEche un vistazo más de cerca a la evolución de los modelos de RAM de kernel antiguos y sensatos,su fase actual y resultados futuros.

SITIO

capacidad del kernel para recordar el modelo plano escaso

En los primeros días de Linux, el espacio en disco se volvió plano: era una progresión natural en línea recta.con direcciones físicas que comienzan y terminan solo con cerohasta varios megabytes. Cada marco de página física tenía un frente en el núcleo.Matriz mem_map que contiene una brillante hora sin firmaruna notación breve para cada página, midiendo el número de accesos directos a qué páginatenido. Sin embargo, pronto también se incluyó el archivo de datos mem_map.edad además de contadores sucios para controlar el uso compartido. Vlinux1.3.50 Elementos como mem_map terminaron llamándose structpágina.

Una tarjeta de refuerzo plana suele ser fácil de hacer y rápida de comprar con éxito para cambiar entrenúmero de marco de metal de página física (PFN) como una estructura similarpágina; Calcular el índice de mezcla llegó a ser muy simple.Se han realizado cambios en la plantilla Página de estructura para volver a alinearla.uso (por ejemplo, caché de página) y finalmente optimizar el rendimiento del cachéacceda a la página de estructura. La tarjeta de memoria permaneció en todos los tableros planos.Era limpio pero muy eficaz, pero tenía un gran inconveniente: no podíamanejar bien los agujeros en las direcciones geográficas. vAparecerá el plano de memoria Parteach que coincida con el agujero para asegurarse de que se desperdicie.o, como con ARM, cualquier tarjeta de memoria también sufrirá agujeros.

DESACTIVAR

modelo de memoria kernel simple y disperso

Admite una gestión eficiente con indicación de la mayoría de los datos físicos discontinuos.La memoria se mostró en el subsistema de gestión de memoria hasta 2007.parteUn esfuerzo para hacer que Linux funcione bien en las máquinas NUMA. Estas reglas dependían deCONFIG_DISCONTIGMEM en la opción de compilación, es decir, la primera memoriaLa plantilla con un nombre de dominio era DISCONTIGMEM.

En el modelo descontigmam, se introduce todo el concepto de un nodo de espacio de almacenamiento significativo,Esta sigue siendo la base detrás de la gestión de memoria NUMA. Cada nodo contieneun subsistema de empleador de memoria libre de dependencia (bueno, en su mayoría), combinado con su propioListas de sitios totalmente gratuitos, lista de contactos del sitio web en línea en uso, último uso (LRU) y también información de usoEstadísticas. Entre todos los productos, están representados por su propio nodo de consejos.struct pglist_data (o pg_data_t abreviado) contienemapeo de memoria de varios nodos. Suponga que cada nodo funciona como una repetición físicamemoria, la presencia similar a una matriz, asociada con la estructura Pages para cada nodo resuelve su problema actual.El problema proviene de todos los tremendos agujeros en la tarjeta de juego de memoria plana.

Pero no viene absolutamente. Con descontigmam es necesariopara verificar qué nodo tiene un formulario comprometido en la memoria para convertir PFN apágina de estructura vinculada, por ejemploEjemplo. tu tambien sabriasqué mapa de bahía de nodos comprende el mapa de página de estructura ubicado en suPFN. Tras una importante evolución, partiendo acompañada del urbanismo mips64, que defineKVADDR_TO_NID(), LOCAL_MAP_BASE(),Macros ADDR_TO_MAPBASE() y LOCAL_BASE_ADDR() para agregarPrimero, su transformación también es revertida por PFN a la página de estructura.versa fue empujado por el relativamente simple ypage_to_pfn() Macros pfn_to_page() observadas en include/asm-generic/memory_model.h.

Sin embargo,

DISCONTIGMEM proporciona una debilidad obvia: el intercambio en caliente de memoria también es caliente.Extinguir. La granularidad real del nodo NUMA era demasiado gruesa para una conexión en caliente adecuada.soporte, simplemente dividir un nodo causaría una gran cantidad de problemas innecesariosfragmentación y más. Recuerde que cada nodo tiene una memoria de uso independienteEstructura de gestión con todo vinculado a los costos; separar aún más los nodosamplificar significativamente estos costos.

SPARSEMEM

Este límite se pagó debido al lanzamientoSPARSEMEM. Esto hace que la tarjeta de espacio de almacenamiento se parezca a cualquier libro de documentos.Secciones de todos los tamaños están pintadas entre la arquitectura. Cada secciónsignifica estructura mem_section, es (como se describe indiscutiblemente en el código): “boolean,Puntero a los sitios web exclusivos de la estructura de la tabla. Sin embargo, el programa se graba con algunos otrosMagia”. La imagen en estas secciones debe ser un mapa de meta-memoria que puedemuy agradable para hackear Granularity section_size. Por eficienciaConversión entre PFN y página, estructura una especie de bits altosSe tropezó con PFN para indexar una variedad de artículos. Por otra direcciónEl área de la sección ha sido codificada en la página web de las banderas del sitio.

Unos meses después de que se empleó en el kernel de Linux,SPARSEMEM fue recolectado con SPARSEMEM_EXTREME que segundoadecuado para dietas y simplemente con espacio particularmente limitado.SPARSEMEM_EXTREME agregó una segunda dimensión absoluta a la matriz con respecto a las seccionese hizo este sistema, bueno, adelgazamiento. Con ESPARSEMEM_EXTREMOLos punteros a las estructuras mem_section comenzaron el primer nivel, luego realmem_section había sido dinámicamente específico basado en objetos enormestienda compleja poblada.

Alrededor de 2007, se agregó otro refinamiento de SPARSEMEM; erallamado