Kkkk

Páginas: 6 (1377 palabras) Publicado: 27 de mayo de 2010
ASP1. 4º INGENIERÍA INFORMÁTICA. JERARQUÍA DE MEMORIA DE UN SISTEMA REAL. PRIMER CASO PRÁCTICO (CP1): PRIMER HITO.
OBJETIVOS. En este caso práctico se pretende descubrir la influencia de algunas características de una jerarquía de memoria (organización, tamaño de algunos niveles, etc.) y de evaluar el comportamiento de los primeros niveles de caché, ejecutando el núcleo de un programa real(“kernel” de un “benchmark” o programa de evaluación). Se descubrirá como el conocimiento profundo de la estructura y funcionamiento de un caché permitirá descubrir el comportamiento del sistema de memoria, interpretar los resultados de tiempo, elegir una buena estructura de datos y del código y, así finalmente, poder acelerar una aplicación. ENUNCIADO PRIMER HITO. En muchos programas científicos sesuelen dar las condiciones iniciales de una superficie de algún sistema y estudiar en función de una ley física simple, como evoluciona el mismo hacia el equilibrio. Por ejemplo, esto sucede en la transmisión del calor. Suponemos una chapa cuya parte inferior está en contacto con una fuente a 0ºC durante mucho tiempo, de forma que toda ella adquiere tal temperatura. Pero en cierto instante to su partesuperior entra en contacto con una fuente de calor que está a 127 ºC (ver figura). En función de la conductividad del material, la temperatura ambiente, los efectos de borde (temperatura de las partes izquierda y derecha), etc., el problema físico puede ser complejo, pero el núcleo de las ecuaciones iterativas es similar a lo siguiente: se divide la superficie en un número de celdillas (que serámayor, cuanta más precisión se requiera) y se ejecuta un proceso iterativo donde en cada iteración se representa un instante de tiempo. La transmisión del calor se ha de hacer de arriba (foco caliente) hacia abajo (foco frío), de manera que poco a poco el calor va alcanzando las zonas inferiores de la chapa.
128ºC 32 columnas Recorrido 2º

Flujo de calor

Celdillas

f i l a s

1ºCeldillas

0ºC

Para resolver este problema de una forma eficiente, se estudian varias formas de escribir el algoritmo y se pretende analizar la relación entre el número de celdillas y el tiempo de cómputo, para una máquina con al menos dos niveles de caché (lo habitual en cualquier PC, servidor o estación de trabajo actual). Se elige el lenguaje C (o C++) por lo eficiente que es y la relación tandirecta que hay entre sus estructuras de datos y el código ensamblador generado por el compilador. En una primera versión, el programa se escribe con las siguientes características: ? Se elige una matriz de 32 columnas por un número variable de filas NUM_FILAS (ver figura) de ? variables reales de doble precisión (tipo double), toda ella inicializada a 0.0 excepto la primera fila, que está a127.0. ? Se simplifica el problema de transmisión del calor, asignando en cada iteración a cada celda simplemente ? la media aritmética de sus celdas superior e inferior (se desprecian los efectos de borde). ? En esta primera versión, dado que el problema físico se transmite de arriba hacia abajo el programador ? recorre las celdas también de arriba hacia abajo (y cuando se llega a la fila inferior secambia de columna, en el orden de izquierda a derecha). Así se define el “patrón de accesos” a la matriz. ? Se activan todas las optimizaciones de velocidad del compilador. ? ? Se ejecutan N iteraciones, donde N debe ser mayor o igual que 16 y además suficientemente grande para ? que el tiempo sea mensurable (las N iteraciones duren bastante más que la precisión del reloj usado). ? Se mide eltiempo usando algún reloj del sistema operativo que tenga precisión inferior a 0.1 s. ? Tras probar el programa para pocas filas, descubren que es bastante rápido (menos de 10 de ns por cada celda e iteración en un PC moderno). Es decir, el tiempo por cada cómputo de una celda es similar a lo que se tarda en acceder a las cachés, evitando el lentísimo acceso a memoria. Entonces deciden aumentar el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Kkkk
  • kkkk
  • kkkk
  • kkkk
  • Kkkk
  • Kkkk
  • KKKK
  • Kkkk

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS