Loading…

Novel Online Profiling for Virtual Machines

Application profiling is a popular technique to improve program performance based on its behavior. Offline profiling, although beneficial for several applications, fails in cases where prior program runs may not be feasible, or if changes in input cause the profile to not match the behavior of the a...

Full description

Saved in:
Bibliographic Details
Published in:ACM SIGPLAN notices 2010-07, Vol.45 (7), p.133-144
Main Authors: NAMJOSHI, Manjiri A, KULKARNI, Prasad A
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73
cites cdi_FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73
container_end_page 144
container_issue 7
container_start_page 133
container_title ACM SIGPLAN notices
container_volume 45
creator NAMJOSHI, Manjiri A
KULKARNI, Prasad A
description Application profiling is a popular technique to improve program performance based on its behavior. Offline profiling, although beneficial for several applications, fails in cases where prior program runs may not be feasible, or if changes in input cause the profile to not match the behavior of the actual program run. Managed languages, like Java and C\#, provide a unique opportunity to overcome the drawbacks of offline profiling by generating the profile information online during the current program run. Indeed, online profiling is extensively used in current VMs, especially during selective compilation to improve program startup performance, as well as during other feedback-directed optimizations. In this paper we illustrate the drawbacks of the current reactive mechanism of online profiling during selective compilation. Current VM profiling mechanisms are slow -- thereby delaying associated transformations, and estimate future behavior based on the program's immediate past -- leading to potential misspeculation that limit the benefits of compilation. We show that these drawbacks produce an average performance loss of over 14.5% on our set of benchmark programs, over an ideal offline approach that accurately compiles the hot methods early. We then propose and evaluate the potential of a novel strategy to achieve similar performance benefits with an online profiling approach. Our new online profiling strategy uses early determination of loop iteration bounds to predict future method hotness. We explore and present promising results on the potential, feasibility, and other issues involved for the successful implementation of this approach.
doi_str_mv 10.1145/1837854.1736016
format article
fullrecord <record><control><sourceid>pascalfrancis_cross</sourceid><recordid>TN_cdi_pascalfrancis_primary_23449064</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>23449064</sourcerecordid><originalsourceid>FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73</originalsourceid><addsrcrecordid>eNo9j89Lw0AQhRdRsFbPXnPxJGl3dmZ_5ChFq1DbHtRr2Gx2NRKTslsF_3tTGjzNg8f3mI-xa-AzAJJzMKiNpBloVBzUCZuAlCYHUPz0kAXmwih9zi5S-uQcDGgxYbfr_se32aZrm85n29iHZkjvWehj9tbE_bdts2frPoY2XbKzYNvkr8Y7Za8P9y-Lx3y1WT4t7la5QxD7vBZWygpURSpwjcKBErWvCRECaG1dYWruQUlONBREWsjaYyWH90PhNU7Z_LjrYp9S9KHcxebLxt8SeHlwLUfXcnQdiJsjsbPJ2TZE27km_WMCiQquCP8APTpRfw</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Novel Online Profiling for Virtual Machines</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>NAMJOSHI, Manjiri A ; KULKARNI, Prasad A</creator><creatorcontrib>NAMJOSHI, Manjiri A ; KULKARNI, Prasad A</creatorcontrib><description>Application profiling is a popular technique to improve program performance based on its behavior. Offline profiling, although beneficial for several applications, fails in cases where prior program runs may not be feasible, or if changes in input cause the profile to not match the behavior of the actual program run. Managed languages, like Java and C\#, provide a unique opportunity to overcome the drawbacks of offline profiling by generating the profile information online during the current program run. Indeed, online profiling is extensively used in current VMs, especially during selective compilation to improve program startup performance, as well as during other feedback-directed optimizations. In this paper we illustrate the drawbacks of the current reactive mechanism of online profiling during selective compilation. Current VM profiling mechanisms are slow -- thereby delaying associated transformations, and estimate future behavior based on the program's immediate past -- leading to potential misspeculation that limit the benefits of compilation. We show that these drawbacks produce an average performance loss of over 14.5% on our set of benchmark programs, over an ideal offline approach that accurately compiles the hot methods early. We then propose and evaluate the potential of a novel strategy to achieve similar performance benefits with an online profiling approach. Our new online profiling strategy uses early determination of loop iteration bounds to predict future method hotness. We explore and present promising results on the potential, feasibility, and other issues involved for the successful implementation of this approach.</description><identifier>ISSN: 1523-2867</identifier><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/1837854.1736016</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Exact sciences and technology ; Programming languages ; Software</subject><ispartof>ACM SIGPLAN notices, 2010-07, Vol.45 (7), p.133-144</ispartof><rights>2015 INIST-CNRS</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73</citedby><cites>FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,780,784,789,790,23930,23931,25140,27925</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=23449064$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>NAMJOSHI, Manjiri A</creatorcontrib><creatorcontrib>KULKARNI, Prasad A</creatorcontrib><title>Novel Online Profiling for Virtual Machines</title><title>ACM SIGPLAN notices</title><description>Application profiling is a popular technique to improve program performance based on its behavior. Offline profiling, although beneficial for several applications, fails in cases where prior program runs may not be feasible, or if changes in input cause the profile to not match the behavior of the actual program run. Managed languages, like Java and C\#, provide a unique opportunity to overcome the drawbacks of offline profiling by generating the profile information online during the current program run. Indeed, online profiling is extensively used in current VMs, especially during selective compilation to improve program startup performance, as well as during other feedback-directed optimizations. In this paper we illustrate the drawbacks of the current reactive mechanism of online profiling during selective compilation. Current VM profiling mechanisms are slow -- thereby delaying associated transformations, and estimate future behavior based on the program's immediate past -- leading to potential misspeculation that limit the benefits of compilation. We show that these drawbacks produce an average performance loss of over 14.5% on our set of benchmark programs, over an ideal offline approach that accurately compiles the hot methods early. We then propose and evaluate the potential of a novel strategy to achieve similar performance benefits with an online profiling approach. Our new online profiling strategy uses early determination of loop iteration bounds to predict future method hotness. We explore and present promising results on the potential, feasibility, and other issues involved for the successful implementation of this approach.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Exact sciences and technology</subject><subject>Programming languages</subject><subject>Software</subject><issn>1523-2867</issn><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2010</creationdate><recordtype>article</recordtype><recordid>eNo9j89Lw0AQhRdRsFbPXnPxJGl3dmZ_5ChFq1DbHtRr2Gx2NRKTslsF_3tTGjzNg8f3mI-xa-AzAJJzMKiNpBloVBzUCZuAlCYHUPz0kAXmwih9zi5S-uQcDGgxYbfr_se32aZrm85n29iHZkjvWehj9tbE_bdts2frPoY2XbKzYNvkr8Y7Za8P9y-Lx3y1WT4t7la5QxD7vBZWygpURSpwjcKBErWvCRECaG1dYWruQUlONBREWsjaYyWH90PhNU7Z_LjrYp9S9KHcxebLxt8SeHlwLUfXcnQdiJsjsbPJ2TZE27km_WMCiQquCP8APTpRfw</recordid><startdate>20100701</startdate><enddate>20100701</enddate><creator>NAMJOSHI, Manjiri A</creator><creator>KULKARNI, Prasad A</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20100701</creationdate><title>Novel Online Profiling for Virtual Machines</title><author>NAMJOSHI, Manjiri A ; KULKARNI, Prasad A</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2010</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Exact sciences and technology</topic><topic>Programming languages</topic><topic>Software</topic><toplevel>online_resources</toplevel><creatorcontrib>NAMJOSHI, Manjiri A</creatorcontrib><creatorcontrib>KULKARNI, Prasad A</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><jtitle>ACM SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>NAMJOSHI, Manjiri A</au><au>KULKARNI, Prasad A</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Novel Online Profiling for Virtual Machines</atitle><jtitle>ACM SIGPLAN notices</jtitle><date>2010-07-01</date><risdate>2010</risdate><volume>45</volume><issue>7</issue><spage>133</spage><epage>144</epage><pages>133-144</pages><issn>1523-2867</issn><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>Application profiling is a popular technique to improve program performance based on its behavior. Offline profiling, although beneficial for several applications, fails in cases where prior program runs may not be feasible, or if changes in input cause the profile to not match the behavior of the actual program run. Managed languages, like Java and C\#, provide a unique opportunity to overcome the drawbacks of offline profiling by generating the profile information online during the current program run. Indeed, online profiling is extensively used in current VMs, especially during selective compilation to improve program startup performance, as well as during other feedback-directed optimizations. In this paper we illustrate the drawbacks of the current reactive mechanism of online profiling during selective compilation. Current VM profiling mechanisms are slow -- thereby delaying associated transformations, and estimate future behavior based on the program's immediate past -- leading to potential misspeculation that limit the benefits of compilation. We show that these drawbacks produce an average performance loss of over 14.5% on our set of benchmark programs, over an ideal offline approach that accurately compiles the hot methods early. We then propose and evaluate the potential of a novel strategy to achieve similar performance benefits with an online profiling approach. Our new online profiling strategy uses early determination of loop iteration bounds to predict future method hotness. We explore and present promising results on the potential, feasibility, and other issues involved for the successful implementation of this approach.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/1837854.1736016</doi><tpages>12</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 1523-2867
ispartof ACM SIGPLAN notices, 2010-07, Vol.45 (7), p.133-144
issn 1523-2867
0362-1340
1558-1160
language eng
recordid cdi_pascalfrancis_primary_23449064
source Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)
subjects Applied sciences
Computer science
control theory
systems
Exact sciences and technology
Programming languages
Software
title Novel Online Profiling for Virtual Machines
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-05T00%3A58%3A33IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-pascalfrancis_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Novel%20Online%20Profiling%20for%20Virtual%20Machines&rft.jtitle=ACM%20SIGPLAN%20notices&rft.au=NAMJOSHI,%20Manjiri%20A&rft.date=2010-07-01&rft.volume=45&rft.issue=7&rft.spage=133&rft.epage=144&rft.pages=133-144&rft.issn=1523-2867&rft.eissn=1558-1160&rft_id=info:doi/10.1145/1837854.1736016&rft_dat=%3Cpascalfrancis_cross%3E23449064%3C/pascalfrancis_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c312t-d2a55b16b46f0732c162ded4331f177ac98d0e1650442de44725de3b5785f9e73%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true