Categories and Subject Descriptors D.1.3 [Programming Techni
privatization
BriefAnnouncement:
TransactionsandPrivatizationinDelaunayTriangulation
MichaelL.Scott,MichaelF.Spear,LukeDalessandro,andVirendraJ.Marathe
DepartmentofComputerScience,UniversityofRochester
{scott,spear,luked,vmarathe}@cs.rochester.edu
CategoriesandSubjectDescriptors:
D.1.3[ProgrammingTechniques]:ConcurrentProgramming—ParallelProgrammingGeneralTerms:algorithms,experimentation,
measurement,performance
Keywords:synchronization,transactionalmemory,
benchmarks,privatization
1.INTRODUCTION
Withtheriseofmulticoreprocessors,muchrecentatten-tionhasfocusedontransactionalmemory(TM).Unfortu-nately,the eldhasyettodevelopstandardbenchmarkstocaptureapplicationcharacteristicsortofacilitatesystemcomparisons.Thisnotedescribesonecandidatebenchmark:animplementationofDelaunaytriangulation[4].SourceforthisbenchmarkispackagedwithVersion3oftheRochesterSoftwareTransactionalMemory(RSTM)open-sourceC++library[1,9].Itemploysoneofthefastestknownsequentialalgorithmstotriangulategeometricallypartitionedregionsinparallel;itthenemploysalternating,barrier-separatedphasesoftransactionalandpartitioned(“privatized”)worktostitchthoseregionstogether.Experimentsonmultipro-cessorandmulticoremachinescon rmgoodspeedupandexcellentsingle-threadperformance.Theyalsohighlightthecostofextraindirectionintheimplementationoftransac-tionaldata:sinceexecutiontimeisdominatedbyprivatizedphases,performanceislargelyinsensitivetotheoverheadoftransactionsperse,buthighlysensitivetoanycostsim-posedonprivatizeddata.Experiencewiththeapplication-writingprocessprovidesstronganecdotalevidencethatTMwilleventuallyrequirelanguageandcompilersupport.
2.OVERVIEWOFTHEBENCHMARK
GivenasetofpointsPintheplane,atriangulationparti-tionstheconvexhullofPintoasetoftrianglessuchthat(1)theverticesofthetriangles,takentogether,areP,and(2)notwotrianglesintersectexceptbysharinganedge.ADe-launaytriangulationhastheaddedpropertythatnopointliesintheinteriorofanytriangle’scircumcircle.Delaunaytriangulationiswidelyusedin niteelementanalysis,where
ThisworkwassupportedinpartbyNSFgrantsCNS-0411127andCNS-0615139,equipmentsupportfromSunMicrosystemsLaborato-ries,and nancialsupportfromIntelandMicrosoft.
Copyrightisheldbytheauthor/owner(s).
PODC’07,August12–15,2007,Portland,Oregon,USA.ACM978-1-59593-616-5/07/0008.
itpromotesnumericalstability,andingraphicalrendering,whereitpromotesaestheticallypleasingshadingofcomplexsurfaces.Inpractice,Delaunaymeshesaretypicallyre nedbyintroducingadditionalpointswhereneededtoeliminateremainingnarrowtriangles.
Atthe2006WorkshoponTransactionalWorkloads,Kulka-rnietal.proposedre nementofanexistingDelaunaymeshasapotentialapplicationoftransactionalmemory[8].Ourcodeaddressesthecomplementaryproblemofconstructingtheinitialtriangulation;wedonotyetconsiderre nement.Webeginbysortingpointsintogeometricregions,ingDwyer’sre nement[5]ofGuibasandStol ’sdivide-and-conqueralgorithm[6],eachworkerthentriangulatesitsownregion.Finally,weemployamixoftransactionsandthread-localcomputationto“stitch”theregionstogether,updatingpreviouslychosentriangleswhennecessarytomaintainthecircumcircleproperty.
Alltold,ourapplicationcomprisessome3200linesofC++,in24source les.Therearethreetransactionalobjecttypesandthreestaticoccurrencesoftransactions.The rsttransactionaltyperepresentsanedgebetweentwopoints.Thesecondcontains,foragivenpoint,areferencetosomeadjacentedge,fromwhichotherscanbefoundbyfollowingneighborlinks.Thethirdisusedtocreatelinksinthechainsofaglobalhashset,usedtoholdcreatededges.
The rststatictransactionprotectsacalltotheedgecon-structor.Thesecondprotectsthebodyofasubroutineusedwhenstitchingregionstogether.Thethirdisusedto“recon-sider”edgesthatmaynotsatisfythecircumcirclepropertyinlightofsubsequentregionstitching.Togetherwithcalledroutines,thesetransactionscomprise72,155,and214linesofcode,respectively.
3.PERFORMANCESUMMARY
Wehavemeasuredtheperformanceofthemeshapplica-tiononbothmultiprocessorandmulticoremachines,using2di erentSTMsystemsandbothcoarseand ne-grainlocks.TheoriginalRSTMlibrary[9]usesalevelofindirectionforatomic,nonblockingreplacementofobjectversions.Theredo-locklibrary[11]copiesnewversionsbackontopoftheoriginalsatcommittime,avoidingtheneedforindirectionwhenreading.TheCGL(coarse-grain-lock)libraryforces“transactions”tocompeteforasingle,globallock,yield-ingverylowoverheadintheuncontendedcase,butnocon-currency.Finally,ourFGL( ne-grain-lock)resultsusetheCGLbackendtoavoidbothoverheadandindirection,anduse#ifdefstoreplacetransactionswithcriticalsectionsthatacquireper-pointlocks.
privatization
Performancegraphscanbefoundinourforthcomingpa-perinthebenchmarkstrackofIISWC2007[10].Brie y,onan8-core,32-threadSunNiagaraCMP,maximumspeedupisobtainedwhentriangulatingabout200,000points.HeretheCGLbackendtakes8.9swithoneactivethread(inwhichcaseitreducestoDwyer’ssequentialalgorithm),2.4swith8activethreads(speedupof3.7),and2.2s(speedupof4.1)with16activethreads.Bothabsolutetimesandspeedupsarebetteronour16-processorSunFireSMP:theCGLbackendachievesaspeedupof7.7at16threads.FGLandredo-locktimesaresimilartothoseofCGL.TheoriginalRSTMbackend,however,isroughly2×slower.Thisisadirectconsequenceofitsuseofindirection:theapplicationismemorybound;private(geometricallyparti-tioned)workconsumeswellover90%oftotalruntime;andindirectiondoublesthecostofaccessingtransactionalob-jects,eveninprivatecode.(Thememory-boundnatureoftheapplicationalsoaccountsforbetterscalingontheSMPmachine,despitecomparativelyhighpenaltiesforcoherencemisses.)Ourresultsprovideperhapsthestrongestevidencetodateinsupportofindirection-freeSTM.
4.PROGRAMMINGEXPERIENCE
TheRSTMAPIisbasedonsmartpointers[2]andac-cessormethods(“getters”and“setters”).Theseprovidebothinitial-accessandper-access“hooks”intotherun-timesystem,andservetocatchawidevarietyofaccesserrors.Getterstakeanextra,“validator”argumentthatallowsustoperformpost-a …… 此处隐藏:6288字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




