{"id":"https://openalex.org/W4252084073","doi":"https://doi.org/10.1145/1640089.1640100","title":"How a Java VM can get more from a hardware performance monitor","display_name":"How a Java VM can get more from a hardware performance monitor","publication_year":2009,"publication_date":"2009-10-25","ids":{"openalex":"https://openalex.org/W4252084073","doi":"https://doi.org/10.1145/1640089.1640100"},"language":"en","primary_location":{"id":"doi:10.1145/1640089.1640100","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1640089.1640100","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101774031","display_name":"Hiroshi Inoue","orcid":"https://orcid.org/0000-0002-8238-0371"},"institutions":[{"id":"https://openalex.org/I4210145865","display_name":"IBM Research - Tokyo","ror":"https://ror.org/04915qk43","country_code":"JP","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115","https://openalex.org/I4210145865"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Hiroshi Inoue","raw_affiliation_strings":["IBM, Kanagawa, Japan"],"affiliations":[{"raw_affiliation_string":"IBM, Kanagawa, Japan","institution_ids":["https://openalex.org/I4210145865"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5006642369","display_name":"Toshio Nakatani","orcid":null},"institutions":[{"id":"https://openalex.org/I4210145865","display_name":"IBM Research - Tokyo","ror":"https://ror.org/04915qk43","country_code":"JP","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115","https://openalex.org/I4210145865"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Toshio Nakatani","raw_affiliation_strings":["IBM, Kanagawa, Japan"],"affiliations":[{"raw_affiliation_string":"IBM, Kanagawa, Japan","institution_ids":["https://openalex.org/I4210145865"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5101774031"],"corresponding_institution_ids":["https://openalex.org/I4210145865"],"apc_list":null,"apc_paid":null,"fwci":1.0553,"has_fulltext":false,"cited_by_count":19,"citation_normalized_percentile":{"value":0.80444006,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"137","last_page":"154"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8703793287277222},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7384814023971558},{"id":"https://openalex.org/keywords/profiling","display_name":"Profiling (computer programming)","score":0.6306729316711426},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5618966817855835},{"id":"https://openalex.org/keywords/embedded-java","display_name":"Embedded Java","score":0.4692685008049011},{"id":"https://openalex.org/keywords/leverage","display_name":"Leverage (statistics)","score":0.4685305953025818},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.4018952548503876},{"id":"https://openalex.org/keywords/strictfp","display_name":"strictfp","score":0.3955165147781372},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.306416392326355}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8703793287277222},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7384814023971558},{"id":"https://openalex.org/C187191949","wikidata":"https://www.wikidata.org/wiki/Q1138496","display_name":"Profiling (computer programming)","level":2,"score":0.6306729316711426},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5618966817855835},{"id":"https://openalex.org/C175224512","wikidata":"https://www.wikidata.org/wiki/Q1334980","display_name":"Embedded Java","level":5,"score":0.4692685008049011},{"id":"https://openalex.org/C153083717","wikidata":"https://www.wikidata.org/wiki/Q6535263","display_name":"Leverage (statistics)","level":2,"score":0.4685305953025818},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.4018952548503876},{"id":"https://openalex.org/C174954855","wikidata":"https://www.wikidata.org/wiki/Q7623626","display_name":"strictfp","level":4,"score":0.3955165147781372},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.306416392326355},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1640089.1640100","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1640089.1640100","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1988927353","https://openalex.org/W2013678664","https://openalex.org/W2020184687","https://openalex.org/W2024512547","https://openalex.org/W2040593910","https://openalex.org/W2057907247","https://openalex.org/W2064677427","https://openalex.org/W2065773673","https://openalex.org/W2067406582","https://openalex.org/W2076264849","https://openalex.org/W2077324087","https://openalex.org/W2094449661","https://openalex.org/W2097077279","https://openalex.org/W2102674270","https://openalex.org/W2108229043","https://openalex.org/W2114459515","https://openalex.org/W2130958336","https://openalex.org/W2131040110","https://openalex.org/W2135740686","https://openalex.org/W2144300381","https://openalex.org/W2161324505","https://openalex.org/W4241060387","https://openalex.org/W4248649658","https://openalex.org/W4250784990"],"related_works":["https://openalex.org/W1780290295","https://openalex.org/W2948473269","https://openalex.org/W2121819567","https://openalex.org/W1553103764","https://openalex.org/W2563281015","https://openalex.org/W2098862077","https://openalex.org/W4242879402","https://openalex.org/W4255950411","https://openalex.org/W2494325768","https://openalex.org/W2360912707"],"abstract_inverted_index":{"This":[0],"paper":[1],"describes":[2],"our":[3],"sampling-based":[4],"profiler":[5,28],"that":[6,79,180],"exploits":[7],"a":[8,73,134,152,191],"processor's":[9],"HPM":[10,55,66,163,211],"(Hardware":[11],"Performance":[12],"Monitor)":[13],"to":[14,48,56,71,77,204,212],"collect":[15],"information":[16,208],"on":[17,83,166],"running":[18],"Java":[19,25,42,117],"applications":[20],"for":[21,116],"use":[22],"by":[23,142],"the":[24,50,54,69,88,92,109,113,121,143,146,159,167,174,184,210,216],"VM.":[26],"Our":[27,195],"provides":[29],"two":[30],"novel":[31],"features:":[32],"Java-level":[33],"event":[34,39,148],"profiling":[35],"and":[36,61,201,214],"lightweight":[37],"context-sensitive":[38,147],"profiling.":[40],"For":[41,120,145],"events,":[43],"we":[44,107,125,150],"propose":[45,151],"new":[46,153],"techniques":[47,197],"leverage":[49],"sampling":[51,67],"facility":[52],"of":[53,162,173],"generate":[57],"object":[58,89,110,118],"creation":[59],"profiles":[60],"lock":[62,122],"activity":[63,123],"profiles.":[64],"The":[65],"is":[68],"key":[70],"achieve":[72],"smaller":[74],"overhead":[75],"compared":[76],"profilers":[78],"do":[80],"not":[81],"rely":[82],"hardware":[84,98],"helps.":[85],"To":[86],"sample":[87,97],"creations":[90,111],"with":[91,112],"HPM,":[93],"which":[94,132,157],"can":[95,182],"only":[96],"events":[99,164],"such":[100],"as":[101],"executed":[102],"instructions":[103,115],"or":[104],"cache":[105],"misses,":[106],"correlate":[108],"store":[114],"headers.":[119],"profile,":[124],"introduce":[126],"an":[127],"instrumentation-based":[128],"technique,":[129],"called":[130,155],"ProbeNOP,":[131],"uses":[133],"special":[135],"NOP":[136],"instruction":[137],"whose":[138],"executions":[139],"are":[140],"counted":[141],"HPM.":[144],"profiling,":[149],"technique":[154],"CallerChaining,":[156],"detects":[158],"calling":[160,185],"context":[161],"based":[165],"call":[168],"stack":[169,175],"depth":[170],"(the":[171],"value":[172],"frame":[176],"pointer).":[177],"We":[178],"show":[179],"it":[181],"detect":[183],"contexts":[186],"in":[187],"many":[188],"programs":[189,217],"including":[190],"large":[192],"commercial":[193],"application.":[194],"proposed":[196],"enable":[198],"both":[199],"programmers":[200],"runtime":[202,221],"systems":[203],"get":[205],"more":[206],"valuable":[207],"from":[209],"understand":[213],"optimize":[215],"without":[218],"adding":[219],"significant":[220],"overhead.":[222]},"counts_by_year":[{"year":2019,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
