skip to main content
10.1145/1542476.1542525acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Programming model for a heterogeneous x86 platform

Published:15 June 2009Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AMD CTM http://ati.amd.com/companyinfo/researcher/documents/ ATI_CTM_Guide.pdfGoogle ScholarGoogle Scholar
  3. AMD Stream SDK, ati.amd.com/technology/streamcomputing.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Boehm H., Adve S. Foundations of the C++ memory model. Programming Language Design and Implementation (PLDI). 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Dubey P. Recognition, Mining, and Synthesis moves computers to the era of tera. Technology@Intel, Feb 2005.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Nvidia Corp, CUDA Programming Environment, www.nvidia.com/object/cuda_what_is.html.Google ScholarGoogle Scholar
  12. OpenCL 1.0, http://www.khronos.org/opencl/.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Saraswat, V. A., Sarkar, V., and von Praun, C. 2007. X10: concurrent programming for modern architectures. PPoPP 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. UPC Consortium, UPC language specifications. Lawrence Berkeley National Lab Tech Report LBNL--59208, 2005.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Programming model for a heterogeneous x86 platform

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          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
          • 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

          Copyright © 2009 ACM

          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

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate406of2,067submissions,20%

          Upcoming Conference

          PLDI '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader