Popcorn Linux

blog image
  • March 2020: Popcorn’s improved distributed shared memory protocol and subsystem has been accepted at Systor 2020! Paper to be available soon.

  • March 2020: Popcorn’s distributed shared memory subsystem, DeX, has been accepted at ICDCS 2020! Paper to be available soon.

  • March 2020: 

    We were planning to be at VEE/ASPLOS 2020 with a version of Popcorn completely in user-space! Virtual presentation available here. Paper is available here.

  • October 2019: Materials and information for Popcorn’s 2019 ACM SOSP tutorial are available here.
  • September 2019: 

    We will be at PLOS/SOSP 2019 with a new take on multi-kernel OSes! Paper is available here.

  • August 2019: We will be at SOSP 2019 with a

     tutorial on Popcorn Linux! See our teaser!


The Popcorn Linux project is exploring how to improve the programmability of emerging heterogeneous hardware, in particular, those with Instruction Set Architecture (ISA)-diverse cores, from node-scale (e.g., Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGAs) to rack-scale (e.g., Scale-out processors, Firebox, The Machine), in both native and virtualized settings.  Additionally, the project is exploring how to automatically compile/synthesize/execute code on ISA-heterogeneous hardware.

The project is exploring a replicated-kernel OS model for the Linux operating system. In this model, multiple Linux kernel instances running on multiple nodes collaborate each other to provide applications with a single-image operating system over the nodes. The kernels transparently provide a consistent memory view across the machine boundary, so threads in a process can be spread across the nodes without an explicit declaration of memory regions to share nor accessing through a custom memory APIs. The nodes are connected through a modern low-latency interconnect, and each of them might be based on different ISA and/or hardware configuration. In this way, Popcorn Linux utilizes the ISA-affinity in applications and scale out the system performance beyond a single system performance while retaining full POSIX compatibility.

Popcorn Linux uses an LLVM-based customized compiler that translates C/C++ applications into machine code suitable for execution and runtime migration across multiple instruction set architectures.  The compiler generates machine code for each target ISA on which Popcorn Linux runs and instruments the code with migration points.  The linker aligns global data, code and thread-local storage to be available at identical locations across all ISAs.  A run-time system translates a program’s execution state (e.g., runtime stack and registers) at migration time between ISA-specific formats based on metadata generated by the compiler. 

The native version of Popcorn Linux targets execution and runtime migration of native application across multiple ISA. Concerning the ongoing virtualization effort, Popcorn Xen, it focuses on Unikernels: minimal small sized-guests where a single application is statically compiled with a small OS layer in a LibOS fashion.

  • September 2019: 

    Popcorn-er Yihan Pang has defended his MS thesis. Read his thesis here!

  • April 2019: We will be at HPDC 2019 with new results on unikernel Popcorn! Read the paper and poster that we will be presenting!

  • April 2019: We will be at Systor 2019 with new results on Popcorn! 

    Read the paper that we will be presenting!

  • March 2019: Popcorn-er Rob Lyerly has successfully defended his PhD thesis. Rob has joined Facebook in Boston, MA. Congratulations and best wishes Dr. Lyerly!
  • February 2019: We will be at PPoPP 2019 with new results on Popcorn!  Read the PMAM’19 and PPoPP’19 poster papers that we will be presenting!
  • November 2018: Popcorn-er Fazla Mehrab has defended his MS thesis. Read his thesis here!
  • July 24th, 2018: We’ve released updated versions of both the Popcorn Linux OS and compiler — see the downloads page to try it out!
  • June 29th, 2018: Popcorn-er Rob Lyerly was selected to participate in the 2018 ACM Student Research Competition Grand Finals. Rob was the winner of the SRC/PLDI 2017 Competition. Rob’s SRC Grand Finals submission is hereaward-winning SRC/PLDI 2017 abstract is here, and mugshot is at the 2018 ACM SRC website. Congratulations Rob!
  • May 2018: Popcorn-er Daniel Chiba has defended his MS thesis. Read his thesis here!
  • May 1st, 2018:  Popcorn’s OS postdoc lead Dr. Sang-Hoon Kim will be delivering a keynote talk on Popcorn at the 6th Workshop on Runtime and Operating Systems for the Many-core Era (ROME 2018), co-located with IPDPS 2018, May 21 – 25, 2018, Vancouver, British Columbia, Canada. Slides will be available after the workshop.
  • September 11th, 2017: We will be at the 2017 Linux Plumbers Conference to present Popcorn Linux. Read our presentation here. Go Popcorn Linux!
  • July 13th, 2017:Dr. Changwoo Min, who joins SSRG and the ECE Department as an Assistant Professor, becomes a Popcorn-er.  Welcome Dr. Min!
  • July 11th, 2017: The Naval Science & Technology Future Force Magazine’sJuly 2017 issue features Popcorn Linux on the cover.  Go Popcorn-ers!
  • June 23, 2017: We will be at the ARM Research Summit 2017!  Read our abstract here and our poster here.
  • June 20, 2017: Popcorn-er, Rob Lyerly, has won the ACM SRC 2017 competition, co-located with PLDI 2017.  Rob’s award-winning abstract is here.  Congratulations Rob!
  • April 26, 2017: Our Popcorn student Rob Lyerly has been selected for the ACM SRC 2017 competition, co-located with PLDI 2017. He will be presenting his abstract at the conference — good luck Rob!
  • April 19, 2017: We will be presenting our ASPLOS 2017 paper as a Highlight Paper at ACM SYSTOR 2017!
  • March 29, 2017: We will be at HotOS 2017 in Whistler!  Read the paper we’ll present here!
  • November 11, 2016: The sources for the ARM/x86 version of Popcorn Linux and the Popcorn compiler toolchain are available here!
  • November 10, 2016: We will be at ASPLOS XXII in Xi’an China!  Read the paper we’ll present here!
  • March 15, 2016: We will be at EuroSys/MaRS 2016 and Eurosys/CloudDP 2016 in London! Read the papers we will present here and here.
  • November 19, 2015: Our SOSP/HotPower 2015 paper has been selected as one of the Best Papers for publication in ACM Operating Systems Review (OSR), December 2015 issue.
  • September 24, 2015: We will be at SOSP/HotPower 2015 in Monterey! Read the paper we will present here. Come to see our ARM+x86 demo! Photo.
  • April 16, 2015: We released Popcorn Linux and Compiler Framework for Xeon+Xeon Phi! Download it here.
  • April 10, 2015: We will be at Eurosys 2015 in France! Read the paper we will present here.
  • January 19, 2015: Saif Ansary’s paper accepted at 2015 ASPLOS SRC ACM Competitionhere.
  • October 1, 2014: We released Popcorn Linux YOCTO! Download it here.
  • July 1, 2014: We will be at OLS 2014 in Ottawa! Read the paper we will present here.
  • March 28, 2014: We will be at EuroSys/SFMA 2014 in Amsterdam! Read the paper we will present here.
  • March 15, 2014: Popcorn code is open-source and now hosted on Sourceforge! popcornlinux.sourceforge.net

Popcorn Linux is an open-source project of the Systems Software Research Group at Virginia Tech.

This work is supported in part by ONR under grants N00014-13-1-0317, N00014-16-1-2104, and N00014-16-1-2711, AFOSR under grants FA9550-14-1-0163 and FA9550-16-1-0371, and NAVSEA/NEEC under grants 3003279297 and N00174-16-C-0018. Any opinions, findings, and conclusions or recommendations expressed in this site are those of the author(s) and do not necessarily reflect the views of ONR, AFOSR, and NAVSEA.

Read More