SystemsSeminarScheduleMonday,18Februrary,4pm:"NewWineinOldBottles"-DouglasThain4March:Noseminar:Paradyn/CondorWeekTuesday,19March,3pm:"TheMicrosoft.
NETSystem"-MikeLitzkowTuesday,2April,3pm:"CondorandtheGrid"-MironLivnyMonday,15April,4pm:"ExploitingGray-BoxKnowledgeofBuffer-CacheManagement"-NathanBurnettMonday,29April,4pm:"BridgingtheInformationgapinStorageProtocolStacks"-TimDenehyNewWineinOldBottles:JavaonCondorDouglasThainUniversityofWisconsin18February2002AbstractWehaveaddedJavasupporttoCondor.
I'lltellyouhowitworksandhowtouseit.
Therearesomeniftyfeaturesforendusers.
Addingthiscodeforcedustothinkaboutthefundamentalproblemofcouplingsystemsandrepresentingerrors.
Alesson:Onemustconsiderthescopeofanerroraswellasitsdetail.
Disclaimer:Thisisstillrougharoundtheedges.
(Someonehadtogofirst!
)OutlineWhyJavaandCondorArchitectureInitialExperienceALittleErrorTheoryChangesfortheBetterConclusionsJavaforScientificComputingJavaisemergingasatoolforlargescale(Grande)scientificcomputing.
Moreaccessibletodomainscientists.
Simplifiedporting.
Fasterdevelopment,debugging.
Usercommunitiesareforming:ACMJavaGrandeConferenceTheJavaGrandeForumA.
Globus,E.
Langhirt,M.
Livny,R.
Ramamurthy,M.
Solomon,andS.
Traugott.
JavaGenesandCondor:Cycle-Scavenginggeneticalgorithms.
ACMConfonJavaGrande,2000.
LimitationsJavafloatingpointandcomplexarithmeticdonotyetsatisfyallofthescientificcommunity.
Argumentscontinuebetweenindustryandacademia.
JavaisyetslowerthancomparableprogramsinC/C++/Fortran.
WATcompilersandJITcompilersarecatchingup.
Youchoose:2xslowdownvs5xmachines.
Canwereallyharness5xmachineswhilestillmaintainingplatformindependenceCondorforScientificComputingCondorcreatesahigh-throughputcomputingsystemonacommunityofcomputers.
Ahigh-throughputcomputingsystemseekstomaximizetheamountofworkdoneoveralongperiodoftime.
Acommunityofcomputersmaybeanycollectionofmachinesthatagreetoworktogether.
CondorEnablesOrdinaryUsersINFNCentralManagercondorscheddJobJobJobJobJobcondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpuJobJobJobJobJobJobcondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpuJobJobJobJobJobJobcondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpucondorstartdRAMcpuJobJobJobJobJobJobUWCSCentralManager226CondorPools5576CondorHostsTop10CondorPools:TheHype:Java:"Writeonce,runanywhere!
"Condor:"Submitonce,runeverywhere!
"TheGrid:Uniform,dependable,consistent,pervasive,andinexpensivecomputing.
TheRealityCouplingsystemsisnottrivial!
Theeasypart:Puttingjavainfrontoftheprogramname.
Thetrickyparts:Javainstallationmesses.
Unavailablefilesystems.
Distinguishingprogramerrorsfromenvironmentalerrors.
OutlineWhyJavaandCondorArchitectureInitialExperienceALittleErrorTheoryChangesfortheBetterConclusionsscheddstartdMatchMakerMachinePoliciesJobPoliciesHomeFileSystemClaimingProtocolActivationProtocolMatchmakingProtocolExecutionProtocolshadowstarterForkForkTheJobForkCreatestheexecutionenvironment.
Exportsthedetails,policy,andI/Oservices.
JVMForkstartershadowForkForkHomeFileSystemWrapperI/OLibraryTheJobI/OServerI/OProxySecureRemoteI/OLocalSystemCallsLocalI/O(Chirp)UserInterfacecondor_status-javaNameJavaVendorVerStateActivityLoadAvMemaish.
cs.
wisc.
SunMicrosy1.
2.
2OwnerIdle0.
000249anfrom.
cs.
wisSunMicrosy1.
2.
2OwnerIdle0.
030249babe.
cs.
wisc.
SunMicrosy1.
2.
2ClaimedBusy1.
120123.
MachinesOwnerClaimedUnclaimedMatchedPreemptingINTEL/LINUX514101408500Total514101408500UserInterfaceuniverse=javaexecutable=Main.
classjar_files=MyLibrary.
jarinput=infileoutput=outfilearguments=Main123queuecondor_submitI/OInterfaceInput,output,anderrorfilesareautomaticallytransferredto/fromtheexecutionsite.
Anyothernamedfilesmaybetransferredaswell.
TodoonlineI/Owithouttransferringwholefiles,youmustmakesmallchangestothecode:FileInputStream->ChirpInputStreamFileOutputStream->ChirpOutputStreamApplicationJavaStandardLibrariesJavaVirtualMachineOperatingSystemCStandardLibraryChirpI/OLibraryAddedanewlibraryonexistinginterfaces.
Usermustcallnewconstructors.
JNIJavasymbolsarefullyqualified,sotransparentreplacedmentofclassesisnotpossible.
CouldreplacenativemethodsintheJVM,butthistiesustoopen-sourceJVMs.
Couldtraprealsystemcalls,butthesearecomplex(asynchronous,nonblocking,threaded)andmaybedifficulttodistringuishfromtheJVM'sownoperations.
OutlineWhyJavaandCondorArchitectureInitialExperienceALittleErrorTheoryChangesfortheBetterConclusionsInitialExperienceBadnews:Nearlyanyunexpectedfailurewouldcausethejobtobereturnedtotheuser:Outofmemoryatexecutionsite.
Javamisconfiguredatexecutionsite.
I/Oproxycan'tinitialize.
Homefilesystemoffline.
InitialExperienceAlthoughthiswascorrectinsomesense--theinformationwastrue--itwasveryfrustrating.
Userswanttoknowwhentheirprogramfailsbydesign(NullPointerException,)butnotifitfailsduetotheenvironment.
WhatdidwedowrongOutlineWhyJavaandCondorArchitectureInitialExperienceALittleErrorTheoryChangesfortheBetterConclusionsALittleErrorTheoryBuildonstandarddefinitionsfromfault-toleranceandprogramminglanguages.
Somebriefexamplestogettheidea.
ReturntoCondorandusethetheorytounderstandourdesignmistakes.
FaultToleranceTerminologyFailureAnexternally-visibledeviationfromspecifications.
ErrorAninternaldatastatethatleadstoafailure.
FaultAnexternaleventthatcreatesanerror.
A.
AvizienisandJ.
C.
Laprie.
Dependablecomputing:Fromconceptstodesigndiversity.
IEEE74(5)May1986.
ExampleClientServerWhatissqrt(4)Hmm,sqrt(4)is.
.
.
Hmm,sqrt(9)is.
.
.
Answer:3ERRORFAILUREFAULTImpliciterrorsThesystemclaimstohavereachedavalidresult,butanauditorclaimsitisinvalid.
Example:sqrt(3)==2ExpliciterrorsThesystemtellsusitcannotcompletethedesiredaction.
Example:filenotfound.
EscapingerrorsThesystemdetectsanerror,buthasnomethodofreportingit,soitescapesbyanalternateroute.
Example:coredump,kernelpanic.
JohnB.
Goodenough,ExceptionHandling:issuesandaproposednotation.
CACM18(120,December1975.
K.
EkandhamandA.
Bernstein.
SomenewTransitionsinhierarchicallevelstructures.
OperatingSystemsReview12(4),1978.
ProgramVirtualMemorySystemPhysicalMemoryBackingStoreloaddataCouldreturnadefaultvalue,butthatcreatesanimpliciterror.
Wouldliketoreturnanexpliciterror,butaloadinsnhasnoexitcode.
ParentProcessEscapingerror:Telltheparentthattheprogramcouldnotcomplete.
NormalExitAbnormalExitInterfaceContractsintload(intaddress);Theimplementormusteithercomputearesultthatconformstothecontract,orisobligedtocauseanescapingerror.
C.
Hoare.
Anaxiomaticbasisforcomputerprogramming.
CACM12(10:576-580,October1969.
B.
Meyer.
Object-OrientedSoftwareConstruction.
PrenticeHall,1997.
Exceptionsintopen(Stringfilename)throwsFileNotFound,AccessDenied;Alanguagewithexceptionsprovidesmorestructuretothecontract.
Adeclaredexceptionisanexpliciterror.
Yet,escapingerrorsarestillpossible.
ProgramVirtualFileSystemMemoryDiskopenSuccess,FileNotFound,AccessDeniedParentProcessNormalExitAbnormalExitMemoryCorrupt,DiskOffline,PigeonLostINTERFACEIMPLEMENTATIONErrorScopeInordertobeacceptedbyendusers,adistributedsystemmustbeabletodistinguishbetweenerrorscomputedbytheprogramanderrorsforceduponitbytheenvironment.
Weusethetermscopetodrawthedistinction.
ErrorScopeThescopeofanerroristheportionofthesystemthatitinvalidates.
Anerrormustbedeliveredtotheprocessresponsibleformanagingthatscope.
CallingFunctionFileFileNotFoundHandlerScopeErrorParentProcessPVMClusterPVMNodeCrashHypervisororOperatorMachineCacheCoherencyProblemParentProcessProcessRPCDisconnectErrorDetailThedetailofanerrordescribesinphenomenologicaltermsthecauseoftheerror.
Intherighthands,thedetailisuseful.
Inthewronghands,thedetailcanbemisleading.
SupposeopenreturnsAccessDenied.
.
.
Fileisnotaccessible-Ok.
Librarycontaining'open'isnotaccessible-Problem!
LessonsPrinciple1:Aroutinemustnotgenerateanimpliciterrorasaresultofreceivinganexpliciterror.
Principle2:Anescapingerrorconvertsapotentialimpliciterrorintoanexpliciterroratahigherlevel.
Principle3:Anescapingerrormustbepropagatedtotheprogramthatmanagestheerror'sscope.
OutlineWhyJavaandCondorArchitectureInitialExperienceALittleErrorTheoryChangesfortheBetterConclusionsJavaandCondorRevisitedWhatdidwedowrongWefocussedonerrordetailwithoutconsideringerrorscope.
JavaandCondorRevisitedTofixthesystem,werevisitedthenotionoferrorscopethroughout.
Twoexamples:JVMexitcodeI/OerrorsJVMExitCode1JobException:Programimagecorrupt.
1LocalResourceException:Homefilesystemoffline.
1RemoteResourceException:JavaMisconfigured.
1VirtualMachineException:Outofmemory.
1ProgramException:Nullpointer.
xProgramProgramexitedthroughSystem.
exit(x)0ProgramProgramexitedbycompletingmainExitCodeScopeDetailJVMstartershadowForkForkHomeFileSystemWrapperI/OLibraryTheJobResultFileJVMResultResultofExecutionAttempt+ResultofProgram,Ifany.
StarterResult+ProgramResultI/OErrorScopeAllJavaI/Ooperationsthrowasingleexceptiontype--IOException.
Ourmistake:convertalldetectederrorsintoIOExceptionsandpassthemtotheprogram.
MakessenseforFileNotFound,butnotforProxyUnavailableorCredentialsExpired.
JVMstarterWrapperI/OLibraryTheJobResultFileJVMResultResultofExecutionAttempt+ResultofProgram,Ifany.
ToI/OProxyErrorOutsideProgramScopeErrorInsideProgramScopeOutlineWhyJavaandCondorArchitectureInitialExperienceALittleErrorTheoryChangesfortheBetterConclusionsConclusionWestartedbuildingtheJavaUniversewithsomenaiveassumptionsabouterrors.
Onencounteringpracticaldifficulties,wethoughtmoreabstractlyabouterrorsanddevelopedthenotionofscopeanddetail.
Byroutingerrorsaccordingtotheirscope,wemadethesystemmorerobustandusable.
FoodforThoughtThereisn'talwaysaneasywaytopropagateanerrortothescopehandler.
Escapingerrortoparentprocess:RaiseaPOSIXsignal.
Escapingerrortothestarter:ThrowaJavaError,trappedbytheWrapper,placedinfile,readafterprocessexits.
FoodforThoughtThemereuseofexceptionsinaprogramdoesnotimplyadisciplinederrormanagement.
Forexample,throwsIOExceptionisaveryvaguestatementaboutaninterface.
WhatisanimplementorallowedtothrowCanopen()returnFileNotFound(Probably.
)Canread()throwsFileNotFound(Askingfortrouble.
)WhataboutConnectionRefusedFoodforThoughtAncontractcangovernmorethansimplytheinterfacespecification.
Considerthisself-cleaningprogram:fd=open("file");unlink("file");close(fd);WorksonUNIX,failsonWinNT.
Cananinterface(code+docs)reallystateallthenecessarysemanticinformationShoulditDeploymentAsofFebruary14th,theJavaUniverseisrunningon515RedHat7.
2machines.
WillberolledoutaspartofCondor6.
3.
2onallplatformsintheregularreleaseschedule.
SunJDK1.
2.
2onUNIXmachines.
SunJDK1.
3.
2onWinNTmachines.
"IstheJavaUniverseavailableonmymachine"condor_status-javac2clustertuxlabistatskywalker.
cs.
wisc.
eduAcknowledgementsAlthoughwemetakecredit(orblame)forthemostrecentchanges,theCondorarchitecturehasdealtwitherrorsformanyyears.
Muchcreditgoestothecoredesigners,esp.
MikeLitzkow,ToddTannenbaum,andDerekWright.
MoreInfo:TheCondorProject:http://www.
cs.
wisc.
edu/condorTheseslides:http://www.
cs.
wisc.
edu/~thainDouglasThainthain@cs.
wisc.
eduQuestionsnow
厦门靠谱云股份有限公司 双十一到了,站长我就给介绍一家折扣力度名列前茅的云厂商——萤光云。1H2G2M的高防50G云服务器,依照他们的规则叠加优惠,可以做到12元/月。更大配置和带宽的价格,也在一般云厂商中脱颖而出,性价比超高。官网:www.lightnode.cn叠加优惠:全区季付55折+满100-50各个配置价格表:地域配置双十一优惠价说明福州(带50G防御)/上海/北京1H2G2M12元/月...
georgedatacenter怎么样?georgedatacenter这次其实是两个促销,一是促销一款特价洛杉矶E3-1220 V5独服,性价比其实最高;另外还促销三款特价vps,大家可以根据自己的需要入手。georgedatacenter是一家成立于2019年的美国vps商家,主营美国洛杉矶、芝加哥、达拉斯、新泽西、西雅图机房的VPS、邮件服务器和托管独立服务器业务。georgedatacen...
香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...
accessdenied为你推荐
uctools我的UC上不去。好急呀,请帮帮我。支付宝蜻蜓发布怎么取得支付宝蜻蜓二代的代理?新iphone也将禁售苹果ID换了个新的怎么还是停用outlookexpressoutlook Express是什么啊?怎么用啊?asp.net网页制作怎么用ASP.NET 做一个网页注册。简单的就行科创板首批名单江苏北人的机器人在同行中的评价怎么样?三五互联南京最专业的网站建设公司是哪家?双尚网络做的好不好? 给分求答案400电话查询400电话号码可以查询归属地吗?办理400电话是不是很贵?本帖隐藏的内容本帖隐藏的内容需要回复才可以浏览 是怎么弄的 我像弄1个 178的帖商务软件软件分为哪几种类型?
香港服务器租用 浙江vps 提供香港vps 最新代理服务器地址 12u机柜尺寸 华为云主机 南昌服务器托管 云全民 毫秒英文 idc资讯 双十一秒杀 hkt 爱奇艺vip免费领取 shopex主机 登陆空间 游戏服务器出租 深圳域名 阿里云邮箱登陆 空间服务器 accountsuspended 更多