martes, marzo 17, 2009
Erlang 5.7/OTP R13A: soporte para Unicode, mejoras en multicore y SSL
La misma entrada y más comentarios en Erlang 5.7/OTP R13A: soporte para Unicode, mejoras en multicore y SSL en barrapunto
sábado, diciembre 13, 2008
Facebook publica su versión modificada de memcached
Actualización: Olvidé mencionar que habían toqueteado el kernel :/ JAM hace muy bien resumen de esos apaños
Parece relevante también comentar lo que dicen en High Scalability sobre el memcached de Facebook y las conclusiones que se pueden sacar:
A summary of potential strategies:
- Profile everything. Problems are always specific. The understanding of the problem must be specific. The fix must be specific.
- Burn profiling into your regression tests. Detect when and where performance tanks as a regular part of your build.
- Use resources in proportion to what grows slowest. This requires multiplexing, but at least your resource usage is more predictable and bounded.
- Batch work. When you have the CPU do all the work you possibly can in the quantum or the whole system grinds to a halt in processing overhead.
- Do work and maintain resources per task. Otherwise locking for shared resources takes more and more time when there's less and less time to do the work that needs to be done.
- Change algorithms. Sometimes you simply need to do things differently. Tweaking will only get you so far.
La misma entrada y más comentarios en Facebook publica su versión modificada de memcached en barrapunto
jueves, noviembre 22, 2007
Lo que todo programador debería saber sobre la memoria (pdf)
Ulrich Drepper ha acabado de publicar online la serie de artículos acerca de la memoria, cachés en arquitecturas modernas de uso común y de lo que el programador puede hacer al respecto. Cuando comenzó ya lo comentamos por aquí en Lo que todo programador debería saber sobre la memoria.
Y como prometió lo ha publicado ahora en pdf: "What Every Programmer Should Know About Memory" por Ulrich Drepper. Como puede ser que alguien interesado no se haya enterado de su existencia, la aparición del pdf puede ser un buen momento para recordarla...
Lo que todo programador debería saber sobre la memoria (pdf) en barrapunto
jueves, octubre 04, 2007
Lo que todo programador debería saber sobre la memoria
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
