PopcornXT: System Software for Seamless Thread Migration on Commodity Heterogeneous Multiprocessors

Abstract

Short Work Statement:The PIs propose to develop PopcornXT, and enhancement of their previous result Popcorn Linux. PopcornXT is a new system software, i.e., operating system, compiler, and runtime, which extends the current shared memory programming abstraction from SMP multicores to heterogeneous multiprocessors. PopcornXT provides the same abstraction of seamless execution migration between SMT multicore processors for heterogeneous ISA multiprocessors, thereby eliminating the need to rely on complex languages and programming paradigms for programming such hardware. In addition, the operating system and run-time schedules the application (or componentsthereof) on each of the available processors. Thus, a programmer does not have to focus on migrating computation or data between processing units, but can focus solely on the application logic, enabling the programming of such hardware as an SMP system. The milestone for the project is as follows:~ At the end of year 1, PopcornXT will be able to migrate applications between OS-capable processors and dynamically transform a program~s state.~ By the end of the second year of the project, we aim to integrate emulation in PopcornXT in order to migrateapplications between heterogeneous OS-capable processors (e.g., ARM and x86) ~ migrations will no longer be restricted to function boundaries.~ By the end of the last year of the project, PopcornXT will implement seamless thread migration across OS-capable processors (ARM and x86) and CPU and GPU (or CPU and accelerator). Multiple state transformation techniques will be demonstrated and implemented in the whole system software stack and additionally demonstrated valid within a mathematical formalism. Multiple prototypes based on Linux, LLVM, QEMU, Valgrind, musl and OpenCL will be released on the website of the project.Objective:The objective for PopcornXT is to introduce refinement and advanced features on top of Popcorn Linux:~ PopcornXT will integrate GPUs as first-class computational units in a heterogeneous multicore platform, besides OScapable processors.~ PopcornXT will enable seamless thread and process migration between heterogeneous processors using multiple techniques at different levels of system software abstraction. State transformation for migration will be developed as a compiler and run-time technique using the LLVM compiler infrastructure and the musl C library.All software produced by the research will be open-source and publicly available.Approach:The PI proposes to develop PopcornXT, new system software, i.e., operating system, compiler, and runtime, which extends the current shared memory programming abstraction from SMP multicores to heterogeneous multiprocessors. PopcornXT provides the same abstraction of seamless execution migration between SMT multicore processors for heterogeneous ISA multiprocessors, thereby eliminating the need to rely on complex languages and programming paradigms for programming such hardware. In addition, the operating system and run-time schedules the application(or components thereof) on each of the available processors. Thus, a programmer does not have to focus on migrating computation or data between processing units, but can focus solely on the application logic, enabling the programming of such hardware as an SMP system. Seamless computation migration among different-ISA processors requires program state transformation between multiple program versions. The PI will explore different solutions to this problem, including the case in which no state conversion is needed because multiple versions of the program (each running on a different-ISA processor) share theexact same state. The project will seek to answer fundamental computer science and engineering research questions about program state mutability, program state transformation, and program equivalence points. Since program state transformation isnot always practical or viable at any point in the code, we propose to study alterna

Document Details

Document Type
DoD Grant Award
Publication Date
Aug 12, 2016
Source ID
N000141612711

Entities

People

  • Binoy Ravindran

Organizations

  • Office of Naval Research
  • United States Navy
  • Virginia Tech

Tags

Fields of Study

  • Computer science
  • Engineering

Readers

  • Distributed Systems and Data Platform Development
  • Parallel and Distributed Computing.