20 March 2008

What every programmer should know about memory




If you are interested in becoming a system software engineer, then these are the information topics about memory you need to know and understand that should be in your own (human) memory cache when you are writing system software. Designing, and implementing system software of any kind is all about resolving the issues of which memory is just one you will need to consider.The hope is that by understanding these articles you will be able to put the lessons to good use in creating new generations of software engineered with memory foresight in mind.
Here are all of the links to each part of the article:
Memory Part 1. Introduction.
Memory Part 2. CPU caches.
Memory Part 3. Virtual Memory.
Memory Part 4. NUMA support.
Memory Part 5. What programmers can do - cache optimization.
Memory Part 6. What programmers can do - multi-threaded optimizations.
Memory Part 7. Memory performance tools.
Memory Part 8. Future technologies.
Memory Part 9. Appendices and bibliography.
-- Anil

***********************************************************************************
Imagination is more important than knowledge. - Einstein

No comments: