Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2834899.2834906acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article

Accelerating dynamically typed languages with a virtual function cache

Published: 15 November 2015 Publication History

Abstract

Dynamically typed languages are increasingly important to programmers of all levels because they allow for extended class hierarchies with shared interfaces and inheritance. Virtual functions are a key element in implementing these interesting and useful features. In addition, virtual functions support other applications of dynamic function dispatch, including runtime selection of optimized function variants. However, virtual functions are more costly than static equivalents, leading to their avoidance in current high-performance computing environments. This research proposes additional hardware support for the execution of virtual function calls in the form of a Virtual Function Cache in an effort to improve overall performance of dynamically typed languages and other applications of indirect function calls. We present conceptual and technical background to motivate the introduction of the Virtual Function Cache, in addition to outlining our initial implementation of the Virtual Function Cache and analyzing preliminary results.

References

[1]
B. Stroustrup. The Design and Evolution of C++. Addison-Wesley. 1994.
[2]
O. Anderson, E. Fortuna, L. Ceze, S. Eggers. Checked Load: Architectural Support for JavaScript Type-Checking on Mobile Processors. In High Performance Computer Architecture (HPCA). 2011.
[3]
G. Dot, A. MartÃnez, A. GonzÃąlez. Analysis and Optimization of JavaScript Engines. In Principles and Practice of Parallel Programming: First Workshop on the High Performance Scripting Languages. 2015.
[4]
T. Carlson, W. Heirman, S. Eyerman, I. Hur, L. Eeckhout. An Evaluation of High-Level Mechanistic Core Models. ACM Transactions on Architecture and Code Optimization (TACO). April 2014.
[5]
Solarian Sort Benchmark. https://github.com/sol-prog/Sort_benchmark accessed August 2015
[6]
Deal.II Finite Element Library. http://www.dealii.org/ accessed August 2015
[7]
T. Yiyu, Y. Chihang, A. Fong. Architectural Support on Object-Oriented Programming in a JAVA Processor, Application-specific Systems, Architectures and Processors, 2006. ASAP '06. International Conference on, vol., no., pp.303,310, Sept. 2006

Cited By

View all
  • (2017)SAVI objects: sharing and virtuality incorporatedProceedings of the ACM on Programming Languages10.1145/31338691:OOPSLA(1-24)Online publication date: 12-Oct-2017

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Co-HPC '15: Proceedings of the 2nd International Workshop on Hardware-Software Co-Design for High Performance Computing
November 2015
61 pages
ISBN:9781450339926
DOI:10.1145/2834899
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: 15 November 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. C.1.3 - pipeline processors
  2. D.1.5 - object-oriented programming
  3. virtual function
  4. virtual function cache

Qualifiers

  • Research-article

Conference

SC15
Sponsor:

Acceptance Rates

Co-HPC '15 Paper Acceptance Rate 7 of 13 submissions, 54%;
Overall Acceptance Rate 7 of 13 submissions, 54%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2017)SAVI objects: sharing and virtuality incorporatedProceedings of the ACM on Programming Languages10.1145/31338691:OOPSLA(1-24)Online publication date: 12-Oct-2017

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