Monday, September 12, 2011

Multicore CPUs: Amdahl's Law in the Multicore Era

Mark D. Hill, Michael R. Marty. Multicore CPUs: Amdahl's Law in the Multicore Era.
This paper analyzes the tradeoffs between adding more cores to a single chip Vs. increasing single threaded parallelism. It proposes three different alternatives of multicore chip design (Symmetric, Asymmetric and Dynamic) and discusses their tradeoffs, implications and impact on future research in chip architecture and software development. In general, Asymmetric and Dynamic multicores are better than symmetric ones because they can handle both parallel and serial components of a program equally well. Serial computation is generally performed in the bigger cores while the smaller cores are responsible for executing parallelizable code components.

Several points came to my mind while reading this article:

  1. Hierarchical clusters (or clusters of clusters): With 1000s of cores on a chip (as predicted by folks from Intel and Berkeley), might result in what could be termed as a cluster of cluster of cores with a 2-level infrastructural software stack. This may lead to a trend towards multicore Operating Systems for doing better resource arbitration, scheduling and isolation with a multicore chip.
  2. Trends towards GPU/CPUs as Asymmetric Multicores: A combination of a GPU and CPU in some sense can be thought of as an asymmetric multicore. It would be interesting to see how well the software stack can leverage the underlying hardware.
  3. Workload Dependent Clusters: It almost feels like that there should be a trend towards workload-dependent clusters. A one-size fits all philosophy might not hold true for different workloads which inherently differ in their serializable and parallelizable components.
  4. Latency Variation: If asymmetric and dynamic multicores are popularized as the building block of future clusters, the homogeneity arguments will no longer hold true. This might lead to increase in variance (and decrease predictability) of running time of programs. In this light, the new multicore software stack will have to be re-written in order to embrace heterogeneity.
A question that we must try to answer is that if we will see these 100+ multicore clusters in 10 years? Barrozo/Hozle's arguments in favor of using commodity servers were primarily concentrated on economies of scale. So, the answer to this question would, I believe, depend on how quickly these multicore processors are embraced by the mainstream consumer market.

No comments:

Post a Comment