skip to main content
10.1145/2150976.2151004acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Execution migration in a heterogeneous-ISA chip multiprocessor

Published:03 March 2012Publication History

ABSTRACT

Prior research has shown that single-ISA heterogeneous chip multiprocessors have the potential for greater performance and energy efficiency than homogeneous CMPs. However, restricting the cores to a single ISA removes an important opportunity for greater heterogeneity. To take full advantage of a heterogeneous-ISA CMP, however, we must be able to migrate execution among heterogeneous cores in order to adapt to program phase changes and changing external conditions (e.g., system power state).

This paper explores migration on heterogeneous-ISA CMPs. This is non-trivial because program state is kept in an architecture-specific form; therefore, state transformation is necessary for migration. To keep migration cost low, the amount of state that requires transformation must be minimized. This work identifies large portions of program state whose form is not critical for performance; the compiler is modified to produce programs that keep most of their state in an architecture-neutral form so that only a small number of data items must be repositioned and no pointers need to be changed. The result is low migration cost with minimal sacrifice of non-migration performance.

Additionally, this work leverages binary translation to enable instantaneous migration. When migration is requested, the program is immediately migrated to a different core where binary translation runs for a short time until a function call is reached, at which point program state is transformed and execution continues natively on the new core.

This system can tolerate migrations as often as every 100 ms and still retain 95% of the performance of a system that does not do, or support, migration.

References

  1. ARM Limited. ARM Architecture Reference Manual.Google ScholarGoogle Scholar
  2. F. Bellard. Qemu, a fast and portable dynamic translator. In USENIX Technical Conference, Apr. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. L. Binkert, R. G. Dreslinski, L. R. Hsu, K. T. Lim, A. G. Saidi, and S. K. Reinhardt. The M5 simulator: Modeling networked systems. International Symposium on Microarchitecture, Dec. 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Bronevetsky, D. Marques, K. Pingali, and P. Stodghill. Automated application-level checkpointing of MPI programs. In Symposium on Principles and Practice of Parallel Programming, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C-Port Corp. C-5 Network Processor Architecture Guide.Google ScholarGoogle Scholar
  6. J.-Y. Chen, W. Yang, T.-H. Hung, H.-M. Su, and W.-C. Hsu. A static binary translator for efficient migration of ARM-based applications. In Workshop on Optimizations for DSP and Embedded Systems, Apr. 2008.Google ScholarGoogle Scholar
  7. L. P. Deutsch and A. M. Schiffman. Efficient implementation of the smalltalk-80 system. In Symposium on Principles of Programming Languages, Jan. 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F. B. Dubach, R. M. Rutherford, and C. M. Shub. Process-originated migration in a heterogeneous environment. In ACM Annual Computer Science Conference, Feb. 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Dutta, R. Jensen, and A. Rieckmann. Viper: A multiprocessor SoC for advanced set-top box and digital TV systems. Design & Test of Computers, IEEE, 18(5), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Fernandes, K. Pingali, and P. Stodghill. Mobile MPI programs in computational grids. In Symposium on Principles and Practice of Parallel Programming, Mar. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Ferrari, S. J. Chapin, and A. Grimshaw. Heterogeneous process state capture and recovery through process introspection. Cluster Computing, 3(2), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Hill and M. Marty. Amdahl's law in the multicore era. Computer, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. A. Kahle, M. N. Day, H. P. Hofstee, C. R. Johns, T. R. Maeurer, and D. Shippy. Introduction to the cell multiprocessor. IBM Journal of Research and Development, July 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. F. Karablieh, R. Bazzi, and M. Hicks. Compiler-assisted heterogeneous checkpointing. Oct. 2001.Google ScholarGoogle Scholar
  15. R. Kumar, K. I. Farkas, N. P. Jouppi, P. Ranganathan, and D. M. Tullsen. Single-ISA Heterogeneous Multi-core Architectures: The Potential for Processor Power Reduction. In International Symposium on Microarchitecture, Dec. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Kumar, D. M. Tullsen, N. Jouppi, and P. Ranganathan. Heterogeneous chip multiprocessors. Computer, 38(11), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Kumar, D. M. Tullsen, P. Ranganathan, N. P. Jouppi, and K. I. Farkas. Single-ISA Heterogeneous Multi-core Architectures for Multithreaded Workload Performance. In International Symposium on Computer Architecture, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. MIPS Technologies, Inc. MIPS32 Architecture for Programmers Volume II: The MIPS32 Instruction Set.Google ScholarGoogle Scholar
  19. B. Ramkumar and V. Strumpen. Portable checkpointing for heterogeneous archtitectures. International Symposium on Fault-Tolerant Computing, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. C. Ray and R. Hookway. DIGITAL FX!32 running 32-bit x86 applications on alpha NT. In USENIX Windows NT Workshop, Aug. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. M. Shub. Native code process-originated migration in a heterogeneous environment. In ACM Conference on Cooperation, Feb. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Smith and R. Nair. Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann Publishers Inc., June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. Smith and N. C. Hutchinson. Heterogeneous process migration: the Tui system. Software -- Practice and Experience, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. B. Steensgaard and E. Jul. Object and native code thread mobility among heterogeneous computers (includes sources). In Symposium on Operating Systems Principles, Dec. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. V. Strumpen. Compiler technology for portable checkpoints. Technical report, Laboratory for Computer Science, Massachusetts Institute of Technology, 1998.Google ScholarGoogle Scholar
  26. V. Strumpen and B. Ramkumar. Portable checkpointing and recovery in heterogeneous environments. Technical report, University of Iowa, June 1996.Google ScholarGoogle Scholar
  27. Texas Instruments Inc. OMAP5912 Multimedia Processor Device Overview and Architecture Reference Guide.Google ScholarGoogle Scholar
  28. R. Veldema and M. Philippsen. Near overhead-free heterogeneous thread-migration. In Cluster Computing, Sept. 2005.Google ScholarGoogle Scholar
  29. D. G. von Bank, C. M. Shub, and R. W. Sebesta. A unified model of pointwise equivalence of procedural computations. ACM Transactions on Programming Languages and Systems, 16(6), 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C. Zheng and C. Thompson. PA-RISC to IA-64: Transparent execution, no recompilation. Computer, Mar. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Execution migration in a heterogeneous-ISA chip multiprocessor

    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
      ASPLOS XVII: Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
      March 2012
      476 pages
      ISBN:9781450307598
      DOI:10.1145/2150976
      • cover image ACM SIGARCH Computer Architecture News
        ACM SIGARCH Computer Architecture News  Volume 40, Issue 1
        ASPLOS '12
        March 2012
        453 pages
        ISSN:0163-5964
        DOI:10.1145/2189750
        Issue’s Table of Contents
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 4
        ASPLOS '12
        April 2012
        453 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2248487
        Issue’s Table of Contents

      Copyright © 2012 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: 3 March 2012

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate535of2,713submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader