Capítulo 3. Ancho de banda y poder de procesamiento

De los dos recursos discutidos en este capítulo, uno (el ancho de banda) es a menudo difícil de entender para los nuevos administradores de sistemas, mientras que el otro concepto (poder de procesamiento), es usualmente mucho más fácil de comprender.

Adicionalmente, puede parecer que estos dos recursos no están muy relacionados — ¿por qué agruparlos?

La razón para referirse a estos dos recursos juntos es porque están basados en el hardware que se une directamente con la habilidad del computador de mover y procesar datos. Como tal, su relación a menudo está interrelacionada.

3.1. Ancho de banda

En su forma más simple, el ancho de banda es la capacidad de transferencia de datos — en otras palabras, la cantidad de datos que se pueden mover de un punto a otro en cierta cantidad de tiempo. El tener una comunicación de datos de punto a punto implica dos cosas:

Hay dos tipos de componentes de sistemas que satisfacen estos requerimientos:

Las secciones siguientes exploran cada uno de estos en más detalles.

3.1.1. Buses

Como se mencionó anteriormente, los buses permiten la comunicación de punto a punto y utilizan algún tipo de protocolo para asegurarse de que toda la comunicación toma lugar de forma controlada. Sin embargo, los buses tienen otras características distintivas:

  • Características eléctricas estandarizadas (tales como el número de conductores, niveles de voltage, velocidades de señales, etc.)

  • Características mecánicas estandarizadas (tales como el tipo de conector, tamaño de la tarjeta, formato físico, etc.)

  • Protocolo estándar

La palabra "estandarizado" es importante porque los buses son la principal forma en la que diferentes componentes de software se juntan.

En muchos casos, los buses permiten la interconexión del hardware hecho por diferentes fabricantes; sin estandarización, esto no sería posible. Sin embargo, aún en situaciones donde un bus es propiedad de un fabricante, la estandarización es importante porque permite a ese fabricante implementar más fácilmente diferentes componentes usando una interfaz común — el bus mismo.

3.1.1.1. Ejemplos de buses

No importa dónde en el computador usted revise, habrá buses. He aquí algunos de los más comunes:

  • Buses de almacenamiento masivo (ATA y SCSI)

  • Redes[1] (Ethernet y Token Ring)

  • Los buses de memoria (PC133 y Rambus®)

  • Buses de expansión (PCI, ISA, USB)

3.1.2. Datapaths

Los datapaths pueden ser más difíciles de identificar pero, como los buses, están en todas partes. También a igual que los buses, los datapaths permiten la comunicación punto a punto. Sin embargo, a diferencia de los buses, los datapaths:

  • Utilizan un protocolo más simple (si es que lo utilizan)

  • Tienen poca (o ninguna) estandarización mecánica

La razón de estas diferencias es que los datapaths son normalmente internos a algunos componentes de sistemas y no son usados para facilitar la interconexión ad-hoc de componentes diferentes. Como tal, los datapaths son muy optimizados para una situación particular, donde la velocidad y el bajo costo se prefieren sobre una flexibilidad más lenta y más costosa de propósito general.

3.1.2.1. Ejemplos de Datapaths

He aquí algunos datapaths típicos:

  • Datapath de CPU a caché en chip

  • Datapath de procesador gráfico a memoria de vídeo

3.1.3. Problemas potenciales relacionados al ancho de banda

Hay dos formas en la que pueden ocurrir problemas relacionados al ancho de banda (tanto para buses como para datapaths):

  1. El bus o datapath puede representar un recurso compartido. En esta situación, los altos niveles de competencia por el bus reducen el ancho de banda efectivo disponible para todos los dispositivos en el bus.

    Un bus SCSI con discos duros altamente activos serían un buen ejemplo de esto. Las unidades de disco altamente activas saturan el bus SCSI, dejando poco ancho de banda disponible para cualquier otro dispositivo en el mismo bus. El resultado final es que toda la E/S a cualquiera de estos dispositivos en el bus es lenta, aún si cada dispositivo en el bus no está demasiado activo.

  2. El bus o datapath puede ser un recurso dedicado con un número fijo de dispositivos conectados a él. En este caso, las características eléctricas del bus (y hasta cierto punto la naturaleza del protocolo utilizado) limitan el ancho de banda disponible. Usualmente, este es más el caso con datapaths que con buses. Esta es una de las razones por las que los adaptadores gráficos tienden a funcionar más lentamente cuando se operan a altas resoluciones y/o profundidades de color — por cada refrescado de pantalla, hay más datos que transmitir a través del datapath que conecta la memoria de vídeo al procesador gráfico.

3.1.4. Soluciones potenciales relacionadas al ancho de banda

Afortunadamente, los problemas relacionados al ancho de banda se pueden resolver. De hecho, se pueden tomar varios enfoques:

  • Distribuir la carga

  • Reducir la carga

  • Incrementar la capacidad

Las secciones siguientes exploran cada uno de estos enfoques en mas detalles.

3.1.4.1. Distribuir la carga

El primer enfoque es distribuir más uniformemente la actividad del bus. En otras palabras, si un bus está sobrecargado y otro está ocioso, quizás la situación sería mejorada moviendo algo de la carga hasta el bus ocioso.

Como administrador del sistema, este es el primer enfoque que debería considerar, pues a menudo existen buses adicionales ya instalados en su sistema. Por ejemplo, la mayoría de los PCs incluyen al menos dos canales ATA (lo cual es simplemente otro nombre para un bus). Si tiene dos unidades de disco ATA y dos canales ATA, ¿por qué deberían estar ambas unidades en el mismo canal?

Aún si su configuración no incluye buses adicionales, distribuir la carga puede ser todavía el mejor enfoque. Los gastos de hardware en hacer esto serán mucho menos costosos que reemplazando un bus existente por hardware con mayor capacidad.

3.1.4.2. Reducir la carga

A primera vista, el reducir y distribuir la carga parecen ser los diferentes lados de la misma moneda. Después de todo, cuando uno distribuye la carga, también se está reduciendo la misma (al menos en un bus sobrecargado), ¿cierto?

Mientras que este punto de vista es correcto, no es lo mismo que reducir la carga globalmente. La clave aquí es determinar si hay algún aspecto de la carga del sistema que esté causando que este bus particular esté sobrecargado. Por ejemplo, ¿está la red sobrecargada debido a actividades que no son necesarias? Quizás un pequeño archivo temporal es el recipiente de grandes lecturas/escrituras de E/S. Si ese archivo temporal reside en un servidor de la red, se podría eliminar una gran parte del tráfico de la red trabajando con el archivo localmente.

3.1.4.3. Incrementar la capacidad

La solución obvia a un ancho de banda insuficiente, es el de incrementarlo de alguna manera. Sin embargo, esto es usualmente una proposición costosa. Considere, por ejemplo, un controlador SCSI y su bus sobrecargado. Para incrementar el ancho de banda, se necesita reemplazar el controlador SCSI (y probablemente todos los dispositivos conectados a el) con hardware más rápido. Si el controlador SCSI es una tarjeta separada, esto sería un proceso bien directo, pero si el controlador es parte de la tarjeta madre del sistema, se vuelve mucho más difícil justificar económicamente este cambio.

3.1.5. En resumen…

Todos los administradores de sistemas deberían estar conscientes del ancho de banda y de cómo la configuración y uso del sistema impacta el ancho de banda disponible. Desafortunadamente, no siempre es aparente cuando se trata de un problema de ancho de banda y cuando no. Algunas veces, el problema no es el bus mismo, pero uno de los componentes conectados al bus.

Por ejemplo, considere un adaptador SCSI que está conectado a un bus PCI. Si hay problemas de rendimiento con la E/S del disco SCSI, puede ser el resultado de un adaptador SCSI funcionando muy mal, aún cuando los buses SCSI y PCI mismos no esten ni siquiera cerca de sus capacidades de ancho de banda.

Notas

[1]

En vez de un bus interno al sistema, las redes pueden ser pensadas como un bus inter-sistema.