skip to main content
10.1145/2741948.2741962acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Popcorn: bridging the programmability gap in heterogeneous-ISA platforms

Published: 17 April 2015 Publication History

Abstract

The recent possibility of integrating multiple-OS-capable, high-core-count, heterogeneous-ISA processors in the same platform poses a question: given the tight integration between system components, can a shared memory programming model be adopted, enhancing programmability? If this can be done, an enormous amount of existing code written for shared memory architectures would not have to be rewritten to use a new programming paradigm (e.g., code offloading) that is often very expensive and error prone. We propose a new software architecture that is composed of an operating system and a compiler framework to run ordinary shared memory applications, written for homogeneous machines, on OS-capable heterogeneous-ISA machines. Applications run transparently amongst different ISA processors while exploiting the most optimized instruction set for each code block. We have implemented and tested our system, called Popcorn, on a multi-core Intel Xeon machine with a PCIe Intel Xeon Phi to demonstrate the viability of our approach. Application execution on Popcorn demonstrates to be up to 52% faster than the most performant native execution on Linux, on either Xeon or Xeon Phi, while removing the burden of the programmer having to adopt a different programming model than shared memory on a heterogeneous system. When compared to an offloading programming model, Popcorn is shown to be up to 6.2 times faster.

Supplementary Material

MP4 File (a29-sidebyside.mp4)

References

[1]
D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, L. Dagum, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, R. S. Schreiber, H. D. Simon, V. Venkatakrishnan, and S. K. Weeratunga. The NAS parallel benchmarks summary and preliminary results. In Supercomputing '91, 1991.
[2]
A. Barbalace, A. Murray, R. Lyerly, and B. Ravindran. Towards Operating System Support for Heterogeneous-ISA Platforms. In Proceedings of The 4th Workshop on Systems for Future Multicore Architectures (4th SFMA), 2014.
[3]
A. Barbalace, B. Ravindran, and D. Katz. Popcorn: a replicated-kernel os based on linux. In Proceedings of Ottawa Linux Symposium (OLS '14), 2014.
[4]
A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania. The multikernel: A new os architecture for scalable multicore systems. In Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles, SOSP '09, pages 29--44, 2009.
[5]
A. Baumann, C. Hawblitzel, K. Kourtis, T. Harris, and T. Roscoe. Cosh: Clear os data sharing in an incoherent world. In Proceedings of 2014 Conference on Timely Results in Operating Systems (TRIOS 14), Broomfield, CO, 2014. USENIX Association.
[6]
M. DeVuyst, A. Venkat, and D. M. Tullsen. Execution migration in a heterogeneous-isa chip multiprocessor. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XVII, pages 261--272. ACM, 2012.
[7]
P. Elias, A. Feinstein, and C. E. Shannon. A Note on the Maximum Flow Through a Network. IRE Transactions on Information Theory, 2(4): 117--119, Dec. 1956. ISSN 0018-9448.
[8]
J. Gilchrist. Parallel bzip2 (pbzip2) data compression software. URL http://compression.ca/pbzip2/.
[9]
R. Gordon. Fatelf: Universal binaries for linux. URL http://icculus.org/fatelf.
[10]
K. Group. The standard portable intermediate representation for device programs. URL https://www.khronos.org/spir.
[11]
G. Hunt, J. R. Larus, M. Abadi, M. Aiken, P. Barham, M. Fahndrich, C. Hawblitzel, O. Hodson, S. Levi, N. Murphy, B. Steensgaard, D. Tarditi, T. Wobber, and B. D. Zill. An overview of the singularity project. Technical Report MSR-TR-2005-135, Microsoft Research, October 2005.
[12]
Intel. Intel manycore platform software stack (mpss). URL https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss.
[13]
Intel Corporation. Xeon Phi product family. http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html.
[14]
S. Kim, S. Huh, Y. Hu, X. Zhang, E. Witchel, A. Wated, and M. Silberstein. Gpunet: Networking abstractions for gpu programs. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation, OSDI'14, pages 201--216. USENIX Association, 2014.
[15]
C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, CGO '04, pages 75--. IEEE Computer Society, 2004. ISBN 0-7695-2102-9.
[16]
K. Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Transaction on Computer System, 7 (4): 321--359, Nov. 1989.
[17]
T. Li, P. Brett, R. Knauerhase, D. Koufaty, D. Reddy, and S. Hahn. Operating system support for overlapping-ISA heterogeneous multi-core architectures. In Proceedings of International Symposium on High Performance Computer Architecture (HPCA), 2010.
[18]
F. X. Lin, Z. Wang, and L. Zhong. K2: A mobile operating system for heterogeneous coherence domains. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '14, pages 285--300. ACM, 2014.
[19]
LWN. A futex overview and update. URL http://lwn.net/Articles/360699/.
[20]
C. Morin, P. Gallard, R. Lottiaux, and G. Vallee. Towards an efficient single system image cluster operating system. In Proceedings of Fifth International Conference on Algorithms and Architectures for Parallel Processing, 2002., pages 370--377, Oct 2002.
[21]
E. B. Nightingale, O. Hodson, R. McIlroy, C. Hawblitzel, and G. Hunt. Helios: Heterogeneous multiprocessing with satellite kernels. In Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles, SOSP '09, 2009.
[22]
D. Patterson and J. Hennessy. Computer Organization and Design: The Hardware/software Interface. Morgan Kaufmann, 2005.
[23]
R. Pike, D. Presotto, K. Thompson, and H. Trickey. Plan 9 from bell labs. In Proceedings of the Summer 1990 UKUUG Conference, pages 1--9, 1990.
[24]
D. J. Quinlan. ROSE: compiler support for object-oriented frameworks. Parallel Processing Letters, 10(2/3): 215--226, 2000.
[25]
C. J. Rossbach, J. Currey, M. Silberstein, B. Ray, and E. Witchel. Ptask: Operating system abstractions to manage gpus as compute devices. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, SOSP '11, pages 233--248. ACM, 2011.
[26]
M. Sadini, A. Barbalace, B. Ravindran, and F. Quaglia. A page coherency protocol for popcorn replicated-kernel operating system. In Proceedings of 2013 Many-Core Architecture Research Community (MARC) Symposium, 2013.
[27]
J. C. Saez, D. Shelepov, A. Fedorova, and M. Prieto. Leveraging workload diversity through os scheduling to maximize performance on single-isa heterogeneous multicore systems. J. Parallel Distrib. Comput., 71(1): 114--131, Jan. 2011. ISSN 0743--7315.
[28]
A. Schpbach, S. Peter, A. Baumann, T. Roscoe, P. Barham, T. Harris, and R. Isaacs. Embracing diversity in the barrelfish manycore operating system. In Proceedings of the Workshop on Managed Many-Core Systems, 2008.
[29]
S. Seo, G. Jo, and J. Lee. Performance characterization of the nas parallel benchmarks in opencl. In Workload Characterization (IISWC), 2011 IEEE International Symposium on, pages 137--148, Nov 2011.
[30]
J. Shen, J. Fang, A. L. Varbanescu, and H. Sips. Opencl vs. openmp: A programmability debate. In Proceedings of the 16th Workshop on Compilers for Parallel Computing (CPC'12), January 2012.
[31]
M. Silberstein, B. Ford, I. Keidar, and E. Witchel. Gpufs: Integrating a file system with gpus. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '13, pages 485--498. ACM, 2013.
[32]
Tilera Corporation. TILEncore platforms. http://www.tilera.com/products/platforms.
[33]
E. Wang. High-Performance Computing on the Intel® Xeon Phi(tm): How to Fully Exploit MIC Architectures. Springer, 2014.
[34]
M. Zelkowitz. Advances in Computers: High Performance Computing. Advances in computers. Elsevier Science, 2009.

Cited By

View all
  • (2024)BrickOS: specialized kernels for heterogeneous hardware resourcesSCIENTIA SINICA Informationis10.1360/SSI-2022-041354:3(491)Online publication date: 11-Mar-2024
  • (2024)Offloading Datacenter Jobs to RISC-V Hardware for Improved Performance and Power EfficiencyProceedings of the 17th ACM International Systems and Storage Conference10.1145/3688351.3689152(39-52)Online publication date: 16-Sep-2024
  • (2024)mruby on Resource-Constrained Low-Power Coprocessors of Embedded DevicesProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685064(41-47)Online publication date: 13-Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '15: Proceedings of the Tenth European Conference on Computer Systems
April 2015
503 pages
ISBN:9781450332385
DOI:10.1145/2741948
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 April 2015

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

EuroSys '15
Sponsor:
EuroSys '15: Tenth EuroSys Conference 2015
April 21 - 24, 2015
Bordeaux, France

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)96
  • Downloads (Last 6 weeks)10
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)BrickOS: specialized kernels for heterogeneous hardware resourcesSCIENTIA SINICA Informationis10.1360/SSI-2022-041354:3(491)Online publication date: 11-Mar-2024
  • (2024)Offloading Datacenter Jobs to RISC-V Hardware for Improved Performance and Power EfficiencyProceedings of the 17th ACM International Systems and Storage Conference10.1145/3688351.3689152(39-52)Online publication date: 16-Sep-2024
  • (2024)mruby on Resource-Constrained Low-Power Coprocessors of Embedded DevicesProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685064(41-47)Online publication date: 13-Sep-2024
  • (2024)UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State TransformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641565(86-99)Online publication date: 17-Feb-2024
  • (2024)Enoki: High Velocity Linux Kernel Scheduler DevelopmentProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3629569(962-980)Online publication date: 22-Apr-2024
  • (2023)Aggregate VM: Why Reduce or Evict VM's Resources When You Can Borrow Them From Other Nodes?Proceedings of the Eighteenth European Conference on Computer Systems10.1145/3552326.3587452(469-487)Online publication date: 8-May-2023
  • (2023)Networking in next generation disaggregated datacentersConcurrency and Computation: Practice and Experience10.1002/cpe.770235:21Online publication date: 27-Mar-2023
  • (2022)Current trends in heterogeneous systems: A reviewTrends in Computer Science and Information Technology10.17352/tcsit.0000557:3(086-090)Online publication date: 24-Nov-2022
  • (2022)H-Container: Enabling Heterogeneous-ISA Container Migration in Edge ComputingACM Transactions on Computer Systems10.1145/352445239:1-4(1-36)Online publication date: 5-Jul-2022
  • (2022)GiantVM: A Novel Distributed Hypervisor for Resource Aggregation with DSM-aware OptimizationsACM Transactions on Architecture and Code Optimization10.1145/350525119:2(1-27)Online publication date: 7-Mar-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media