Publicado el 16 de Abril del 2017
6.849 visualizaciones desde el 16 de Abril del 2017
1,8 MB
74 paginas
Creado hace 10a (16/12/2014)
Introducción
Las preguntas incluidas en este folleto han sido preparadas como guía y ejemplo del tipo de
preguntas que se utilizarán en el examen complexivo. Se ha tratado de colocar una
explicación con algunas respuetas. Debido a la limitación de tiempo y premura para publicar
este material lo más pronto posible, esta explicación no se ha podido incluir para todas las
preguntas. Sin embargo, se puede consultar los textos guías (y otros textos relacionados)
para mayor información.
IMPORTANTE: No nos es posible atender preguntas y dudas individuales con respecto al
material de preparación para el examen complexivo. Se espera que egresados y
profesionales sean autosuficientes en su proceso de preparación.
Área de Hardware y Software
Nota: Las preguntas de esta área se han dividido en preguntas de Hardware, preguntas de
Software, y preguntas de Redes de Datos. El examen complexivo del área de Hardware y
Softare contendrá preguntas de estas tres áreas.
Hardware
Preguntas para las secciones:
● Jerarquía de memorias
● Memoria cache
● Memoria virtual
Caso 1
Uno de los modelos Core i7 de Intel con las siguientes características:
● Frecuencia base de reloj 2.66 GHz
● Set de instrucciones de 64 bits
● 4 cores + Hyperthreading
● controlador de memoria externa DDR3
● 8 MB L3 cache
● 4 x 256 KB L2 cache
● 4 x 32 KB L1 cache
es usado en un computador en conjunto con una memoria de 4GB DDR31600. Se desea
evaluar el rendimiento de un programa X en esta configuración procesador memoria.
1) ¿Como puede la jerarquía de caches L1,L2,L3 ayudar a mejorar el rendimiento del
programa X?
a) Un programa puede almacenar información temporal dentro de los caches
para poder accederla en tiempo posterior de una manera rápida y eficiente. El
programa puede elegir el cache (L1,L2 o L3) de acuerdo al tipo de datos que
desee almacenar.
b) Los caches permiten la ejecución especializada de instrucciones, en el caso
del i7, el cache L1 permite ejecutar operaciones de punto flotante, L2 acceso a
memoria y L3 gestión de interrupciones.
c) El procesador almacena automáticamente en los caches L1,L2 y L3 los
bloques de datos más referenciados por el programa. De esta forma, el
programa no necesita acceder a la memoria externa cada vez que necesite
manipular estos datos.
Los caches sirven de buffer de entrada/salida para la comunicación con
periféricos. De esta forma, el programa no necesita manipular directamente la
comunicación entrada/salida con dispositivos externos.
d)
2) Al evaluar el rendimiento del programa X, se observa que tiene una tasa de fallos del
2% con respecto al cache L1. ¿Que significa esto?
a) El 2% de referencias a memoria no son encontradas en L1.
b) El 2% de los datos almacenados en L1 evidencian algún tipo de corrupción.
c) La velocidad de acceso a L1 es 2% inferior a L2.
d) La velocidad de acceso a L1 es 2% inferior a L3.
3) El procesador permite a un programa configurar la política de escritura en memoria y
ofrece dos opciones: "writethrough" y "writeback". Seleccione la afirmación correcta.
a) Se selecciona "write through" si la mayoría de las operaciones del programa
son de punto flotante.
b) Se selecciona "writethrough" cuando la integridad de los datos es un factor
secundario y de menor consideración que el rendimiento.
c) Se selecciona "writeback" cuando el programa requiere confirmación de
escritura a memoria.
d) Se selecciona "writeback" cuando un programa realiza de manera intensiva
operaciones de escritura en memoria.
4) El cache de nivel L3 esta integrado dentro del microprocesador i7 (onchip). Otros
modelos de microprocesadores usan un cache de nivel L3 externo (offchip). Existe un
compromiso entre el uso de un cache interno/integrado y externo. ¿Cuál es?
a) La comunicación cache externo memoria externa es más rápida, pero un
cache externo tiene un mayor costo por bit.
b) El cache externo tiene un menor costo por bit por lo tanto puede tener más
capacidad, pero la comunicación cache externo microprocesador es más
lenta.
c) El cache externo es mejor siempre al interno, es más rápido y tiene mayor
capacidad, pero un microprocesador con cache externo es siempre más caro.
d) El cache interno es usado solamente en sistemas multicore como el i7, debido
a que necesita ser compartido por todos los cores.
5) Al analizar el programa X, se observa que la localidad espacial de sus algoritmos no
esta optimizada, ¿como afecta esto al rendimiento del programa?
a) La tasa de fallos con respecto a todos los caches es relativamente alta.
b) La velocidad de acceso al cache L1 disminuye.
c) El número de accesos a la memoria externa disminuye.
d) Aumenta la probabilidad de desbordamiento de todos los caches.
6) Al analizar el programa X, se observa que la localidad temporal de sus algoritmos no
esta optimizada, ¿como afecta esto al rendimiento del programa?
a) La tasa de fallos con respecto a todos los caches es relativamente alta.
b) La velocidad de acceso al cache L1 disminuye.
c) El número de accesos a la memoria externa disminuye.
d) Aumenta la probabilidad de desbordamiento de todos los caches.
Respuestas:
1.
2.
3.
4.
5.
6.
(c)
(a)
(d)
(b)
(a)
(a)
Caso 2
Se tiene un programa X que tiene serios problemas de rendimiento al ser ejecutado en un
computador con las siguientes características:
● Procesador:
○ Set de instrucciones de 32 bits
○ Frecuencia base de reloj 2.66 GHz
○ Dual core
○ 2x16 KB L1 cache
○ 128 KB L2 cache
○ TLB de 32 entradas
○ Soporta paginación de 4 KB, 16 KB y 64 KB
● Memoria externa: 2 GB DDR2
● Disco duro 500 GB 5400 rpm.
El sistema operativo y el procesador soportan el uso de memoria virtual. En este contexto, se
observa que el programa causa “thrashing”, es decir intercambia páginas de datos
constantemente entre memoria externa y el disco duro.
7) ¿Qué cambio en el hardware resolvería de manera directa el problema de “thrashing”
causado por el programa X?
a) Cambiar el procesador por otro con una frecuencia base de reloj más alta. Esto
permitiría que los algoritmos en el programa X sean ejecutados más rápido,
evitando la necesidad de intercambiar páginas entre memoria y disco duro.
b) Aumentar el tamaño de la memoria externa. Esto permitiría que el programa X
incurra en menos fallas de paginación.
c) Cambiar el disco duro por otro con mayor capacidad. Esto permitiría poder
almacenar más páginas en el disco duro, evitando así, tener que cargarlas en
memoria.
d) Cambiar el disco duro por otro con mayor velocidad (por ejemplo 7200 rpm).
Esto permitiría poder transferir más rápido las páginas entre memoria externa y
disco duro.
8) Asumiendo que no es posible, o no se desea, alterar la configuración de hardware.
¿Que optimizaciones se pueden hacer al programa X para mitigar el problema de
“thrashing”?
a) Optimizar X de tal forma que el tamaño de su ejecutable sea más pequeño. De
esta forma X ocuparía menos espacio en memoria, disminuyendo así la tasa
de fallas de paginación.
b) Optimizar la localidad espacial de los algoritmos usados por X, disminuyendo
así la tasa de fallas de paginación.
c) Optimizar o modificar los algoritmos usados por X de tal forma que sean más
paralelizables. De esta forma, X puede usar de manera más eficiente los dos
cores del procesador, disminuyendo así la tasa de fallas de paginación.
d) Reescribir X de tal forma que tenga acceso directo a los caches L1 y L2, de
esta forma se evitaría el uso excesivo de la memoria externa, disminuyendo
así la tasa de fallas de paginación.
9) Se observa además, que el programa X incurre en una alta tasa de fallos de TLB.
¿Qué puede hacer el sistema operativo para disminuir la tasa de fallos de TLB de X?
a) Ejecutar X en modo supervisor, de esta forma X tendría control sobre las
políticas de paginación reduciendo así la tasa de fallos de TLB.
b) Asignar más memoria virtual a X, de esta forma X tendría más recursos de
memoria a su disposición reduciendo así la tasa de fallos de TLB.
c) Asignar un mayor número de entradas de TLB a X, reduciendo así la tasa de
d) Aumentar el tamaño de paginación usado por X, reduciendo así la tasa de
fallos de TLB.
fallos de TLB.
10) Al mitigar el problema de “thrashing”, se observó que el rendimiento de X mejoró en
más de un 700%. ¿Por qué “thrashing” tiene un efecto tan negativo en el rendimiento
de X?
a)
“Thrashing” implica una tasa muy alta de acceso a la memoria externa. El
acceso a la memoria externa es varios órdenes de magnitud más lento que el
acceso a los caches.
“Thrashing” implica una tasa muy alta de acceso al disco duro. Cada acceso al
disco duro tiene una duración de millones de ciclos de reloj del procesador.
“Thrashing” implica una tasa muy alta de acceso al TLB. Esto causa frecuentes
desbordamientos del TLB.
“Thrashing” implica una tasa muy alta de acceso a los caches. Esto causa
frecuentes desbordamientos de los caches.
b)
c)
d)
Respuestas:
(b)
7.
(b)
8.
9.
(d)
10. (b)
Caso 3
Los procesadores modernos utilizan un esquema de múltiples ciclos para la ruta de ejecución
de sus instrucciones (pipelining). Mientras un procesador ARM utiliza una arquitectura RISC;
un procesador i7 tiene una arquitectura CISC. A pesar de ser de ISA diferentes ambos
procesadores contienen en su interior diferentes niveles de memoria caché. Cada nivel de
memoria caché tiene una estructura diferente y tamaño diferente debido a su uso dentro de la
ejecución de las instrucciones.
Conteste a las siguientes preguntas:
1. Cuál o cuáles de las siguientes proposiciones son verdaderas con respecto a la memoria
de caché de nivel 1 (L1 cache)?
a. Es generalmente de mayor tamaño a la memoria caché
Comentarios de: banco preguntas computacion (2)