Design principles for a virtual multiprocessor

  • Authors:
  • Philip Machanick

  • Affiliations:
  • University of Queensland, Qld, Australia

  • Venue:
  • Proceedings of the 2007 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The case for chip multiprocessor (CMP) or multicore designs is strong, and increasingly accepted as evidenced by the growing number of commercial multicore designs. However, there is also some evidence that the quest for instruction-level parallelism, like the Monty Python parrot, is not dead but resting. The cases for CMP and ILP are complementary. A multitasking or multithreaded workload will do better on a CMP design; a floating-point application without many decision points will do better on a machine with ILP as its main parallelism. This paper explores a model for achieving both in the same design, by reconfiguring functional units on the fly. The result is a virtual multiprocessor (or vMP) which at the software level looks like either a uniprocessor with n clusters of functional units, or an n-core CMP, depending on how the data path is configured.