by Jonathan Erickson, Dr. Dobb’s
Parallelism and performance go hand-in-hand. But achieving maximum performance can be a balancing act, as Intel senior engineer James Reinders explains to Dr. Dobb’s editor in chief Jonathan Erickson.
Dr. Dobb’s: Sandia National Labs engineers say that adding cores to high-performance computers slows data-intensive apps. Your thoughts?
Reinders: It is an issue of “balance.” It certainly isn’t that data-intensive application cannot use parallelism. Good performance requires a characteristic we call “balance.” One person’s balance is another person’s headache. Supercomputer systems, in order to get the “balance” they need, place a high premium on things like memory bandwidth, I/O bandwidth, and low latency communications to mention a few. If we have a system which is tipping out of balance in a way where computing ability is not the bottleneck (say memory bandwidth is the limitation) — then adding more computing ability (e.g., more cores) will not help. In fact, because it is likely to add more contention it can slow things.


