Symmetric multiprocessing from boot to virtualization

Abstract

The x86 multicore processor architecture and the concepts associated with symmetric multiprocessing have become the linchpin of modern operating systems and cloud computing. A solid understanding of these technologies has become critical to any developer entering the field. Unfortunately, the complexity associated with discovering, enabling, using, and virtualizing multiple cores has created a paucity in the available documentation, transferable knowledge, and readable code exemplars. This paper describes our experience in overcoming these hurdles in the design of a from scratch, multi‐core operating system––Bear––for secure and resilient cloud computing. In particular, we trace the intricacies involved in the development of a multi‐core microkernel with an integrated multi‐core hypervisor. By exploring the implementation details, from bootstrapping through core virtualization to process scheduling, this paper aims to fill the knowledge gaps, highlight potential pitfalls, and introduce multicore development in a concise start‐to‐finish exemplar.

Document Details

Document Type
Pub Defense Publication
Publication Date
Jun 07, 2017
Source ID
10.1002/spe.2505

Entities

People

  • Martin Osterloh
  • Robert Denz
  • Scott Brookes
  • Stephen Kuhn
  • Stephen Taylor

Organizations

  • Dartmouth College
  • Defense Advanced Research Projects Agency

Tags

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Systems Analysis and Design