May 202011

Multi-cores are here, and they are here to stay. Industry trends show that each individual core is likely to become smaller and slower (see my post to understand the reason). Improving performance of a single program with multi-core requires that the program be split into threads that can run on multiple cores concurrently. In effect, this pushes the problem of finding parallelism in the code to the programmers. I have noticed that many hardware designers do not understand the MT challenges (since they have never written MT apps). This post is to show them the tip of this massive iceberg.
Update 5/26/2011: I have also written a case study for parallel programming which may interest you.

Continue reading “What makes parallel programming hard?” »

May 172011

Yale Patt, a well-known computer architect likes to call multi-core multi-nonsense. He believes that multi-core was the easy way out chosen by Intel/AMD architects to harness the increasing transistors. In his words, “multi-core is a solution looking for a problem.” Others argue that multi-core is in fact a large opportunity for us architects to innovate. I agree more with Yale (with reservations) that it started out as multi-nonsense.

Continue reading “Multicore: Multi-nonsense or Multi-opportunity?” »