¿Cómo evitar los cuellos de botella de E / S en la selección y análisis de hardware de PC?

Soy consciente de que la velocidad de transferencia de datos y la cantidad de memoria almacenada en la memoria caché de la CPU pueden determinar cuán rápido funciona una PC. También hay probablemente un montón de otros factores que afectan el rendimiento de un sistema.

Para mí y el bien de muchos otros, ¿qué información necesitamos saber para evitar cuellos de botella cuando estamos construyendo un sistema informático? No estoy muy familiarizado con el hardware, así que por favor, tenga paciencia conmigo. El objetivo es que yo entienda cuáles son las áreas más probables donde un sistema va a cuellos de botella, y cómo puedo analizar las especificaciones del sistema para entender si es probable que sea un cuello de botella que retrasará las cosas innecesariamente.

  1. Procesador MHz vs RAM MHz?
  2. Procesador MT / s vs Tarjeta madre MT / s?
  3. Anchura de transferencia de cable de datos de 16 bits?
  4. Velocidad de transferencia del disco duro Gb / s frente a la cantidad de memoria aceptada por la RAM de una sola vez?
  5. ¿Algo más?

En gran parte tomado de Wikipedia – Jerarquía de la memoria y mi propia experiencia:

La jerarquía de memoria de la computadora

Es inevitable que, más abajo en la jerarquía de memoria que vaya, más lenta será la velocidad de transferencia de datos. Por lo tanto, "coincidir" con las tasas de transferencia de datos no será posible. Sin embargo, para obtener un rendimiento óptimo, debe asegurarse de que los datos que deben cambiarse o se acceden con más frecuencia se mantienen en las "capas superiores" de la pirámide. Por ejemplo, si accede a una pieza de datos 12 veces por segundo, definitivamente no desea que los datos residan en la parte inferior de la pirámide, en el nivel de copia de seguridad de cinta! Al menos querría que estuviera en el nivel de disco duro, aunque personalmente creo que pertenecería a la RAM.

Un diseño de rendimiento óptimo (de software, servicios, sistemas, etc) está diseñado para tener en cuenta las limitaciones y realidades de la jerarquía de memoria. En otras palabras, si el software que ejecuta y los requisitos de los datos que está transfiriendo están diseñados de tal manera que los datos más grandes y menos utilizados intensamente se almacenan en las etapas inferiores de la jerarquía de memoria y los datos más pequeños y Los datos más utilizados se almacenan en las etapas más altas de la jerarquía de memoria, se experimentará "buen rendimiento".

Esto tiene muchas formas posibles de implementación:

  1. Los programas que acceden a un montón de datos con mucha frecuencia, como los controladores de dispositivos gráficos, necesitan leer y escribir constantemente datos de píxeles. Estos datos de píxeles se muestran en la pantalla al menos 60 veces por segundo. Para este uso frecuente, estos datos residen casi siempre en el nivel de memoria RAM o en el nivel de caché del procesador, que es muy rápido, pero la cantidad de almacenamiento es muy limitada.

  2. Los programas que permiten jugar con grandes cantidades de datos que van y vienen, como los procesadores de texto, necesitan almacenar con moderación cantidades moderadas de datos. Por ejemplo, mientras escribe un documento de Word o una publicación en un explorador Web, almacenar inmediatamente cada carácter en el disco duro o en la cinta sería muy lento, por lo que en su lugar se almacenan en RAM hasta que se guarda el archivo. Existen muchos programas y subsistemas de sistemas operativos que "almacenan" los datos en la memoria RAM, lo que significa que los almacenan temporalmente en la memoria RAM o en el caché del procesador durante períodos cortos hasta que decidan descartar los datos o guardarlos permanentemente en el disco.

  3. Los usuarios que almacenan archivos grandes, como colecciones de música y video, necesitan administrar esos datos sabiamente. Cuando usted está archivando sus datos para el almacenaje a largo plazo, usted puede retroceder hasta DVDs, discos BluRay, o aún a la cinta magnética – pero estos medios no son ideales para la recuperación rápida debido a la necesidad de fijar físicamente las cintas y los discos, Y debido al relativamente lento rendimiento de lectura y escritura (la grabación de un disco dura varios minutos). Así que la situación ideal es que usted almacenará la mayoría de los medios de comunicación que necesita / desea acceder con más frecuencia en su disco duro. A continuación, se copia temporalmente en la memoria cuando se decodifica y se reproduce en tiempo real. Así que a medida que vaya de tener los medios "alrededor" (archivado en DVD), a "inmediatamente accesible" (en el disco duro), a "actualmente jugando" (en RAM), se mueve hacia arriba de la pirámide.

    Intereting Posts