TÍTULO
“Estudio, Análisis y Modelado de
Memorias Caché Compartidas Bajo Administración Dinámica”
OBJETIVO
Consiste en el estudio del uso
del espacio de la memoria cache de tipo compartida por parte de diferentes
procesos en ejecución simultánea. Se propone una forma de administración dinámica
del espacio de la memoria cache compartida que tiene por objetivo lograr un desempeño
similar de todos los procesos en ejecución administrando el espacio que estos
pueden utilizar en la memoria cache según la cantidad y tipo de desaciertos que
se produzcan en este nivel de la jerarquía utilizando la clasificación D3C.
Para ello se desarrolló una herramienta que permite tanto la captura de
referencias a memoria e instrucciones de distintos procesos en ejecución simultánea,
como también el procesamiento de estas referencias utilizando distintos módulos
tanto para generación de trazas o simulación de jerarquías de memoria cache.
Con este último modulo se obtuvieron los datos para las curvas y conclusiones
sobre la política de administración propuesta.
MARCO TEÓRICO
Las memorias caché de un
procesador se dividen en memorias caché de instrucciones y de datos. Las
primeras, al alojar las instrucciones de las aplicaciones ejecutadas tienen un
comportamiento mas ordenado y predecible respecto de las segundas. Esta
característica da como resultado que las memorias caché de datos tengan un
menor rendimiento respecto de las de instrucciones. Sumada a la característica
anterior, la memoria caché de datos es un recurso muy escaso comparada con la
cantidad disponible de memoria principal. Finalmente, en las arquitecturas que
implementan el último nivel de memoria cache como compartido, se busca
maximizar el uso los de recursos evitando la duplicidad de la información, con
una baja latencia y reduciendo la coherencia en el trabajo de los datos. Las
memorias cache compartidas aportan grandes beneficios al desempeño, ya a que en
el caso extremo de un solo núcleo en ejecución con los demás sin actividad, el
proceso ejecutándose, dispondrá de toda la memoria cache compartida que es de
mayor tamaño que las usadas como privadas para cada núcleo. Aunque, debido a
este mayor tamaño, posee una mayor latencia la cual es propagada a los niveles
superiores de la jerarquía. Por otro lado, la política de reemplazo LRU comúnmente
utilizada en las memorias cache, no distingue entre los diferentes procesos y
su distinta localidad de datos a lo largo de su ejecución, lo cual aumenta la congestión
al aumentar la cantidad de procesos en ejecución simultánea. La ausencia de
aislamiento y administración en el uso del espacio en memoria cache resulta en
una degradación del desempeño de los procesos en ejecución. Estos son los
motivos principales que hacen del análisis del comportamiento en el modo de uso
de la memoria cache de tipo compartida por parte de las aplicaciones, sea de
una remarcada importancia para lograr mejoras en el rendimiento en ambientes de
múltiples procesos en ejecución simultánea.
DESARROLLO
Se optó por el diseño que se
propone a continuación. Este consiste en una Pintor, un Controlador de Procesos
y dos contenedores de mensajes mediante las cuales el Controlador de Procesos y
la Pintool se comunican. El Controlador es responsable por la administración en
la ejecución de cada proceso instrumentado por la Pintool, indicando cuando
puede seguir su ejecución; previo registro del proceso.
Con este diseño de Controlador -
AutoRegistro el ambiente es capaz de analizar cada instrucción y referencia a
memoria de datos de múltiples procesos en ejecución simultánea, evitando los
problemas asociados a la concurrencia de estos. También se aísla la captura de información
del análisis que se les realiza, dando la posibilidad de procesar la información
en módulos independientes vinculados al Controlador de Procesos.
CONCLUSIÓN
Esta tesis estuvo orientada al
mejoramiento del uso del espacio de la memoria cache de tipo compartida por
parte de diferentes procesos en ejecución simultánea y a la optimización de
recursos y organización de los espacios de la memoria, y mejorar el rendimiento
de la memoria de cache de datos y mejoras en el rendimiento en ambientes de múltiples
procesos en ejecución simultánea. La investigación se realizó con procedimientos
estrictos.
REFERENCIA
http://materias.fi.uba.ar/7500/
No hay comentarios:
Publicar un comentario