September 19th, 2007 — Machine Architecture: Things Your Programming Language Never Told You — Herb Sutter

Published: Sat 01 September 2007
By nwcpp

In 2007.


Building 41
One Microsoft Way
Redmond, Washington 98052


High-level languages insulate the programmer from the machine. That’s a wonderful thing—except when it obscures the answers to the fundamental questions of “What does the program do?” and “How much does it cost?”

The C++/C#/Java programmer is less insulated than most, and still we find that programmers are consistently surprised at what simple code actually does and how expensive it can be—not because of any complexity of a language, but because of being unaware of the complexity of the machine on which the program actually runs.

This talk examines the “real meanings” and “true costs” of the code we write and run especially on commodity and server systems, by delving into the performance effects of bandwidth vs. latency limitations, the ever-deepening memory hierarchy, the changing costs arising from the hardware concurrency explosion, memory model effects all the way from the compiler to the CPU to the chipset to the cache, and more—and what you can do about them.


Herb Sutter is a software architect at Microsoft and chair of the ISO C++ standards committee. Among his books and papers on software development is the widely-cited article “The Free Lunch Is Over” where he coined the title phrase and “concurrency revolution” as applied to describe the software sea change now in progress to exploit increasingly parallel hardware


Download the slides from the presentation.

Watch the video of the presentation.