Como mencionamos a inicios de este capítulo, la disparidad entre las velocidades de la CPU y la memoria está creciendo. Si lo observa de cerca, verá a los distribuidores innovando en varios aspectos. ¡Ofrecen algunas estaciones de trabajo con caches de datos de 4 MB! Es más que los sistemas de memoria principal de las máquinas de apenas hace algunos años. Con una cache lo suficientemente grande, un conjunto de datos pequeño (o incluso moderadamente grande) puede caber en ella completamente, y lograr un rendimiento increíblemente bueno. Fíjese muy bien en este aspecto cuando pruebe hardware nuevo. Cuando su programa se torna demasiado grande para la cache, el rendimiento caerá considerablemente, tal vez en un factor de 10 o más, dependiendo de los patrones de acceso a la memoria. Resulta interesante señalar que un incremento en el tamaño de la cache por parte de los distribuidores puede volver obsoleto un benchmark.
| Un sistema de memoria sencillo |
|---|
![]() |
Hasta 1999, el benchmark Linpack 100x100 fue probablemente la prueba más respetada para determinar el rendimiento promedio comparativo de una amplia variedad de aplicaciones. En 1992, IBM introdujo la RS-6000, con una cache suficientemente grande para contener completa la matriz de 100x100 durante toda la duración de la prueba. Por vez primera, una estación de trabajo presentaba un rendimiento del mismo orden que las supercomputadoras. En un sentido, con la estructura de datos completa contenida en una cache SRAM, la RS-6000 operaba como una supercomputadora vectorial Cray. El problema era que la Cray podía mantener y memorar el rendimiento con matrices de 120x120, mientras que la RS-6000 sufría de una caída de rendimiento significativo con este aumento del tamaño de la matriz. Pronto, todos los otros vendedores de estaciones de trabajo introdujeron caches de tamaño similar, y la prueba Linpack 100x100 dejó de ser útil como un indicador del rendimiento promedio de una aplicación.



Acknowledgements





