Performance modeling and prediction for scientific Java applications
With the expansion of the Internet, the grid has become an attractive platform for scientific computing. Java, with a platform-independent execution model and built-in support for distributed computing is an inviting choice for implementation of applications intended for grid execution. Recent work...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Tagungsbericht |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 210 |
---|---|
container_issue | |
container_start_page | 199 |
container_title | |
container_volume | |
creator | Rui Zhang Budimlic, Z. Kennedy, K. |
description | With the expansion of the Internet, the grid has become an attractive platform for scientific computing. Java, with a platform-independent execution model and built-in support for distributed computing is an inviting choice for implementation of applications intended for grid execution. Recent work has shown that an accurate performance model combined with a load-balancing scheduling strategy can significantly improve the performance of distributed applications on a heterogeneous computing platform, such as the grid. However, current performance modeling techniques are not suitable for Java applications, as the virtual machine execution model presents several difficulties: 1) a significant amount of time is spent on compilation at the beginning of the execution, 2) the virtual machine continuously profiles and recompiles the code during the execution, 3) garbage collection can have unpredictable effects on memory hierarchy, 4) some applications can spend more time garbage collecting than computing for certain heap sizes and 5) small variations in virtual machine implementation can have a large impact on the application's behavior. In this paper, we present a practical profile-based strategy for performance modeling of Java scientific applications intended for execution on the grid. We introduce two novel concepts for the Java execution model: point of predictability (PoP) and point of unpredictability (PoU). PoP accounts for the volatile nature of the effects of the virtual machine on execution time for small problem sizes. PoU accounts for the effects of garbage collection on certain applications that have a memory footprint that approaches the total heap size. We present an algorithm for determining PoP and PoU for Java applications, given the hardware platform, virtual machine and heap size. We also present a code-instrumentation-based mechanism for building the algorithm complexity model for a given application. We introduce a technique for calibrating this model that is able to accurately predict the execution time of Java programs for problem sizes between PoP and PoU. Our preliminary experiments show that techniques can achieve load balancing with more than 90% average CPU utilization. |
doi_str_mv | 10.1109/ISPASS.2006.1620804 |
format | Conference Proceeding |
fullrecord | <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_1620804</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>1620804</ieee_id><sourcerecordid>1620804</sourcerecordid><originalsourceid>FETCH-LOGICAL-i220t-e3a6a126bf759d3f54d9519b764f70fa5ab09afec16905176e9e3e48ba97989a3</originalsourceid><addsrcrecordid>eNotj81Kw0AUhQdEUGufoJt5gcQ7v8ldlvrXUrAQXZebyR0ZSdKQBMG3t2LP5iy-wwdHiJWCXCnAh211WFdVrgF8rryGEuyVuFNWWwuq9HAjltP0BecYdKX1t-LxwGM8jR31gWV3arhN_aekvpHDyE0Kczr18jyQU0jczymmIHf0TZKGoU2B_vh0L64jtRMvL70QH89P75vXbP_2st2s91nSGuaMDXlS2texcNiY6GyDTmFdeBsLiOSoBqTIQXkEpwrPyIZtWRMWWCKZhVj9exMzH4cxdTT-HC9HzS8qBEo2</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Performance modeling and prediction for scientific Java applications</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Rui Zhang ; Budimlic, Z. ; Kennedy, K.</creator><creatorcontrib>Rui Zhang ; Budimlic, Z. ; Kennedy, K.</creatorcontrib><description>With the expansion of the Internet, the grid has become an attractive platform for scientific computing. Java, with a platform-independent execution model and built-in support for distributed computing is an inviting choice for implementation of applications intended for grid execution. Recent work has shown that an accurate performance model combined with a load-balancing scheduling strategy can significantly improve the performance of distributed applications on a heterogeneous computing platform, such as the grid. However, current performance modeling techniques are not suitable for Java applications, as the virtual machine execution model presents several difficulties: 1) a significant amount of time is spent on compilation at the beginning of the execution, 2) the virtual machine continuously profiles and recompiles the code during the execution, 3) garbage collection can have unpredictable effects on memory hierarchy, 4) some applications can spend more time garbage collecting than computing for certain heap sizes and 5) small variations in virtual machine implementation can have a large impact on the application's behavior. In this paper, we present a practical profile-based strategy for performance modeling of Java scientific applications intended for execution on the grid. We introduce two novel concepts for the Java execution model: point of predictability (PoP) and point of unpredictability (PoU). PoP accounts for the volatile nature of the effects of the virtual machine on execution time for small problem sizes. PoU accounts for the effects of garbage collection on certain applications that have a memory footprint that approaches the total heap size. We present an algorithm for determining PoP and PoU for Java applications, given the hardware platform, virtual machine and heap size. We also present a code-instrumentation-based mechanism for building the algorithm complexity model for a given application. We introduce a technique for calibrating this model that is able to accurately predict the execution time of Java programs for problem sizes between PoP and PoU. Our preliminary experiments show that techniques can achieve load balancing with more than 90% average CPU utilization.</description><identifier>ISBN: 1424401860</identifier><identifier>ISBN: 9781424401864</identifier><identifier>DOI: 10.1109/ISPASS.2006.1620804</identifier><language>eng</language><publisher>IEEE</publisher><subject>Distributed computing ; Grid computing ; Hardware ; Internet ; Java ; Load management ; Predictive models ; Processor scheduling ; Scientific computing ; Virtual machining</subject><ispartof>2006 IEEE International Symposium on Performance Analysis of Systems and Software, 2006, p.199-210</ispartof><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/1620804$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2056,4048,4049,27924,54919</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/1620804$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Rui Zhang</creatorcontrib><creatorcontrib>Budimlic, Z.</creatorcontrib><creatorcontrib>Kennedy, K.</creatorcontrib><title>Performance modeling and prediction for scientific Java applications</title><title>2006 IEEE International Symposium on Performance Analysis of Systems and Software</title><addtitle>ISPASS</addtitle><description>With the expansion of the Internet, the grid has become an attractive platform for scientific computing. Java, with a platform-independent execution model and built-in support for distributed computing is an inviting choice for implementation of applications intended for grid execution. Recent work has shown that an accurate performance model combined with a load-balancing scheduling strategy can significantly improve the performance of distributed applications on a heterogeneous computing platform, such as the grid. However, current performance modeling techniques are not suitable for Java applications, as the virtual machine execution model presents several difficulties: 1) a significant amount of time is spent on compilation at the beginning of the execution, 2) the virtual machine continuously profiles and recompiles the code during the execution, 3) garbage collection can have unpredictable effects on memory hierarchy, 4) some applications can spend more time garbage collecting than computing for certain heap sizes and 5) small variations in virtual machine implementation can have a large impact on the application's behavior. In this paper, we present a practical profile-based strategy for performance modeling of Java scientific applications intended for execution on the grid. We introduce two novel concepts for the Java execution model: point of predictability (PoP) and point of unpredictability (PoU). PoP accounts for the volatile nature of the effects of the virtual machine on execution time for small problem sizes. PoU accounts for the effects of garbage collection on certain applications that have a memory footprint that approaches the total heap size. We present an algorithm for determining PoP and PoU for Java applications, given the hardware platform, virtual machine and heap size. We also present a code-instrumentation-based mechanism for building the algorithm complexity model for a given application. We introduce a technique for calibrating this model that is able to accurately predict the execution time of Java programs for problem sizes between PoP and PoU. Our preliminary experiments show that techniques can achieve load balancing with more than 90% average CPU utilization.</description><subject>Distributed computing</subject><subject>Grid computing</subject><subject>Hardware</subject><subject>Internet</subject><subject>Java</subject><subject>Load management</subject><subject>Predictive models</subject><subject>Processor scheduling</subject><subject>Scientific computing</subject><subject>Virtual machining</subject><isbn>1424401860</isbn><isbn>9781424401864</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2006</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNotj81Kw0AUhQdEUGufoJt5gcQ7v8ldlvrXUrAQXZebyR0ZSdKQBMG3t2LP5iy-wwdHiJWCXCnAh211WFdVrgF8rryGEuyVuFNWWwuq9HAjltP0BecYdKX1t-LxwGM8jR31gWV3arhN_aekvpHDyE0Kczr18jyQU0jczymmIHf0TZKGoU2B_vh0L64jtRMvL70QH89P75vXbP_2st2s91nSGuaMDXlS2texcNiY6GyDTmFdeBsLiOSoBqTIQXkEpwrPyIZtWRMWWCKZhVj9exMzH4cxdTT-HC9HzS8qBEo2</recordid><startdate>2006</startdate><enddate>2006</enddate><creator>Rui Zhang</creator><creator>Budimlic, Z.</creator><creator>Kennedy, K.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>2006</creationdate><title>Performance modeling and prediction for scientific Java applications</title><author>Rui Zhang ; Budimlic, Z. ; Kennedy, K.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i220t-e3a6a126bf759d3f54d9519b764f70fa5ab09afec16905176e9e3e48ba97989a3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2006</creationdate><topic>Distributed computing</topic><topic>Grid computing</topic><topic>Hardware</topic><topic>Internet</topic><topic>Java</topic><topic>Load management</topic><topic>Predictive models</topic><topic>Processor scheduling</topic><topic>Scientific computing</topic><topic>Virtual machining</topic><toplevel>online_resources</toplevel><creatorcontrib>Rui Zhang</creatorcontrib><creatorcontrib>Budimlic, Z.</creatorcontrib><creatorcontrib>Kennedy, K.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Rui Zhang</au><au>Budimlic, Z.</au><au>Kennedy, K.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Performance modeling and prediction for scientific Java applications</atitle><btitle>2006 IEEE International Symposium on Performance Analysis of Systems and Software</btitle><stitle>ISPASS</stitle><date>2006</date><risdate>2006</risdate><spage>199</spage><epage>210</epage><pages>199-210</pages><isbn>1424401860</isbn><isbn>9781424401864</isbn><abstract>With the expansion of the Internet, the grid has become an attractive platform for scientific computing. Java, with a platform-independent execution model and built-in support for distributed computing is an inviting choice for implementation of applications intended for grid execution. Recent work has shown that an accurate performance model combined with a load-balancing scheduling strategy can significantly improve the performance of distributed applications on a heterogeneous computing platform, such as the grid. However, current performance modeling techniques are not suitable for Java applications, as the virtual machine execution model presents several difficulties: 1) a significant amount of time is spent on compilation at the beginning of the execution, 2) the virtual machine continuously profiles and recompiles the code during the execution, 3) garbage collection can have unpredictable effects on memory hierarchy, 4) some applications can spend more time garbage collecting than computing for certain heap sizes and 5) small variations in virtual machine implementation can have a large impact on the application's behavior. In this paper, we present a practical profile-based strategy for performance modeling of Java scientific applications intended for execution on the grid. We introduce two novel concepts for the Java execution model: point of predictability (PoP) and point of unpredictability (PoU). PoP accounts for the volatile nature of the effects of the virtual machine on execution time for small problem sizes. PoU accounts for the effects of garbage collection on certain applications that have a memory footprint that approaches the total heap size. We present an algorithm for determining PoP and PoU for Java applications, given the hardware platform, virtual machine and heap size. We also present a code-instrumentation-based mechanism for building the algorithm complexity model for a given application. We introduce a technique for calibrating this model that is able to accurately predict the execution time of Java programs for problem sizes between PoP and PoU. Our preliminary experiments show that techniques can achieve load balancing with more than 90% average CPU utilization.</abstract><pub>IEEE</pub><doi>10.1109/ISPASS.2006.1620804</doi><tpages>12</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | ISBN: 1424401860 |
ispartof | 2006 IEEE International Symposium on Performance Analysis of Systems and Software, 2006, p.199-210 |
issn | |
language | eng |
recordid | cdi_ieee_primary_1620804 |
source | IEEE Electronic Library (IEL) Conference Proceedings |
subjects | Distributed computing Grid computing Hardware Internet Java Load management Predictive models Processor scheduling Scientific computing Virtual machining |
title | Performance modeling and prediction for scientific Java applications |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-10T23%3A41%3A10IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Performance%20modeling%20and%20prediction%20for%20scientific%20Java%20applications&rft.btitle=2006%20IEEE%20International%20Symposium%20on%20Performance%20Analysis%20of%20Systems%20and%20Software&rft.au=Rui%20Zhang&rft.date=2006&rft.spage=199&rft.epage=210&rft.pages=199-210&rft.isbn=1424401860&rft.isbn_list=9781424401864&rft_id=info:doi/10.1109/ISPASS.2006.1620804&rft_dat=%3Cieee_6IE%3E1620804%3C/ieee_6IE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=1620804&rfr_iscdi=true |