Está en la página 1de 6

Sermón 4:

Construcción de
sistemas eficientes

Sistemas Operativos I
Sintonizar el rendimiento

• Tenemos dos opciones:


❶ Hacer cada línea de código tan
rápida como sea posible. Lleva
mucho tiempo, y podemos
sintonizar cosas que no son
importantes.
❷ Sintonizar selectivamente. Esto es
lo que vamos a defender.

03/04/09 Sistemas Operativos I


Observaciones
• Son solo unos pocos los lugares donde
el rendimiento es importante. Regla
90/10: el 90% del tiempo se emplear
en un 10% del código.
• Es difícil predecir los problemas de
rendimiento por adelantado.
• La sintonización consume tiempo y
hace al sistema más complicado.
• La mayor ganancia es pasar de un
sistema que no funciona o uno que si
funciona.
03/04/09 Sistemas Operativos I
¿Qué partes importan?
• Medir sistemas existentes - ver como se
utiliza un sistema existente, ver donde están
los cuellos de botella.
• Modelar - revisar los cálculos involucrados
(ej. 100 hebras con una pila de 8Kb cada
uno, demasiada memoria desperdiciada en
OS/2)
• Simular algoritmos - para evaluar enfoques
de un sistema de archivos, utiliza un
simulador sobre trazas medidas, no el
sistema real.
03/04/09 Sistemas Operativos I
¿Qué partes importan? (ii)
• Sintonizar
– Construir un sistema simple.
– Ejecutarlo y medirlo.
– Tratar de sintonizar los cuellos de
botella.
• Ir de arriba-abajo. De todo lo visto,
podre-mos medir, modelar, simular,
construir cualquier cosa, pero aplicar
la regla 90/10 - obtener el 90% de la
información necesaria con el 10% de
esfuerzo.
03/04/09 Sistemas Operativos I
Conclusión

Si no huele, no lo remuevas.

Referencia:
Tom Anderson, “Building High-Performace Systems”,
enhttp://http.cs.berkeley.edu/~tea/cs162sp96/

03/04/09 Sistemas Operativos I