教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

Runtime Optimizations for a Java DSM Implementation ABSTRACT

来源:网络收集 时间:2026-09-14
导读: Jackal is a fine-grained distributed shared memory implementation of the Java programming language. Jackal implements Java’s memory model and allows multithreaded Java programs to run unmodified on distributed-memory systems. This paper f

Jackal is a fine-grained distributed shared memory implementation of the Java programming language. Jackal implements Java’s memory model and allows multithreaded Java programs to run unmodified on distributed-memory systems. This paper focuses on Jackal

RuntimeOptimizationsforaJavaDSMImplementation

R.Veldema

R.F.H.Hofman

R.A.F.Bhoedjang

H.E.Bal

DepartmentofComputerScience

VrijeUniversiteit

Amsterdam,TheNetherlands

rveldema,rutger,bal@cs.vu.nl

DepartmentofComputerScience

CornellUniversityIthaca,NY,USAraoul@cs.cornell.edu

objectorasectionofaJavaarray.Incontrastwithpage-basedDSMs,Jackalusessoftwareaccesscheckstodetermineifaregionispresentinlocalmemoryandup-to-date.Ifanaccesscheckdetectsthataregionisabsentorout-of-date,itinvokesJackal’sruntimesystemwhichimplementsamultiple-writercachecoherenceprotocolthatresolvesreadandwritemisses.Aregionismanagedbyitshomenode,whichistheproces-sorthatcreatedtheassociatedobject.Jackaldoesnotuseasingle-writerprotocol,becausethatwouldrequirethecom-pilertoinformtheruntimesystemwhenaread/writeoperationhas nished;thatwouldincreasecodesizeandprotocolover-head,andposecomplicationsforthecompilerin(re)movingaccesschecks.

JackalconformstotheJavamemorymodel,whichallowscachingofobjectsin(thread)localmemoryandlogicallyre-quirescomplete ushingoflocalmemoryuponeachentryandexitofasynchronizedblock.Inoursystem,mainmemoryequatestoanobject’shomenode,andlocalmemorytotherequestingmachine’smemory.Flushingregionsandsubse-quentlyrequestingthemagainmaycausealargeoverheadun-deranaiveimplementation(especiallyusingtheclasslibrarieswhichperformmanyunnecessarysynchronizations[1]).Toreducethisoverhead,weinvestigatepossibilitiesofferedbytheJavamemorymodeltocacheregionsacrossasynchroniza-tionoperation.Thisispossibleforregionsthatareread-sharedandregionsthatareaccessedbyasinglemachine.

JackalusesanoptimizingJavacompilertogenerateaccesschecks.Intheoptimizationpassesofthecompiler,accesschecksmayberemoved,liftedorcombined.Forexample,arrayaccessesmaybecombinedandliftedfromaloopthat(partially)traversesthearray,oraccessesmaybeaggregatedwhenthecompilerdeterminesthatanobjectisusedtogetherwithitsreferencedsubobjects.Thecompileropimizationsaredescribedindetailin[24].

Thecontributionsofthispaperareasfollows:

WedescribevariousRTSoptimizationstoreducethenum-berofregion ushes.

WemeasuretheimpactoftheRTSoptimizationsforsev-eralJavaapplicationsandcomparethemtotheimpactofcompileroptimizations.

Thepaperisstructuredasfollows.Section2treatsJava’smemorymodel.Section3describesJackalanditsimplemen-tation.Section4summarizesJackal’scompileroptimizationsanddescribesournewRTSoptimizations.Section3andanex-tendedversionofSubsection4.1appearedearlierin[24],butwerepeattheseintroductorysectionsheretomakethispaper

ABSTRACT

Jackalisa ne-graineddistributedsharedmemoryimplemen-tationoftheJavaprogramminglanguage.JackalimplementsJava’smemorymodelandallowsmultithreadedJavaprogramstorununmodi edondistributed-memorysystems.

ThispaperfocusesonJackal’sruntimesystem,whichim-plementsamultiple-writer,home-basedconsistencyprotocol.ProtocolactionsaretriggeredbysoftwareaccesschecksthatJackal’scompilerinsertsbeforeobjectandarrayreferences.WedescribeoptimizationsforJackal’sruntimesystem,whichmainlyconsistofdiscoveringopportunitiestodispensewith ushingofcacheddata.Wegiveperformanceresultsfordif-ferentruntimeoptimizations,andcomparetheirimpactwiththeimpactofonecompileroptimization.We ndthatourrun-timeoptimizationsarenecessaryforgoodJackalperformance,butonlyinconjunctionwiththeJackalcompileroptimizationsdescribedin[24].Asayardstick,wecomparetheperformanceofJavaapplicationsrunonJackalwiththeperformanceofequivalentapplicationsthatuseafastimplementationofJava’sRemoteMethodInvocation(RMI)insteadofsharedmemory.

1.INTRODUCTION

Jackalisacompiler-supported, ne-graineddistributedsharedmemory(DSM)systemforJava.Thesystemcanrununmodi- ed,multithreadedJavaprogramsonaclusterofworkstations.Together,Jackal’scompilerandruntimesystem(RTS)hidethedistributednatureofthecluster:Jackalprogramsusethreadsandsharedvariablesinsteadofmessage-passingabstractionslikeRemoteMethodInvocation[19].ThispaperfocusesontheimplementationoftheRTSanditsoptimizations,whichmainlyconsistofdiscoveringopportunitiestodispensewith ushingofcacheddatatomainmemory.

Jackalresembles ne-grainedDSMsystemslikeShasta[22]andSirocco[13]inthatitusesasmallunitofcoherencethatismanagedentirelybysoftware.InJackal,theunitofcoherenceiscalledaregion.EachregioncontainseitheracompleteJava

Permissiontomakedigitalorhardcopiesofallorpartofthisworkforpersonalorclassroomuseisgrantedwithoutfeeprovidedthatcopiesarenotmadeordistributedforpro torcommercialadvantageandthatcopiesbearthisnoticeandthefullcitationonthe rstpage.Tocopyotherwise,torepublish,topostonserversortoredistributetolists,requirespriorspeci cpermissionand/orafee.

Copyright2000ACM0-89791-88-6/97/05..$5.00

Jackal is a fine-grained distributed shared memory implementation of the Java programming language. Jackal implements Java’s memory model and allows multithreaded Java programs to run unmodified on distributed-memory systems. This paper focuses on Jackal

self-contained.Section5studiestheimpactoftheRTSopti-mizationsonJackal’sperformanceonaMyrinet-basedclustercomputer.Section6discussesrelatedwork.Finally,Section7concludes.

2.JAVA’SMEMORYMODEL

Webrie ysummarizeJava’smemorymodel;foradetaileddescriptionwerefertothelanguagespeci cation[10]andPugh’scritiqueofthememorymodel[21].

Java’smemorymodelspeci esthateachthreadhasawork-ingmemory,whichcanbeconsideredathread-privatecache.Theentireprogramhasamainmemorywhichisusedforcom-municationbetweenthreads.Thedatamodi edbyathreadis ushedtomainmemoryuponencounteringasynchronizationpoint.(Inthisrespect,themodelresemblesreleaseconsis-tency[8,16].)SynchronizationpointsinJavacorrespondtotheentryan …… 此处隐藏:38919字,全部文档内容请下载后查看。喜欢就下载吧 ……

Runtime Optimizations for a Java DSM Implementation ABSTRACT.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/988834.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)