Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Programming model for a heterogeneous x86 platform

Published: 15 June 2009 Publication History

Abstract

The client computing platform is moving towards a heterogeneous architecture consisting of a combination of cores focused on scalar performance, and a set of throughput-oriented cores. The throughput oriented cores (e.g. a GPU) may be connected over both coherent and non-coherent interconnects, and have different ISAs. This paper describes a programming model for such heterogeneous platforms. We discuss the language constructs, runtime implementation, and the memory model for such a programming environment. We implemented this programming environment in a x86 heterogeneous platform simulator. We ported a number of workloads to our programming environment, and present the performance of our programming environment on these workloads.

References

[1]
Adve S, Adve V, Hill M.D. and Vernon M.K. Comparison of Hardware and Software Cache Coherence Schemes. ISCA 1991.
[2]
AMD CTM http://ati.amd.com/companyinfo/researcher/documents/ ATI_CTM_Guide.pdf
[3]
AMD Stream SDK, ati.amd.com/technology/streamcomputing.
[4]
Amza C., Cox A.L., Dwarkadas S., Keleher P., Lu H., Rajamony R., Yu W., Zwaenepoel W. TreadMarks: Shared Memory Computing on Networks of Workstations. IEEE Computer, Feb 1996.
[5]
Boehm H., Adve S. Foundations of the C++ memory model. Programming Language Design and Implementation (PLDI). 2008.
[6]
Dubey P. Recognition, Mining, and Synthesis moves computers to the era of tera. Technology@Intel, Feb 2005.
[7]
Gelado I., Kelm J.H., Ryoo S., Navarro N., Lumetta S.S., Hwu W.W. CUBA: An Architecture for Efficient CPU/Co-processor Data Communication. ICS, June 2008.
[8]
Gschwind M., Hofstee H.P., Flachs B., Hopkins M., Watanabe Y., Yamakazi T. Synergistic Processing in Cell's Multicore Architecture. IEEE Micro, April 2006.
[9]
Kontothanasis L., Stets R., Hunt G., Rencuzogullari U., Altekar G., Dwarkadas S., Scott M.L. Shared Memory Computing on Clusters with Symmetric Multiprocessors and System Area Networks. ACM Transactions on Computer Systems, Aug 2005.
[10]
Luebke, D., Harris, M., Krüger, J., Purcell, T., Govindaraju, N., Buck, I., Woolley, C., and Lefohn, A. 2004. GPGPU: general purpose computation on graphics hardware. SIGGRAPH 2004.
[11]
Nvidia Corp, CUDA Programming Environment, www.nvidia.com/object/cuda_what_is.html.
[12]
OpenCL 1.0, http://www.khronos.org/opencl/.
[13]
Ryoo S., Rodrigues C.I., Baghsorki S.S., Stone S.S., Kirk D.B., Hwu W.W. Optimization Principles and Application Performance Evaluation of a Multithreaded LRB using CUDA. PPoPP 2008.
[14]
Saraswat, V. A., Sarkar, V., and von Praun, C. 2007. X10: concurrent programming for modern architectures. PPoPP 2007.
[15]
Saha, B., Adl-Tabatabai, A., Ghuloum, A., Rajagopalan, M., Hudson, R. L., Petersen, L., Menon, V., Murphy, B., Shpeisman, T., Sprangle, E., Rohillah, A., Carmean, D., and Fang, J. 2007. Enabling scalability and performance in a large scale CMP environment. Eurosys 2007.
[16]
Seiler L., Carmean D., Sprangle E., Forsyth T., Abrash M., Dubey P., Junkins S., Lake A., Sugerman J., Cavin R., Espasa R., Grochowski E., Juan T., Hanrahan P. Larrabee: A Many-Core x86 Architecture for Visual Computing. ACM Transactions on Graphics, August 2008.
[17]
UPC Consortium, UPC language specifications. Lawrence Berkeley National Lab Tech Report LBNL--59208, 2005.
[18]
Wang P., Collins J.D., Chinya G. N., Jiang H., Tian X., Girkar M., Yang N. Y., Lueh G., Wang H. Exochi: Architecture and programming environment for a heterogeneous multi-core multithreaded system. PLDI 2007.

Cited By

View all
  • (2019)Reverse Offload Programming on Heterogeneous SystemsIEEE Access10.1109/ACCESS.2019.28917407(10787-10797)Online publication date: 2019
  • (2018)Review of Programming and Performance Optimization on CPU-MIC Heterogeneous System2018 IEEE 3rd International Conference on Image, Vision and Computing (ICIVC)10.1109/ICIVC.2018.8492841(894-900)Online publication date: Jun-2018
  • (2017)Efficient exception handling support for GPUsProceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3123939.3123950(109-122)Online publication date: 14-Oct-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 44, Issue 6
PLDI '09
June 2009
478 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1543135
Issue’s Table of Contents
  • cover image ACM Conferences
    PLDI '09: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation
    June 2009
    492 pages
    ISBN:9781605583921
    DOI:10.1145/1542476
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2009
Published in SIGPLAN Volume 44, Issue 6

Check for updates

Author Tags

  1. heterogeneous platforms
  2. programming model

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)1
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Reverse Offload Programming on Heterogeneous SystemsIEEE Access10.1109/ACCESS.2019.28917407(10787-10797)Online publication date: 2019
  • (2018)Review of Programming and Performance Optimization on CPU-MIC Heterogeneous System2018 IEEE 3rd International Conference on Image, Vision and Computing (ICIVC)10.1109/ICIVC.2018.8492841(894-900)Online publication date: Jun-2018
  • (2017)Efficient exception handling support for GPUsProceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3123939.3123950(109-122)Online publication date: 14-Oct-2017
  • (2015)A Survey of CPU-GPU Heterogeneous Computing TechniquesACM Computing Surveys10.1145/278839647:4(1-35)Online publication date: 21-Jul-2015
  • (2015)iConnACM Journal on Emerging Technologies in Computing Systems10.1145/270023811:4(1-23)Online publication date: 27-Apr-2015
  • (2014)Two-phase execution of binary applications on CPU/GPU machinesComputers and Electrical Engineering10.1016/j.compeleceng.2014.02.00240:5(1567-1579)Online publication date: 1-Jul-2014
  • (2013)Offload Compiler Runtime for the Intel® Xeon PhiTM CoprocessorSupercomputing10.1007/978-3-642-38750-0_18(239-254)Online publication date: 2013
  • (2012)HarmonyProceedings of the 39th Annual International Symposium on Computer Architecture10.5555/2337159.2337211(452-463)Online publication date: 9-Jun-2012
  • (2012)HarmonyACM SIGARCH Computer Architecture News10.1145/2366231.233721140:3(452-463)Online publication date: 9-Jun-2012
  • (2012)Compiler and runtime support for enabling reduction computations on heterogeneous systemsConcurrency and Computation: Practice & Experience10.1002/cpe.184824:5(463-480)Online publication date: 1-Apr-2012
  • 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