欢迎来到天天文库
浏览记录
ID:39711885
大小:611.62 KB
页数:8页
时间:2019-07-09
《Compiling Distributed C 》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、CompilingDistributedC++HaroldCarr,RobertR.Kessler,MarkSwansonDepartmentofComputerScienceUniversityofUtahSaltLakeCity,Utah,84112Abstract2Domains-AbstractProcessorsDC++supportsparallelismbyproviding2types:DistributedC++(DC++)isalanguageforwrit-domainsandthreads([13,171).Ad
2、omainisalogi-ingparallelapplicationsonlooselycoupleddistributedcallyencapsulatedaddressandcontrolspace,anab-systemsinC++.ItskeyideaistoextendtheC++stractprocessor.Adomainissimilartoamonitor[ll]:classinto3categories:gatewayclasseswhichactastheyensuremutualexclusionsynchro
3、nizationbyen-communicationandsynchronizationentrypointsbe-forcingtherulethatonlyonethreadofcontrolmaytweenabstmctprocessors,classeswhoseinstancesmaybeactiveinadomainatatime.Ifanotherthreadat-temptsentrytoanoccupieddomain,thatthreadwillbepassedbyvaluebetweenabstractproces
4、sorsviagate-bequeuedonaFIFOqueueforlaterentrywhentheways,andvanillaC++classes.DC++codeiscom-domainbecomesvacant.ItdiffersfromamonitorinpiledtoC++codewithcallstotheDC++runtimethatdomainsmaybedynamicallycreatedanddeleted.system.TheDC++compilerwmpsgatewayclassesFurther,adom
5、ainbyitselfdoesnothaveanyentrywithhandleclassessothatremoteprocedurecallsarepoints.Entrypointsmaybedynamicallycreatedandtransparent.Itaddsstaticvariablestovalueclassesdeletedbycreatinggatewayclassinstancesintod*andproducescodewhichisusedtomarshalandun-mains.Adomainiscrea
6、tedbyspecifyingaphysicalmarshalargumentswhenthesevalueclassesareusedprocessornumber(@based)onwhichtoallocatetheinremoteprocedurecalls.Valueclassesaredeepdomain.Fortheboundedbufferexamplewewillcre-copiedandpreservestructuresharing.Thispaperate6domains:oneeachforthe3produc
7、ers,oneforshowsDC++compilationandperformance.thebuffer,andoneeachfor2consumers:constnun-producers=3;constnum-consumers=2;DcDomain+pd[num-producersl;1IntroductionDcDomain*cd[num-consumers];DcDomainrbd=newDcDomain(num-producers+nu-consumers);DC++isdesignedtoexploitlooselyc
8、oupleddis-for(inti=0;i
此文档下载收益归作者所有