You are on page 1of 8

Introduccin

Las entradaslsalidas han sido el hurfano de la arquitectura de computadores. Histricamente despreciadas por los entusiastas de la CPU, el prejuicio contra las E/S se institucionaliza en las medidas de rendimiento ms ampliamente utilizadas, el tiempo de CPU. Si un computador tiene el mejor o el peor sistema de E/S en el mundo no se puede medir por el tiempo de CPU, que por definicin ignora las E/S. El ciudadano de segunda clase que son las E/S es incluso aparente en la etiqueta perifrico aplicada a los dispositivos de E/S. Esta actitud se contradice por sentido comn. Un computador sin dispositivos de E/S es como un automvil sin ruedas -no se puede ir muy lejos sin ellas-. Y aunque el tiempo de CPU es interesante, el tiempo de respuesta -el tiempo desde que el usuario escribe una orden hasta que obtiene los resultados- es seguramente una mejor medida del rendimiento. El cliente que paga un computador se preocupa por el tiempo de respuesta, aun cuando el disenador de CPU no lo haga. Finalmente, como las rpidas mejoras en el rendimiento de CPU acercan las tradicionales familias o clases de computadores, son las E/S las que sirven para distinguirlos:
i La

diferencia entre un computador grande y un minicomputador es que, un computador grande, puede soportar muchos ms terminales y discos. diferencia entre un minicomputador y una estacin de trabajo es que, una estacin de trabajo, tiene pantalla, teclado y ratn.

iLa

538

ARQUITECTURA DE COMPUTADORES
iLa

diferencia entre un servidor de ficheros y una estacin de trabajo es que el servidor de ficheros tiene discos y unidades de cinta pero no pantalla, teclado ni ratn. diferencia entre una estacin de trabajo y un computador personal es que las estaciones de trabajo estn siempre conectadas entre ellas por medio de una red.

iLa

Puede llegar a ocurrir que los computadores desde las estaciones de trabajo de altas prestaciones a los supercomputadores de bajas prestaciones utilicen los mismos super-microprocesadores. Las diferencias en coste y rendimiento estaran determinadas solamente por los sistemas de memoria y de E/S (y el nmero de procesadores). La venganza de las E/S est cerca. Suponer que tenemos una diferencia entre el tiempo de CPU y el tiempo de respuesta de un 10 por 100, y aceleramos la CPU en un factor de 10, mientras que despreciamos las E/S. La Ley de Amdahl nos dice que podemos obtener una aceleracin de slo 5 veces mayor, malgastando la mitad del potencial de CPU. Aniogamente, haciendo la CPU 100 veces ms rpida sin mejorar las E/S se obtendra una aceleracin 10 veces mayor, malgastando el 90 por 100 del potencial. Si, como se predijo en el Captulo 1, el rendimiento de las CPU mejora del 50 al 100 por 100 por ao, y las E/S no mejoran, cada tarea estar limitada por las E/S. No habr razn para comprar CPU ms rpidas -y no habra trabajos para los diseadores de CPU. Aunque este simple captulo no pueda reivindicar completamente las E/$ como mnimo puede expiar algunos de los pecados del pasado y restablecer un cierto equilibrio.

Estn siempre inactivas las CPU?

Algunos sugieren que el prejuicio est bien fundamentado. La velocidad de E/ S no importa, arguyen, ya que siempre hay un proceso para ejecutar mientras otro est esperando un perifrico. Hay varios puntos para replicar esto. Primero, este es un argumento que mide el rendimiento como productividad -ms tareas por hora- en lugar de como tiempo de respuesta. Evidentemente, si los usuarios no hubiesen cuidado el tiempo de respuesta, el software interactivo nunca se habra inventado y no habra estaciones de trabajo hoy da. (La seccin siguiente da evidencia experimental de la importancia del tiempo de respuesta.) Tambin puede ser caro confiar en procesos mientras estn esperando las E/S, ya que la memoria principal debe ser mayor o el trfico de paginacin por la conmutacin de procesos realmente incrementara las E/S. Adems, con los computadores de despacho slo hay una persona por CPU y, por tanto, menos procesos que en tiempo compartido: muchas veces el nico proceso que espera es el ser humano! Y algunas aplicaciones, tales como tratamiento de transacciones (Seccin 9.3), ponen lmites estrictos en el tiempo de respuesta, como parte del anlisis de rendimiento. Pero aceptemos el argumento y explormoslo. Suponer que la diferencia

entre el tiempo de respuesta y el tiempo de CPU es del 10 por 100, y que una CPU que es diez veces ms rpida puede conseguirse sin cambiar el rendimiento de E/S. Un proceso entonces emplear el 50 por 100 de su tiempo esperando las E/S, y dos procesos tendrn que estar perfectamente alineados para evitar paradas de la CPU mientras estn esperando las E/S. Cualquier mejora adicional de la CPU slo incrementar el tiempo de inactividad de la CPU. Por tanto, la productividad (throughput) de las E/S puede limitar la productividad del sistema, de la misma forma que el tiempo de respuesta de la E/ S limita el tiempo de respuesta del sistema. Veamos cmo predecir el rendimiento del sistema completo.

9.2

1 Prediccin del rendimiento del sistema


El rendimiento del sistema est limitado por la parte ms lenta del camino entre la CPU y los dispositivos de E/S. El rendimiento de un sistema puede estar limitado por la velocidad de cualquiera de estas partes del camino, mostrados en la Figura 9.1: CPU Memoria cache Memoria principal Memoria: bus de E/S

Interrupciones

F'
Cache Memoria principal Controlador de E/S Controlador Controlador Salida de

FIGURA 9.1 Coleccin tpica de dispositivos de E/S en un computador.

540

ARQUITECTURA DE COMPUTADORES

m Controlador de E/S o canal de E/S

m Dispositivo de E/S m Velocidad del software de E/S m Eficiencia del uso del software de los dispositivos de E/S
Si el sistema no est equilibrado, el elevado rendimiento de algunos componentes puede perderse debido al bajo rendimiento de un eslabn de la cadena. El arte del diseo de E/S es configurar un sistema tal que la velocidad de todos los componentes sea la misma. En los captulos anteriores hemos asumido que tener CPU ms rpidas era el nico objeto de nuestro deseo, pero el rendimiento de CPU no es lo mismo que el rendimiento del sistema. Por ejemplo, supongamos que tenemos dos cargas de trabajo, A y B. Ambas cargas tardan diez segundos en ejecutarse. La carga de trabajo A lo hace con pocas E/S que no son dignas de mencin. La carga de trabajo B mantiene los dispositivos de E/S ocupados cuatro segundos, y este tiempo se solapa completamente con actividades de la CPU. Suponer que la CPU se sustituye por un nuevo modelo cuyo rendimiento es cinco veces mayor. Intuitivamente, comprendemos que la carga de trabajo A tarda dos segundos -cinco veces ms rpido- pero la carga de trabajo B est limitada por las E/S y no puede tardar menos de cuatro segundos. La Figura 9.2 ilustra nuestra intuicin. Para determinar el rendimiento de estos casos se requiere una nueva frmula. El tiempo transcurrido (elapsed time) en la ejecucin de una carga de trabajo puede descomponerse en tres partes

donde Tiempoo, significa el tiempo que la CPU est ocupada, tiempo^,^ sigsignifica el tiempo que est ocupado el sistema de E/S y nifica el tiempo que la CPU y el sistema de E/S estn ambos ocupados. Utilizando, como ejemplo, la carga de trabajo B con la antigua CPU de la Figura 9.2, los tiempos en segundos son:

10 para Tiempocpu,
4 para TiempoEls y

Suponiendo que slo mejoramos la CPU, una forma de calcular el tiempo para ejecutar la carga de trabajo es: Tiempocarga de trabajo = Tiempocpu + TiempoEjs - Tiemposolapamiento mejoracp~ mejoracpu

Antigua CPU. carga de traba10A Antigua CPU. carga de trabalo B Nueva CPU. carga de trabajo A

Tiempo de E/S

Nueva CPU. carga de trabalo B

Tlemw de E/S Tiempo de CPU

5
Tiempo (S)

FIGURA 9.2 La ejecucin solapada de las dos cargas de trabajo en la CPU original y despus en una CPU cinco veces ms rpida. Podemos ver que el tiempo transcurrido para la carga de trabajo A es 1/5 del tiempo con la nueva CPU, pero est limitado a cuatro segundos en la carga de trabajo B debido a que no se mejora la velocidad de E/S.

Como el tiempo de CPU disminuye, tambin disminuye el tiempo de solapamiento. La aceleracin del sistema cuando queremos mejorar E/S es equivalente:

Tratemos un ejemplo antes de explicar una limitacin de estas frmulas. Una carga de trabajo emplea 50 segundos en ejecutarse, estando la CPU ocupada 30 segundos y la E/S 30 segundos. Cunto tiempo tardar en ejecutarse la carga de trabajo si se sustituye la CPU por otra que cuadruplique el rendimiento? El tiempo de total transcurrido es de 50 segundos, y la suma del tiempo de CPU y de E/S es 60 segundos. Por tanto, el tiempo de solapamiento debe ser 10 segundos. Acudiendo a la frmula anterior:

Este ejemplo descubre un problema con esta frmula: qu parte del tiempo que la carga de trabajo est ocupada en la CPU ms rpida se solapa

542

AROUITECTURA DE COMPUTADORES

con la E/S? La Figura 9.3 muestra tres opciones. Dependiendo del solapamiento resultante despus de mejorar la CPU, el tiempo para la carga de trabajo vana de 30 a 3 7 3 segundos. En realidad no podemos conocer lo que es correcto, sin medir la carga de trabajo en la CPU ms rpida, para ver qu solapamiento existe. Las frmulas anteriores suponen la opcin (c) de la Figura 9.3; el solapamiento se escala a la misma velocidad que la CPU; por tanto, lo llamaremos Tiemp~,,,,~,~~ (en El mximo solapamiento supone que se manlugar de Tiempo,,,,, de trabajo). tiene tanto solapamiento como sea posible, pero el nuevo solapamiento no puede ser mayor que el solapamiento original o el tiempo de CPU despus de mejorarla. El mnimo solapamiento supone que se elimina el mayor solapamiento posible, pero que el tiempo de solapamiento no disminuir ms del tiempo eliminado de CPU o de E/S. Si introducimos las abreviaturas Nuevocpu = Tiempocpu/mejoracpuy Nuevo,, = TiempoEls/mejoraEls, el tiempo de la carga de trabajo para mximo solapamiento (Tiempomejo,) y mnimo solapamiento (Tiempo,,,,) puede escribirse como: Tiempomejo, = Nuevocpu + TiempoEl, -

Mnimo ( T i e m p ~ , l , , , ~ i ~ ~ ~ ~ , N ~ e ~ ~ c p v )
=

Tiempo,,,
-

Nuevocpu + Tiempo~~s -

M~im0(0,Tiemp0~,~ -, (Tiempocpu ,~~~~~~~ Nuevocpu))

(a)Antes (50 S)

(b) Despus: solapa miento mxlmou (30 S)

(c) Despus: solapam miento escalador (35 S)

(d) Despus: solapam miento minimou (37.5 S)

Tiempo,,,

Tiempo,,

117

Tiempo,,,

~lempo~,,

FIGURA 9.3 El solapamiento original en el ejemplo anterior (a) y tres interpretaciones del solapamiento despus de mejorar la CPU. Cada bloque representa diez segundos, excepto el bloque de la nueva CPU que es de 7.5 segundos. y Tiempo,,, estn sombreadas. (b) Muestra el Las partes solapadas de Tiempo,,, nuevo solapamiento del Tiempowu completamente con E/S, dando un tiempo de carga de trabajo de treinta segundos. (c) Muestra el solapamiento del Tiempo,,, escalado con Velocidad,,,, dando un total de treinta y cinco segundos, con 2.5 segundos de ejecucin solapada. (d) Muestra no solapamiento con E/S; as, el total es 37.5 segundos.

Calcular las tres predicciones de tiempo para la carga de trabajo B de la 10 = -+ 4 Tiempomejo, 5

Respuesta

Mnimo

+4 -2 =4

A veces,los cambios se harn en la CPU y en el sistema de E/S. Las frmulas se convierten en:

Tiempo,,,,

= Nuevocpu

+ NuevoElS- M ~ ( O , T i e m p ~ , ,~~~~~,

La frmula para el solapamiento escalado indica que el perodo de solapamiento se reduce por la mayor de las dos velocidades mejoradas. La frmula para el solapamiento mximo (Tiempo,,,,,) indica que se retiene tanto solapamiento como es posible, pero que el nuevo solapamiento no puede ser mayor que el solapamiento original o el tiempo de CPU o de E/S despus de las mejoras. Finalmente, la frmula para el solapamiento mnimo (Tiempo,,,) dice que el solapamiento se reduce por el mayor de los tiempos cambiados del tiempo de CPU y del tiempo de E/S (pero el tiempo de solapamiento no puede ser menor que 0). La Figura 9.4 muestra los tres ejemplos de aceleracin donde se mejoran la E/S y CPU. Veamos un ejemplo detallado cuando se mejoran la velocidad de la CPU y de la E/S. Supongamos que una carga de trabajo en los sistemas actuales tarda 64 segundos. La CPU est ocupada el tiempo completo, y los canales que conectan los dispositivos de E/S a la CPU estn ocupados 36 segundos. El gestor del computador est considerando dos opciones de modernizacin: bien una sola CPU que tenga el doble de rendimiento, o dos CPU que tengan doble productividad y el doble nmero de canales. El tiempo de los dispositivos reales de E/S es tan pequeo que se puede ignorar. Para la opcin de doble CPU suponer que la carga de trabajo se puede dividir uniformemente entre las CPU y los canales. Cul es la mejora de rendimiento para cada opcin?

Ejemplo

544

ARQUITECTURA DE COMPUTADORES

Respuesta

Como no hay cambio en el sistema de E/S con la CPU ms rpida, el tiempo para la carga de trabajo, suponiendo el solapamiento escalado, es sencillamente

Para la doble CPU con ms canales,

Suponiendo solapamiento escalado, la doble CPU es ms del 50 por 100 ms rpida. Usando el escalamiento en el mejor caso, la doble CPU es el 13 por 100 ms rpida, mientras que el escalamiento en el peor caso, sugiere que es el 39 por 100 ms rpida. Como demuestran estos ejemplos, necesitamos mejorar en el rendimiento de E/S para igualar las mejoras en el rendimiento de la CPU si pretendemos conseguir sistemas de computadores ms rpidos. Ahora examinemos mtncas de dispositivos de E/S para comprender cmo mejorar su rendimiento y, por tanto, el sistema completo.

(c) Despus: Solapamiento escaladon (20 S)

(d) Despus: <Sin solapamienton (22.5 S)

FIGURA 9.4 Tiempo para la carga de trabajo de la Figura 9.3(a) con Velocidad,,, = 4 y Velocidad,,, = 2.

You might also like