Así titula Ulrich Drepper un artículo sobre los posibles cuellos de botella que se generan en las arquitecturas modernas de uso común, explicando el comportamiento de las caches de CPU, el diseño de los controladores de memoria, el DMA... Debería ser útil para esos momentos en los que las abstracciones que usamos empiezan a fallar y debemos conocer lo que hay debajo.
El modo de publicarlo es un poco, bueno, llamémosle arcaico, pero nos conformaremos porque el contenido lo merece, y porque es el deseo del autor, claro... El caso es que se va a publicar por partes en LWN.net y al comienzo serán accesibles solo para suscriptores y posteriormente para el resto. Al final publicarán la versión pdf que probablemente será muy interesante para imprimir. Actualización (22/11/07): Ya está disponible la versión en pdf: "What Every Programmer Should Know About Memory" por Ulrich Drepper
He ido actualizando esta entrada conforme se han liberado las todas las partes del documento, muy interesantes:
- What every programmer should know about memory, Part 1
- Memory part 2: CPU caches
- Memory part 3: Virtual Memory
- Memory part 4: NUMA support
- Memory part 5: What programmers can do
- Memory part 6: More things programmers can do
- Memory part 7: Memory performance tools
- Memory part 8: Future technologies
- Memory part 9: Appendices and bibliographys
Bonus Track: Como creo que pega en esta entrada, pongo el link a unas charlas con diapositivas de Herb Sutter sobre temas similares: Machine Architecture: Things Your Programming Language Never Told You (jejeje, Sutter y Drepper ¿lo mejor de los los dos mundos?)
Lo que todo programador debería saber sobre la memoria en barrapunto
No hay comentarios:
Publicar un comentario