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
ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...
HostYun 商家以前是玩具主机商,这两年好像发展还挺迅速的,有点在要做点事情的味道。在前面也有多次介绍到HostYun商家新增的多款机房方案,价格相对还是比较便宜的。到目前为止,我们可以看到商家提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路。近期,HostYun上线低价版美国CN2 GIA ...
傲游主机怎么样?傲游主机是一家成立于2010年的老牌国外VPS服务商,在澳大利亚及美国均注册公司,是由在澳洲留学的害羞哥、主机论坛知名版主组长等大佬创建,拥有多家海外直连线路机房资源,提供基于VPS主机和独立服务器租用等,其中VPS基于KVM或者XEN架构,可选机房包括中国香港、美国洛杉矶、韩国、日本、德国、荷兰等,均为CN2或者国内直连优秀线路。傲游主机提供8折优惠码:haixiuge,适用于全...
accessdenied为你推荐
360和搜狗搜狗浏览器和360极速浏览器你会选择哪个?googleprGoogle PR的值是6.这个是什么意思?outlookexpress如何开启OUTLOOK EXPRESS功能?360邮箱免费注册360账号-电子邮箱怎么填写?X1080012高等数学Ⅱ课程教学大纲购物车通过自己的体会总结购物车的作用3g手机有哪些3G手机???kingcmsKingCMS 开始该则呢么设置呢?财务单据简单财务票据处理 是做什么论坛版块图标请教一下论坛版块图标怎么做?
域名备案只选云聚达 lnmp 132邮箱 Hello图床 免费cdn加速 河南服务器 怎样建立邮箱 isp服务商 qq云端 爱奇艺vip免费领取 免费的域名 域名和主机 globalsign 俄勒冈州 遨游论坛 vpsaa g6950 dns是什么意思 电脑主机打不开 sockscap下载 更多