Improving the Productivity of

by

David M. Toth

ADissertation

SubmittedtotheFaculty

ofthe

WORCESTERPOLYTECHNICINSTITUTE

inpartialfulfillmentoftherequirementsforthe

DegreeofDoctorofPhilosophy

in

ComputerScience

March16,2008

APPROVED:

. ProfessorDavidFinkel,Advisor . ProfessorMarkClaypool,CommitteeMember . ProfessorCraigWills,CommitteeMember . ProfessorXiannongMeng,ExternalCommitteeMember BucknellUniversity . ProfessorMichaelGennert,DepartmentChair

1 Abstract

Thepriceofcomputershasdroppeddrasticallyoverthepastyearsenablingmany householdstohaveatleastonecomputer.Atthesametime,theperformanceof computershasskyrocketed,farsurpassingwhatatypicaluserneeds,andmostofthe computationalpowerofpersonalcomputersiswasted.Volunteercomputingprojects attempttousethiswastedcomputationalpowerinordertosolveproblemsthatwould otherwisebecomputationallyinfeasible.Someoftheseproblemsincludemedical applicationslikesearchingforcuresforAIDSandcancer.However,thenumberof volunteercomputingprojectsisincreasingrapidly,requiringimprovementsinthefieldof volunteercomputingtoenabletheincreasingnumberofvolunteerprojectstocontinue makingsignificantprogress.

Thisdissertationexaminestwowaystoincreasetheproductivityofvolunteer computing:usingthevolunteeredCPUcyclesmoreeffectivelyandexploringwaysto increasetheamountofCPUcyclesthataredonated.Eachoftheexistingvolunteer computingprojectsusesoneoftwotaskretrievalpoliciestoenablethevolunteered computersparticipatinginprojectstoretrievework.Thisdissertationcomparesthe amountofworkcompletedbythevolunteeredcomputersparticipatinginprojectsbased onwhichofthetwotaskretrievaltechniquestheprojectemploys.Additionaltask retrievalpoliciesarealsoproposedandevaluated.Themostcommonlyusedtask retrievalpolicyisshowntobelesseffectivethanboththelessfrequentlyusedpolicyand aproposedpolicy.Thepotentialthatvideogameconsoleshavetobeusedforvolunteer computingisexplored,aswellasthepotentialbenefitsofconstructingdifferenttypesof

2 volunteercomputingclients,ratherthanthemostpopularclientimplementation:the screensaver.

Inadditiontoexaminingmethodsofincreasingtheproductivityofvolunteer computing,140tracesofcomputerusagedetailingwhencomputersareavailableto participateinvolunteercomputingiscollectedandmadepubliclyavailable.Volunteer computingprojectspecificinformationthatcanbeusedinresearchinghowtoimprove volunteercomputingiscollectedandcombinedintothefirstsummaryofwhichweare aware.

3 Acknowledgements

Iwouldliketothankeverybodywhohasmadethisdissertationpossible.The biggestthanksgotomywife,Laura,whoselove,understanding,andsacrificesmadeit possibleformetogobacktoschoolfulltimefor5years.Lauraputupwithallsortsof thingsduringmytimeinschool,fromthelonghours,latenights,andoccasionalall nighter,tometurningfromaneatfreakintoaslobduringschool.Shehasalsoendureda nonstopstreamofbabbleaboutmydissertationandsheprobablyknowsmoreaboutmy workthaneveryoneotherthanmyadvisordoes.

Iwouldalsoliketothankmyadvisor,ProfessorDavidFinkel.Hiswillingnessto workwithmeonthisprojectallowedmetoworkonatopicthattrulyfascinatedme,as opposedtootherstudentswhohavetoworkontopicsthatareofmoreinteresttotheir advisorsthantothemselves.ProfessorFinkelhasguidedmealongthepathtothePh.D., providinginvaluableinsightandadviceallalongtheway.Hehashelpedmeto understandthenatureofresearchmuchbetter.Itrulycouldnothaveaskedforabetter advisor.

Iwouldliketothankmydissertationcommittee,ProfessorsMarkClaypooland

CraigWillsofWPIandProfessorXiannongMengofBucknellUniversity.My committeemembersprovidedalotofinsightandsuggestionsthathelpedimprovethe qualityofthiswork.

Thankstomyfamily,bothcloseandextended.Yoursupportandunderstanding throughtheseyearshasmadeitmucheasiertofocusonschoolandfinishinatimely manner.Specialthanksgoto Katie ,myloyalgreyhound,forhelpingmethroughan extremelychallengingsemesterinthefallof2006whenIneededit.

4 Iwouldliketothankallmyfriends,butmostespeciallyMarkGiles,David

Shapiro,andSethWebster.Wemanagedtofindtimeeveryfewweeksforgaming,and ofcoursetodiscussmyworkoverdinnerbeforehand.☺Thankstomyfriendswho werefellowstudentsatWPI(evenifyoualldidgraduatewithyourMastersDegreesand leavemetherebymyselftofinishmyPh.D.alone),KerryMcKay,FrankPoslusznyIII, andAdamZellers.

IwouldliketothanktheprofessorsfromConnecticutCollegeandWPIwho touchedmylife.BridgetBaird,OzgurIzmirli,KathyMcKeon,GaryParker,andPerry

Susskindinspiredmeasanundergraduateandhelpedmegetintograduateschool.Dan

Dougherty,MikeGennert,RobLindeman,GaryPollice,andStanSelkowwere wonderfulfriendsandadvisorsthroughoutmytimeatWPI.Icannotthankyouenough forallyourhelpandsupport.

Manypeoplehelpedwiththetechnicalaspectsofthiswork,providing knowledge,equipment,technicalsupport,andofcoursedatasources.JesseBanning,

MikeVoorhis,andJoshBrandtprovidedlotsofequipmentsoIcouldcollectthedataI needed,runmysimulations,andworkonotherportionsofthedissertation.Jesse,Mike, andChuckWilcoxprovidedlotsoftechnicalsupport,too.DaveAnderson,astudentat

WPIprovidedhelpwiththeWindowsAPI.Iwouldliketothankallofthepeoplewho allowedmetocollectdatafromtheircomputers.Withoutthatdata,Icouldnothave completedthiswork.AspecialthankyouisinordertoTomCollins,whoenabledmeto collectthedataIneededfromthepublicworkstationsatWPI.Icannotthankthefriend andoneofhiscoworkers(atacompanythatwishedtoremainanonymous)enoughfor allowingmetocollectdataabouttheusagepatternsofsomeofthecompany’s

5 computers.YoutwoknowwhoyouareandIamsorryIcannotacknowledgeyou publicly.Finally,IwouldliketothankDr.DavidAndersonfromUCBerkeley,Dr.

DerrickKondo,andGeorgeWoltmanoftheGreatInternetMersennePrimeSearch

(GIMPS)foransweringallofmyquestions.

IwouldliketothanksomeoftheWPIstaffmemberswhocontributedtothis dissertationindirectlyandmademytimeatWPImorepleasant.ChristineDrew,who worksinthelibraryatWPI,tookabiggerinterestinmyworkthananybodyelsenot alreadymentioned,whichwasencouraging.TherearesomanyprojectsatWPIandit seemslikeveryfewpeopletakeaninterestinworkoutsideofthereareathatisnot explainedwithprettypicturesorassociatedwithlargegrants.Forsomebodyoutsidemy departmenttoexpressasmuchinterestasChristinedidmademefeellikeIwasworking onsomethingthatmatters.IwouldalsoliketothankKimRichardsonandJeannette

Dailidaintheregistrar’soffice.Thesewonderfulwomenalwayscheerfullyhelpedme getmyregistrationstraightenedoutandprovidedtranscriptsandeverythingelseIneeded duringmyfiveyears,allowingmetofocusonmywork,ratherthanthemoundsofforms whichInevermanagedtofigureoutduringmyfiveyearsatWPI.Icouldalwayscount onafriendlygreetingwhenIwenttotheregistrar’sofficeandalwaysleftknowingthat everythingwasallset.

Aprojectthisbigthatspansseveralyearsdoesnotsucceedwithoutthehelpof manypeople,anditseemsthatinevitably,somebody’shelpgoesunacknowledged.I wouldliketoapologizetoanybodywhoIleftoutoftheseacknowledgements.Iassure youthatitwasunintentionalandIvaluedyourhelpgreatly.

6 Table of Contents

1 Introduction...... 12

1.1 VolunteerComputing...... 12

1.1.1 SummaryofVolunteerComputingProjects...... 15

1.1.1.1 TheGreatInternetMersennePrimeSearch ...... 15

1.1.1.2 Distributed.net...... 15

1.1.1.3 SETI@Home...... 16

1.1.1.4 Grid.org ...... 16

1.2 DissertationMotivation...... 16

1.3 TheDissertation...... 18

1.3.1 UsingVolunteeredCPUCyclesMoreEffectively ...... 18

1.3.2 ExploringWaystoIncreaseDonatedCPUCycles ...... 19

1.4 Contributions...... 20

1.5 OrganizationofDissertation...... 21

2 Background ...... 22

2.1 DistributedComputing...... 22

2.1.1 LoadSharingandLoadBalancing...... 23

2.1.2 NetworksofWorkstations...... 24

2.1.3 ClusterComputing...... 25

2.1.4 ...... 25

2.1.5 GridComputing...... 26

2.1.6 ChoosingaDistributedComputingSolution...... 27

7 2.2 VolunteerComputing...... 28

2.2.1 TheAnatomyofaVolunteerComputingProject ...... 29

2.2.1.1 Server ...... 29

2.2.1.2 Client...... 31

2.2.2 VolunteerComputingProjectFrameworks...... 31

2.2.2.1 Bayanihan...... 32

2.2.2.2 TheBerkeleyOpenInfrastructureforNetworkComputing(BOINC)..32

2.2.2.3 Xtremweb...... 33

2.2.2.4 OtherMiscellaneousFrameworks...... 33

2.2.3 DesignDecisionsforVolunteerComputingProjects ...... 34

2.2.3.1 TaskRetrievalinVolunteerComputing ...... 34

2.2.3.2 VolunteerComputingClientImplementations ...... 37

2.2.3.3 SpotChecking ...... 38

2.2.3.4 RedundancyofWorkunits...... 38

2.3 UsingSimulationstoEvaluateTaskRetrievalPolicies...... 39

2.4 Summary...... 41

3 WaystoImproveProjectCompletionTimeandTradeoffs ...... 43

3.1 SocialMethods–RecruitingMoreParticipants...... 43

3.2 TechnicalMethods...... 46

3.2.1 PortingtheClienttoAdditionalDevices ...... 47

3.2.1.1 TestingtheViabilityofVideoGameConsolesforVolunteerComputing

48

3.2.2 Server ...... 54

8 3.2.3 Client...... 55

3.2.3.1 TaskRetrievalPolicies...... 56

3.2.3.2 Security...... 65

3.2.3.3 EaseofInstallation...... 66

3.2.3.4 ProvidingMultipleTypesofClients...... 66

3.3 Tradeoffs...... 70

3.4 Summary...... 71

4 DataCollection...... 73

4.1 RequiredData...... 73

4.2 RelatedStudies...... 78

4.3 HowWeObtainedComputerUsageData...... 81

4.3.1 DevelopmentDecisions...... 81

4.3.1.1 TargetOperatingSystems...... 81

4.3.1.2 TypeofProgram...... 83

4.3.1.3 MethodofDataRecording...... 85

4.3.1.4 MethodofCollectingtheData...... 87

4.3.1.5 ExperimentDuration...... 87

4.3.2 ServiceDesign...... 88

4.4 ResultsandAnalysis...... 88

4.5 ComparisonwithKondo’sResults...... 95

4.6 Summary...... 98

5 SimulationstoExaminetheEffectsofTaskRetrievalPolicies...... 99

5.1 TheSimulatorDesign...... 99

9 5.1.1 SimulationParmaters...... 100

5.1.2 Assumptions...... 100

5.1.3 TaskRetrievalPolicies...... 101

5.1.4 HowtheSimulatorWorks...... 104

5.2 TestingtheSimulator...... 105

5.3 Summary...... 108

6 SimulationResults...... 109

6.1 ParameterValuesfromExistingVolunteerComputingProjects ...... 109

6.2 Checkpointing...... 113

6.3 SimulationParameterValues...... 114

6.4 ResultsofBaseParameterCombinations...... 115

6.5 EffectsofVaryingtheParameters ...... 116

6.6 NetworkingEffectsonSimulationResults...... 121

6.6.1 DataTransferInformation...... 122

6.6.2 NetworkingBackgroundInformation...... 123

6.6.3 Results...... 124

6.6.4 OtherThoughts...... 128

6.7 Summary...... 129

7 ValidationofSimulationResults ...... 131

7.1 ExperimentalSetup...... 131

7.1.1 ParameterSettings...... 133

7.1.2 TaskRetrievalPolicies...... 133

7.1.3 TraceSelection...... 134

10 7.1.4 TaskCreation ...... 135

7.1.5 VolunteerComputingServerProgram...... 135

7.1.6 EmulatedVolunteerComputingClientProgram...... 136

7.2 ResultsofValidation...... 137

7.3 Summary...... 139

8 EffectsofMultipleTypesofClients...... 140

8.1 Discussion...... 140

8.2 Methodology...... 141

8.3 SimulationResults...... 142

8.4 Summary...... 142

9 Conclusions...... 144

10 FutureWork ...... 146

11 References...... 148

11 1 Introduction

1.1 Volunteer Computing Volunteercomputingisatypeofdistributedcomputingthatusesvolunteered computationalresourcesinordertoaccomplishsomegoal[1].Largevolunteer computingprojectsbeganinthe1990’swithTheGreatInternetMersennePrimeSearch

(GIMPS)andDistributed.net[1].Theseprojectsallowpeopletosolvemanyproblems thatwerepreviouslycomputationallyinfeasible.Thepowerofvolunteercomputingis theabilitytoperformmillionsoftaskssimultaneously.Problemsthatcanbe decomposedintomanyindependenttaskscantakeadvantageofmillionsofcomputers workingsimultaneously.Morethan20volunteercomputingprojectsarecurrently running,includingthewellknownSETI@homeproject,whichsearchesforevidenceof extraterrestriallife[2].

Avolunteercomputingprojectusesasetofserverstocreate,distribute,record, andaggregatetheresultsofasetoftasksthattheprojectneedstoperformtoaccomplish itsgoal.Thetasksareevaluatingdatasets,called workunits [3].Theserversdistribute thetasksandcorrespondingworkunitstoclients(softwarethatrunsoncomputersthat peoplepermittoparticipateintheproject).Whenacomputerrunningaclientwould otherwisebeidle(inthecontextofvolunteercomputing,acomputerisdeemedtobeidle ifthecomputer’sscreensaverisrunning),itspendsthetimeworkingonthetasksthata serverassignstotheclient.Whentheclienthasfinishedatask,itreturnstheresult obtainedbycompletingthetasktotheserver.Iftheuserofacomputerthatisrunninga clientbeginstousethecomputeragain,theclientisinterruptedandthetaskitis

12 processingispausedwhilethecomputerexecutesprogramsfortheuser.Whenthe computerbecomesidleagain,theclientcontinuesprocessingthetaskitwasworkingon whentheclientwasinterrupted.

Volunteercomputinghasenabledresearcherstosolveproblemsthatwere previouslycomputationallyinfeasiblebydecomposingthemintosmallerproblems, distributingthesmallerproblemstovolunteercomputers,andaggregatingtheresults returnedbythecomputerstoformthesolutiontothelargeproblem.Theapplicationsof volunteercomputingincludesolvingproblemsinthemedical,scientific,and mathematicalfields.Currently,volunteercomputingprogramsaresearchingforcures fordiseases,lookingforevidenceofextraterrestrialintelligence,andfindingMersenne primenumbers,inadditiontomanyotherapplications[1,2,4].Severalotherprojects havebeencompletedbyvolunteercomputingprograms,includingseveralencryption challengesthatweresolvedbydistributed.net[5,6,7].

Between1996and2000,therewasaflurryofactivityonresearchincludingand relatedtovolunteercomputing,includingATLAS[42],Charlotte[8],ParaWeb[9],

Javelin[10],Popcorn[11],Bayanihan[12],Distriblets[13],Gucha[14],andothers[12].

By2000,interestinthefieldbegantowaneandshiftedtowardsthemorelucrativearea ofgridcomputing,andonlyafewresearchprojectsremainedactive.BoththeBOINC

[15]andXtremweb[16,17,18]projectsprovideaframework,orasetoftoolstoassistin thecreationofvolunteercomputingprojects.BOINCandXtremwebcontinuetomove forward,withBOINChavingbecomethedominantframeworktobuildvolunteer computingprojects.Nevertheless,evenwiththesignificantlysmallernumberofresearch

13 projectsinthearea,manyvolunteercomputingprojectsarestillrunning,withnewones springingup.

Inrecentyears,thepricesofpersonalcomputershavedroppeddrastically.In fact,itisroutinetoseeacomputeronsaleatstoreslikeBestBuyandCircuitCityfor

$300intheirweeklycirculars.Thepricedropshavemadeitpossibleformany householdstohaveoneormorecomputers.Inadditiontofamilycomputers,many collegestudentshavetheirowncomputersandthelargenumberofcollegesthroughout theUnitedStateshavemanycomputersinlabsandlibrariesforstudentuse.Alotof thesecomputersareconnectedtotheInternetandmanycomputersremainturnedon24 hoursaday,onlybeingusedforpartofthedayandsittingidleduringtherestoftheday.

Thesecomputershavethepotentialtobeusedforvolunteercomputingduringthoseidle periods.Additionally,thereisatrendofputtingmorethanonecoreonaCPUsothat personalcomputersarenowcomingwithmultipleprocessingcoresinsteadofasingle one.WhilepersonalcomputerswiththesemulticoreCPUsarenowtrulycapableof doingmultipletasksatthesametime,peoplestillhavetroubledoingmultipletasksat once.Therefore,weexpectthattherewillbeanincreaseinthenumberofCPUcycles thatareusedbythesystem’sidleprocess.Otherpeoplethanthecomputers’owners couldpotentiallyusetheseCPUcycleswithoutnoticeablyaffectingthecomputersuser’s experience.ThesechangeshavethepotentialtoreallyincreasetheamountofCPU cyclesdonatedtoprojectsbyvolunteercomputingclients.

14 1.1.1 Summary of Volunteer Computing Projects Thereareanumberofvolunteercomputingprojectscurrentlyrunningandseveral thathavebeencompleted.Thissectionattemptstogiveaflavorofthedifferenttypesof projectsanddiscussessomeofthemostinfluentialones.

1.1.1.1 The Great Internet Mersenne Prime Search GeorgeWoltmanstartedtheGreatInternetMersennePrimeSearch(GIMPS),the oldestofthemajorvolunteercomputingprojects,in1996[1,19].Inthetenyearssince thisvolunteercomputingprojecthasbeenrunning,thecomputersparticipatinginithave discoveredtenpreviouslyunknownMersenneprimes,themostrecentlydiscoveredone beingthelargestknownprimenumber[4].

1.1.1.2 Distributed.net Distributed.net,theorganizationthatstartedthesecondlargevolunteercomputing project,beganin1997[1].Sincethen,theyhaverunninevolunteercomputingprojects splitbetweentwocategories:optimalmarkgolombrulersandcryptography[20].

Optimalmarkgolombrulersareusedfor“sensorplacementsforXraycrystallography andradioastronomy.Golombrulerscanalsoplayasignificantroleincombinatorics, codingtheoryandcommunications”[21].Distributed.netusedtheirvolunteercomputing projectstowinseveralcryptographicchallenges,includingtheCSCipherChallenge,and fourchallengessponsoredbyRSALaboratories[20].

15 1.1.1.3 SETI@Home SETI@home[22]isprobablythemostwellknownvolunteercomputingproject.

Theproject,conceivedin1995byDavidGedyeandstartedinMay1999,searchesfor extraterrestriallifebyprocessingthesignalscollectedbyradiotelescopes[23].In additiontojustscanningthedataforsignsofextraterrestriallife,theSeti@homeclient programdisplaysascreensavershowinginformationaboutthesignalsitiscurrently processing[1].AsofJuly4,2005,overtwomillionyearsofCPUtimehadbeen contributedtoSeti@home[24].

1.1.1.4 Grid.org Grid.orgisanorganizationthatprovidesawebsitethatactsasacentralizedplace forseverallargemedicalvolunteercomputingprojectsandalocationwherepeoplecan gotohavetheircomputersparticipateintheprojects[25].ThefirstprojectGrid.org workedonwasacancerresearchprojectthatIntelsponsored[26].Intheproject,

“grid.orgwasabletoscreenbillionsoftargetmoleculesagainstknowncancertarget proteins”[26].Followingthecancerproject,grid.orgworkedonprojectstotrytoidentify treatmentsforsmallpoxandanthrax[26].Currently,Grid.orgisworkingonanalyzing humanproteins[26].

1.2 Dissertation Motivation Thereareseveralissuesthathavemotivatedthisdissertation:1)thepotential benefitstosocietythatcanberealizedbypeopleparticipatinginvolunteercomputing projects,2)thesmallnumberofparticipantsinvolunteercomputingprojects,and3)the

16 increasingnumberofprojectsaspeoplehavediscoveredtheviabilityofvolunteer computingprojects.Clearly,findingcurestodiseasessuchasAIDSandcancercould improvethequalityoflifeformillionsofpeople,andmanyothermathematicaland scientificadvancescouldalsohelptheworld.Therefore,itisobviousthatincreasingthe effectivenessofvolunteercomputingprojectsisaworthwhilegoal,asspeedingupthe discoveryoftheseadvanceswillallowthediscoveriestobenefitmorepeople.

Thesecondmotivatingfactorforadvancingincreasingtheeffectivenessof volunteercomputingprojectsisthatwhilemanyidlecomputercycleshavebeen harnessedforvolunteercomputingprojects,statisticsshowthatveryfewpeople participateinvolunteercomputingprojects.InApril,2005,therewerefewerthan8 millionusersforthevolunteercomputingprojectsofwhichweareaware,whichincludes userswhonolongerparticipateandlikelyuserswhohavebeencountedinmultiple projects[27,28,29,30,31,32,33,34,35,24].Incontrasttothis,thenumberofpeople whohaveparticipatedinvolunteercomputingprojects,theestimatednumberofhosts connectedtotheInternetexceeded317millioninJanuary2005[36].Fewerthan1%of anestimated300millionInternetconnectedpersonalcomputersparticipateinvolunteer computingprojects[37].IncreasingtheeffectivenessoftheCPUcyclesthataredonated willhelpoffsetthelowparticipationrate.

Thegrowingnumberofvolunteercomputingprojectshassignificantlyraisedthe amountofCPUtimethatmustbedonatedtomakeprogressonalloftheexisting projects.Inadditiontotheincreasingnumberofprojects,whilesomeprojectsendatthe completionofataskthatisknowntobesolvableinafiniteamountoftime,otherprojects aredesignedtocontinueindefinitely,continuallysearchingformoreorbetter

17 information.Therefore,notonlyhasthenumberofprojectscontinuedtogrow,but becausemanyofthemmayneverbecompleted,thedemandfordonatedCPUcycleswill neverend.Duetothebenefitsofsomeprojects,thelowparticipationrate,andthe infinitenatureofsomeprojects,itiscrucialtogetmorepeopletodonateCPUcyclesand thatvolunteercomputingprojectsutilizethedonatedCPUtimeasefficientlyaspossible inordertomaximizetheamountofinformationtheycollect.

1.3 The Dissertation Thisworkaimstoenablethosebuildingvolunteercomputingprojectsand frameworksthatassistinthecreationofvolunteercomputingprojectstoincreasethe effectivenessofvolunteercomputingprojects.Inordertoincreasetheeffectivenessof volunteercomputing,weexaminetwowaystoincreasetheproductivityofvolunteer computing:usingthevolunteeredCPUcyclesmoreeffectivelyandexploringwaysto increasetheamountofCPUcyclesthataredonated.

1.3.1 Using Volunteered CPU Cycles More Effectively Inanattempttoidentifyawaytoimprovevolunteercomputingprojectssothey couldusedonatedcyclesmoreeffectively,welookedforanaspectofvolunteer computingthatwasnotstandardized.Wefoundthateachoftheexistingvolunteer computingprojectsusesoneoftwotaskretrievalpoliciestoenablethevolunteered computersparticipatinginprojectstoretrievework.Thefirsttaskretrievalpolicy instructseachvolunteeredtoretrieveonetasksatatimefromthevolunteercomputing project’sserver.Whenavolunteeredcomputercompletesthetaskandreturnstheresult

18 tothevolunteercomputingproject’sserver,thevolunteeredcomputerretrievesanother task.Werefertothispolicyas Buffer None .Thesecondtaskretrievalpolicyinstructs eachvolunteeredcomputertoretrievemultipletasksfromthevolunteercomputing project’sserveratatime.Thetasksarestoredinabufferandprocessedoneatatime.

Whenataskiscompleted,theresultissenttoaserverandthenexttaskinthebufferis started.Whenthebufferisalmostemptied,thevolunteeredcomputerretrievesanother setoftasksfromtheserver.Werefertothispolicyas Buffer N Days becausethe volunteeredcomputerbufferssomenumber, N,daysofwork.Becausetwodifferenttask retrievalpolicieswereinuseandwewereunabletofindinformationaboutthe advantagesanddisadvantagesofeachpolicy,wesuspectedthatthetaskretrievalpolicy wasanaspectofvolunteercomputingthathadnotbeenstudiedthoroughly.After examininghoweachpolicyworked,webelievedthatusingoneofthetwodifferenttask retrievalpoliciesmightresultinmoredonatedCPUcyclesbeingwastedthanusingthe otherpolicy.Wealsosuspectedthatbycombiningthebestfeaturesofbothpolicies,we mightbeabletoproduceanewpolicythatcouldresultinevenfewerdonatedCPU cyclesbeingwasted.

1.3.2 Exploring Ways to Increase Donated CPU Cycles InanattempttoincreasethenumberofCPUcyclesthataredonatedtovolunteer computingprojects,weexploredthepotentialofportingvolunteercomputingclientsto devicesbesidesgeneralpurposecomputers.Specifically,wetestedhowtheproductivity aclientrunningonavideogameconsolewouldcomparetoaclientrunningonageneral purposecomputer.Wealsoattemptedtodeterminewhattheperformancedifference

19 wouldbeifvolunteercomputingclientsranconstantlyonacomputerasa service/daemonprocessinthebackground,asopposedtorunningasascreensaverwhich isthemostcommonimplementation.

1.4 Contributions Thecontributionsofthisdissertationare:

1. Wehaveusedsimulationtocomparethetaskretrievalmethodsusedin

differentvolunteercomputingprojectstofindwhichonesresultinthehighest

productivityofvolunteercomputingprojects.

2. Wehaveproposedalternatetaskretrievalpoliciesandevaluatedthem.We

foundthatoneofourproposedtaskretrievalmethodoutperformstheother

methodsinoursimulations.

3. Wehaveexploredthepotentialbenefitofusingvideogameconsolestorun

volunteercomputingclients.

4. Wehaveexploredtheincreaseinproductivityofvolunteercomputingprojects

ifvolunteercomputingclientsranconstantlyinthebackgroundasa

service/daemonprocessinsteadofrunningasascreensaver.

5. Wehavecollected140tracesofcomputerusageactivityfor28daysfrom

home,business,publicaccess,andundergraduatestudentcomputers.We

havemadethesetracespubliclyavailableforotherstouse.Thetracesare

containedinthetraces.zipfilethatcanbedownloadedfromthesameplace

youdownloadedthisdissertation.

20 6. Wehavecollectedpubliclyavailableinformationaboutrealvaluesusedfor

volunteercomputingprojectsandcombineditintothefirstsummaryof

volunteercomputerprojectvaluesofwhichweareaware.

1.5 Organization of Dissertation Theremainderofthisworkbeginsbypresentingbackgroundaboutdistributed computinganddetailsabouthowvolunteercomputingworksinChapter2.Wepresent differenttypesofdistributedcomputing,theanatomyofvolunteercomputingprojects, someoftheexistingvolunteercomputingprojectframeworks,anddiscussthedesign decisionsthatpeoplemustmakewhencreatingvolunteercomputingprojects.InChapter

3,wediscussthesocialandtechnicalwaystodecreasethetimeittakesforvolunteer computingprojectstocompleteandthetradeoffsinvolvedinvolunteercomputing projects.Chapter4explainsthedataweneededinordertoanalyzetheeffectsofprojects usingdifferenttaskretrievalpoliciesanddifferenttypesofclientsandhowweobtained thedata.Chapter5discussesthesimulatorwecreatedtoevaluatehowmuchwork volunteercomputingclientswouldcompleteusingdifferenttaskretrievalpolicies.

Chapter6presentsourresultsofusingdifferenttaskretrievalpolicies.Chapter7 explainshowwevalidatedoursimulations.Chapter8discussestheeffectsofusing differenttypesofvolunteercomputingclients.Chapter9presentsourconclusionsandin

Chapter10,wediscussareaswebelieveareworthyoffurtherstudy.

21 2 Background

2.1 Inthepast,personalcomputersweremoreexpensivethantheyaretodayandalot fewerpeopleownedthemthandotoday.Duringthisperiod,therewerealotfewerhome computersandnotmanywereconnectedtotheInternet,makingthecomputersaresource thatwasnotavailabletoanybodybuttheirowners.Withtheadvancesinnetworking technology,itbecamepossibletoenablemultiplecomputerstocollaborateonproblems, thusdistributingtheworkthatasinglecomputerwouldneedtodotomultiplecomputers andcreatingtheparadigmofdistributedcomputing.

Whenitbecamepossibletousemultiplecomputerstoworkononeproblem, peoplebeganworkingonharnessingspareCPUcyclesofmachinesinthelabsof institutionswithasetofnetworkedcomputers,whichleadtodifferenttypesof distributedcomputingincludingnetworksofworkstations(NOWs),thecyclestealing paradigm,andthevariousformsofmetacomputing.Inthecyclestealingparadigm, computersthataredeemedtobeidleareusedtoworkontasks,thus“stealing”theCPU cyclesthatwouldotherwisebenotusedforproductivework.Condorisoneofthese cyclestealingsystemsthatallowspeopletosubmittaskstoacentralcomputerandruns thetasksonidlecomputersinagroupofcomputers[38].Metacomputingisatypeof computingwheremultiplecomputersconnectedbyanetworkareusedasiftheywere oneparallelcomputer[39].Metacomputingincludesseveraldifferentoffshootsof distributedcomputing,includingclustercomputing,volunteercomputing,andgrid

22 computing.Researchershavealsoworkedonloadbalancingandloadsharingtomake metacomputingmoreeffective.

2.1.1 Load Sharing and Load Balancing Oneproblemencounteredindistributedcomputingisthatsomeofthecomputers inagroupofcomputersworkingtogethercanbeheavilyloadedwhileothershavevery littletodo.Inordertoremedythisproblem,computerscientistsdevelopedloadsharing andloadbalancing.Loadsharingattemptstokeepallcomputersbusybyshiftingtasksto thelessbusycomputers,whileloadbalancingtriestomaketheloadoneachcomputerin thegrouproughlyequal.Inloadbalancing,aprocessmaybestartedononecomputer andthenhaltedandmovedtoanothercomputer.Inthesimplestform,theprocesswould berestartedfromthebeginning,butbyusingcheckpointing,thestateoftheprocessmay besavedonthecomputeritisrunningon,movedtoanothercomputer,andrestartedfrom thecheckpoint,losingpotentiallysignificantlylessprogressthanitwouldifitwasjust restartedfromthebeginningonthenewcomputer.Fourpoliciesareusedtoperform loadbalancing[40].The transfer policy determineswhetherataskshouldbetransferred.

The selection policy determineswhichtaskshouldbetransferred.Thelocation policy determinesthecomputertowhichthetaskbeingtransferredshouldbesent.The information policy determineshowoftentocollectthesystemstatedatawhichisusedby theotherpolicies.TheSatin[41]andATLAS[42]systemsexploredamethodofload sharingcalled work stealing .IntheSatinsystem,clientshaveapooloftasks.Whena clienthasnomoretasksinitspool,theclientstealsataskthatisnotbeingprocessed fromanotherclient’spool[41].InATLAS,threadsarestolen[42].

23

2.1.2 Networks of Workstations NetworksofWorkstations(NOWs)aretypicallycomposedofcomputersthatsit onthedesksofindividualsandareprimarilyusedbythoseindividuals,andareconnected byanetwork.Xunotedin1996that“apracticalNOWsystemisheterogeneousandnon dedicated”[43].Infact,aNOWcomposedofdedicatedworkstationswouldbecalleda clustertoday.NOWsthatareusedforloadsharingusethecyclestealingparadigmof distributedcomputing,allowingpeopletoharnesstheprocessingcapabilityof workstationsthatwouldotherwisebewasted.WhenacomputerinaNOWbecomesidle, itisgivenatasktoworkonuntiltheuserbeginsusingtheworkstationagain.Becausein manycompaniesalltheemployeeshaveworkstationsthataresignificantlyunderutilized, theabilitytousethecomputersproductivelywhentheywouldotherwisebeidleisvery valuable,allowingthecomputerstoperformsignificantamountsofworkwhennotin use.AlthoughoriginallythesoftwarelikeCondorthatassignedtaskstoworkstationsin

NOWswhentheybecameidleonlywouldensurethetaskwasstoppedwhenaperson startedusingthemachineagain[38],todaysomeofthesoftwareusedforNOWsruns tasksatalowpriority.Runningataskatlowpriorityallowstheusertodohisorher workwithoutdetectingmuchslowdown,butalsoallowstheworkstationtobemore productive,sincemanyusersdonotusethefullprocessingcapabilityoftheircomputers evenwhentheyareusingthecomputers.

24 2.1.3 Cluster Computing Aclusterofcomputersalsoconsistsofagroupofcomputersconnectedbya network.However,unlikeNOWs,thecomputersinaclusterarenotsinglecomputers thatareeachprimarilyusedbydifferentpeople.Instead,thecomputersinaclusterare typicallymaintainedbyasinglepersonandareusedforcomputationallyintensivetasks thattaketoolongorcannotbedoneonasingleworkstation.Aheterogeneousclusteris composedofdifferenttypesofcomputers,whileahomogeneousclusteriscomposedofa singletypeofcomputers.Althoughthenodesinaclusterdonotneedtoworkonthe sameapplicationaseachother,thepowerofaclusteristheabilityoftheindividual nodestoallworkonaportionofasingleapplication,resultinginperformancethatcan becomparabletoa.Unlikeanexpensivesupercomputer,aclustercanbe composedofofftheshelfcomputers,makingthemverycheapincomparisonto supercomputers.Additionalnodescanalsobeeasilyaddedtoclusters,makingthem moreflexiblethansupercomputersintermsofexpandability.

2.1.4 Supercomputers “Asupercomputerisacomputerthatleadstheworldintermsofprocessing capacity,particularlyspeedofcalculation,atthetimeofitsintroduction”[44].

Supercomputerscancontainoveronehundredthousandprocessors,terabytesofRAM, andspecialinterconnectsystemsthatallowtheprocessorstocommunicatewitheach other.Thequantityofhardwareandthespeciallydesignedinterconnectsandcooling systemscausesupercomputerstobeextremelyexpensive.Similartoacluster,a supercomputer’sprocessorscanallworktogetherononeapplicationthatisdecomposed

25 intomanysmallertasks.However,oneofthemajorbenefitsofasupercomputeristhatit isonecomputertomanage,unlikeaclusterwhichiscomposedofmanyseparate computersthatmustbemanaged.Somesupercomputershavebeenbuiltasoneunit, whileothersarecomposedofmanycabinetsofequipment,analogoustothemany differentnodesthatmakeupacluster.Oftensupercomputersareusedforveryspecific purposes,anditcanbecosteffectivetohaveasupercomputerspeciallydesignedfora specifictasklikevectorprocessing.Supercomputersthatarecustomdesignedfora specifictaskwillhavelargeperformanceadvantagesoveranequivalentnumberof generalpurposeprocessorsperformingthesametask.

2.1.5 Oneoftheneweroffshootsofdistributedcomputingis grid computing ,atermDr.

IanFostercoinedduringthelatterhalfofthe1990’s[45].Foster’sideawasthatone wouldbeabletogetcomputingpowerthewayonegetselectricity–whatoneneeds whentheyneedit[45].In The Anatomy of the Grid ,Foster,Kesselman,andTeucke attemptedtodescribethe“Gridproblem,”definingitas“flexible,secure,coordinated resourcesharingamongdynamiccollectionsofindividuals,institutions,andresources”

[46].Fosterlatergaveasetofthreecriteriathathefeltcapturedwhetherasystemfitthe definitionof the Grid andthussolvedthe Grid problem thatheandhiscoauthorshad published.Thecriteriaare:

1.Theresourcesusedarenotunderthecontrolofoneentity,suchasone

company[47].

26 2.Agriduses“standard,open,generalpurposeprotocolsandinterfaces”[47].

3.Agriddelivers“nontrivialqualitiesofservice”[47].

Inthemeantime,theterm“gridcomputing”hasbecomeabuzzwordandbeen usedtodescribemanytypesofcomputingotherthanFoster’sidea,causingafairamount ofconfusionaboutwhatgridcomputingreallyis[45].Forexample,manycompaniesset upinternalsocalledgridsandhavethecomputersworkontaskssuchasdrugdiscovery programswhentheywouldotherwisebeidle.Othercompaniessetupthesenetworksof computersandrentoutthecomputationalresources.SunMicrosystemscurrentlyhasa networkofthousandsofcomputersandrentsCPUsfor$1/houreachanddiskspacefor

$1/GBpermonth[48].ThesesocalledgridsarenotreallygridsbyFosteretal’s definition,butratherNOWsorclusters.However,Fosterdoesnotethatthedistributed systemsthatusecomputersfrommultiplesitessuchasCondorandthesystemsprovided byEntropia,andUnitedDevicescould“reasonablybecalled(firstgeneration)Grids”

[47].SomegridsthatappeartofitFoster’scriteriadoexist,includingtheCroatianGrid

(CROGRID)andtheSouthEastEuropeanGrid(SEEGRID)[49,50,51].

2.1.6 Choosing a Distributed Computing Solution Wehavepresentedseveraldifferentparadigmsofdistributedcomputingthatone mightuseforprojectsthatcannotbecompletedinanacceptableamountoftimebya singlegeneralpurposecomputer.Itisimportanttoselecttheappropriatetoolforeach task,however,toachievethedesiredresultswithinaproject’sconstraints.

Supercomputersarebestforprojectswithbudgetsofmillionsofdollarsandtheneedfor

27 theprocessingpowerofhundredsofthousandsofdedicatedcomputersforalongtime.

NOWsarebestsuitedtoprojectsthataresponsoredbypeoplewithaccesstoNOWsand projectsthatarenottimecriticalanddonotneedthepowerofasupercomputer.Ifa projectrequiresfasterturnaroundthancanbeachievedbyaNOWbutnottheamountof processingprovidedbyasupercomputerandthesponsorhasaccesstoaclusterorcan affordtopurchaseone,thenaclusterwouldbeagoodtoolfortheproject.Inthecase whereaprojectneedsthecomputationalpowerofasupercomputerandthesponsordoes nothavethemoneytopurchaseone,thenforprojectsthathavesomebenefittosociety, thevolunteercomputingparadigmistheappropriateonetouse.

2.2 Volunteer Computing Eachvolunteercomputingprojectrequiresthecomputersthatparticipateinthe projecttorunaclientprogramthatisuniquetotheproject.Thedifferencebetweenthese clientsisthealgorithm,or science application ,thattheclientusestoprocessesdata receivedfromtheserver[3].However,asidefromthescienceapplication,theremainder oftheclientforeachvolunteercomputingprojectisessentiallythesame,andthusthe clientsallhavesimilarrequirements,asidefromthescienceapplication.Therefore,a wellwrittenclientprogramcouldbeusedformanydifferentvolunteercomputing projectsbysimplyreplacingthescienceapplication.Theserverprogramsforvolunteer computingprojectsallhavesimilarrequirements.Thesimilarityoftherequirements meansthataframeworkcouldbedevelopedtofacilitatethecreationofvolunteer computingprojects.Suchaframeworkcouldmakeprojectcreationassimpleassetting upawebpage,selectingthevaluesofsomeoptionsinaGUI,andwritingthecodefor

28 thescienceapplicationtheclientsrun,thecodetovalidatetheresults,andthecodeto generatetasks,asBaldassarishowedinhisM.S.Thesis[52].Wepresentalistofthe componentsofvolunteercomputingprojectsandexplainwhattheydo.Thenwediscuss themajorvolunteercomputingprojectframeworks.Finally,wediscussthedesign decisionsthatthecreatorsofvolunteercomputingprojectsmustmake.

2.2.1 The Anatomy of a Volunteer Computing Project Volunteercomputingprojectsaredevelopedusingtheclientserverarchitectural model.Theprojectsrequirebothhardwareandsoftwareonboththeclientandserver sides.Aproject’ssponsorsprovidetheserverhardwareandboththeserverandclient software,whilethevolunteerssupplytheclienthardware.Thebulkofthecomplexityof avolunteercomputingprojectisintheserverportionoftheproject.Thehardwaredetails aremundaneandstandardtechniquessuchasusingmultipleserversandloadsharingcan beused,sowefocusonthesoftwarethattheserverandclientsrun.

2.2.1.1 Server Theserverhasmanyresponsibilitiesinvolunteercomputingprojects.The server’sfirstresponsibilityismanagingtheinfrastructurefortheproject.Thisconsistsof hostingawebpagewhereuserscanlearnabouttheprojectanddownloadtheclients.

Theservermustalsorunadatabase,whichisusedtostorealltheinformationaboutthe progressoftheproject.Inadditiontothis,toolssuchasscriptsareneededtomanagethe databaseandcoordinatealloftheotherfunctionsoftheserver.Theservermustalso providefacilitiesfortheclientstodownloadworkunits.Also,theserverneedstosupport

29 anysecurityrequiredfortheprojects,suchassecurecommunicationandloginnamesand passwords.Theservermustalsomanageandstoretheinformationaboutusers,including howmuchworktheirclientshaveaccomplished.

Thenextfunctionofaservermustperformisgeneratingthetasks,alsoknownas workunits,whichtheclientswillperform.Inthecaseofsomeprojects,creatingthe workunitsissimplychoppinguplargedatafilesintosmallfiles,whicharethenusedas inputbytheclients.Inothercases,creatingtheworkunitsinvolvesgeneratingalower andupperboundsothattheclientcansearchthevaluesinbetween.Sometimescreating theworkunitsconsistsofidentifyingobjectsthattheclientswillthenevaluate.Whenthe serverreceivesarequestforaworkunitfromaclient,theservershouldassigntheclienta workunitthattheclientislikelytobeabletocompletebythedeadlineassociatedwith theworkunit.Determininganappropriateworkunitshouldjustinvolvecomparingthe estimatedcomputationalpowerrequiredtocompletetheworkunitwiththeexpected computationalpoweroftheclientthatwillbeavailablebeforethedeadline.Theclient’s expectedcomputationalpoweriscalculatedbybenchmarksthattheclientrunsandstored ontheclient.

Theserverusuallyperformssomevalidationoftheresultsthatclientsreturnby assigningeachworkunittomultipleclientsandcomparingtheanswers,inanattemptto keepfaultyclientsfromparticipatingandcontaminatingtheresults.Anotherstepthe servermighttaketopreventfaultyclientsfromparticipatingis spot-checking [12].Spot checkingsendsaworkunitforwhichtheserverknowsthecorrectresulttoaclientand checksthattheclientreturnsthecorrectanswer[12].Ifaclientfailsaspotcheck,the servermightsenditanotherspotcheckorkeeptabsontheclienttoensureitisnotfaulty

30 [12].Theservermayalsostopsendingworkunitstoaclientthatfailsaspotcheckifthe serverconcludesthattheclientisfaultyorcorrupted.

2.2.1.2 Client Incontrasttotheserverportionofvolunteercomputingprojects,theclientportion hasfewresponsibilities.Clientprogramstypicallyperformthefollowingjobs.Whenthe clientrunsforthefirsttime,asetofbenchmarksisrunonthecomputertheclientresides on.Thesebenchmarksindicatethecomputationalpowertheclientislikelytobeableto contributeinsometimeinterval.Thentheclientrequestsworkfromtheserverand receivesasetoffilenames,correspondingtoworkunits,todownloadfromtheserver.

Theclientdownloadsthefilesandthenbeginsprocessingthem,oneatatime.To processafile,theclientrunsanalgorithm,knownasthescienceapplication.Thescience applicationperformssomecomputationsusingthefileasinputandthenreturnstheresult totheserver.Atvariouspointsthroughoutthescienceapplication,checkpointsare created,savingthestateofcertainvaluessothatifthescienceapplicationneedstobe restarted,itcanstartfromthelastknowncheckpointinsteadoffromthebeginningofthe scienceapplication.Whentheclientdoesnothaveenoughworktodo,itrequestsmore fromtheserver.

2.2.2 Volunteer Computing Project Frameworks Becausetheclientportionsofvolunteercomputingprojectsaresosimilartoeach otherandtheserverportionsofvolunteercomputingprojectsaresosimilartoeachother, itispossibletodevelopasetoftools,ora framework ,forcreatingvolunteercomputing

31 projects.Aframeworkcansimplifythejobofcreatingavolunteercomputingprojectby automatingmanyofthetasksrequiredtocreateaprojectandprovidingtemplatesor skeletonsforprogramsthatmustbewritten.Thereareseveralimportantvolunteer computingframeworks,bothpastandcurrent.Themostinfluentialoftheseframeworks areBayanihan,BOINC,andXtremweb,whichweredevelopedinacademia.However, thereareotherproprietaryframeworksaswell.

2.2.2.1 Bayanihan LuisSarmentadevelopedBayanihanatMITaspartofhisPh.D.dissertation[12].

Althoughnolongerinuse,“Bayanihanwasoneofthefirstgeneralpurposewebbased volunteercomputingsystemsusingJava”andappearstobeoneofthefirstvolunteer computingframeworksthatwasavailable.Bayanihanisawebbasedvolunteer computingframeworkthatalloweduserstovolunteertheircomputerwithoutfearof securityrisksortheneedtoinstallsoftware.Toparticipate,volunteersvisitedaweb pagewiththeirwebbrowser.ThebrowserthenautomaticallydownloadedandranaJava applet.BecausetheclientforaBayanihanbasedprojectwaswritteninJava,itenabled thecreatorofavolunteercomputingprojecttowriteandmaintainasingleclientand codebase,simplifyingtheprojectsponsor’stasks.

2.2.2.2 The Berkeley Open Infrastructure for Network Computing (BOINC) TheBerkeleyOpenInfrastructureforNetworkComputing(BOINC)isoneofthe dominantframeworkscurrentlyusedtobuildvolunteercomputingprojects.BOINCwas developedattheUniversityofCaliforniaatBerkeleyintheSpaceSciencesLaboratory

[3].BOINCallowsapersonwithasinglecomputer(toactastheserver)tocreatea

32 volunteercomputingprojectwithoutwritingallthenetworkingcodeforaclientand server.BOINCprovidesthescriptsandtoolstosetupeverythingexcepttheactual processingcode,whichtheprojectcreatorsupplies.BOINCallowsthevolunteers

(participants)tocustomizeseveralsettingsthataffecthowBOINCrunsontheir computers.Themostimportantofthesesettingsforourworkistheonethatallows volunteerstochoosehowmuchworktheclientbuffersontheircomputers[54].This settingdirectlyaffectsthetaskretrievalmethodthatwearestudying.

2.2.2.3 Xtremweb Xtremweb,developedattheUniversityofParisSud,isanotherframeworkfor creatingvolunteercomputingprojects[16].LikeBOINC,Xtremwebprovidestoolsto assistinthecreationofvolunteercomputingprojects.IncontrasttoBOINC,Xtremweb onlyallowseachclienttoretrieveonetaskatatime;whenaclientcompletesitsassigned taskandreturnstheresult,itcanrequestanothertask.

2.2.2.4 Other Miscellaneous Frameworks InadditiontoframeworkslikeBOINCthatarefreelyavailableforuse,thereare othersoftwarepackagesthatcanbeusedtocreatevolunteercomputingprojects.

OrganizationssuchasDistributed.netthathavecreatedandrunnumerousvolunteer computingprojectsdonotlikelycodetheirprojectsfromscratcheachtime,sincevery littleneedstochangebetweenprojects.AlthoughDistributed.netmayormaynothavea formalframework,itislikelythattheyusethesamecodeforeachprojectexceptforthe scienceapplication.TherearealsocompaniessuchasUnitedDevicesand(thenow

33 defunct)Entropiathatproducedprogramsthatcouldbeusedforvolunteercomputing projects.Theseproprietaryframeworks,notfreelyavailable,areintendedtobeusedby companiessuchaspharmaceuticalcompanieswhowanttoutilizethesparecomputing cyclesfromtheiremployees’desktopcomputerstotestmillionsofcombinationsof chemicalcompounds,searchingfornewdrugs.

2.2.3 Design Decisions for Volunteer Computing Projects Thereareseveraldesigndecisionsthatthecreatorsofvolunteercomputing projectsmustmake.Eachofthesedecisionshasanimpactonthetimeitwilltakefora projecttobecompleted.Thesedecisionsincludedeterminingthemethodclientsuseto retrievetasks,thelanguageusedtowritetheclients,andthetypesofclientstoprovide.

Otherdecisionsthatmustbemadethatalsoaffecttheperformanceoftheprojectarehow oftentheserverperformsspotcheckingandhowmanyclientsshouldreceivethesame task.

2.2.3.1 Task Retrieval in Volunteer Computing Pastandcurrentvolunteercomputingprojectshaveusedvariousmethodsofhow clientsretrievetasks.Wefocusonprojectsthatrequireclientstodownloaddatafilesto performassignedtasks,asopposedtoaprojectlikeGIMPSwheregettingthedatais trivialbecauseparticipantsonlyneedtodownloadanumber.Currentlythereareseveral majorfilebasedvolunteercomputingprojectsrunningfromdifferentorganizations.

ActiveprojectsincludeseveralprojectsthatutilizeBOINC[15],twoprojectsfrom

Distributed.net[53],andtwoprojectsfromGrid.org[26].

34 Whenaclientrequestswork,itrequestsanamountthatwillkeepthecomputer busyforanamountoftimethatisconfigurablebytheparticipant[54].Thus,BOINC allowstheusertodeterminehowmuchdatatosendtotheclient,allowingaclientto downloadmanytasksatonetime.TheDistributed.netprojects,liketheBOINCbased projects,allowtheparticipanttoconfigurethesizeofthedatasettheclientreceivesat onetime[55].AswithBOINC,Distributed.net’smethodsendstheusertheamountof datathattheuserrequests,whichmayresultintheclientsreceivingtoomuchdataortoo littledata.AswithBOINCbasedprojects,Distributed.net’sprojectsallowclientsto downloadmultipletasksatonetime.Forconvenience,werefertothemethodof retrievingtasksthatbothBOINCandDistributed.netuseasthe Buffer N Days method.

Conversely,Grid.organdXtremwebbothhaveclientsretrieveonetaskatatime,soa clientwillneverdownloadasecondtaskuntilithasreturnedtheresultsofthetaskon whichitisworking[16,56].Forconvenience,werefertothemethodofretrievingtasks thatbothGrid.organdXtremwebuseasthe Buffer None method.

35 Table1showstheframeworkusedtocreatevariousvolunteercomputingprojectsandthe taskretrievalpoliciesusedbytheprojects.

36 Table 1 - Frameworks and Task Retrieval Policies of Volunteer Computing Projects

Framework Used to Task Retrieval Project Create the Project Policy SETI@home BOINC[2] Buffer N Days [54] Folding@home nonespecified Buffer None [57] Einstein@home BOINC[2] Buffer N Days [54] QMC@home BOINC[2] Buffer N Days [54] LHC@home BOINC[2] Buffer N Days [54] Rosetta@home BOINC[2] Buffer N Days [54] Grid.org nonespecified Buffer None [56] Climateprediction.net BOINC[2] Buffer N Days [54] SIMAP BOINC[2] Buffer N Days [54] TheRieselSieveProject BOINC[2] BufferMultiple[54] WorldCommunityGrid BOINC[2] BufferMultiple[54]

2.2.3.2 Volunteer Computing Client Implementations Clientswrittenindifferentlanguagesprovideasetoftradeoffsbetween efficiency,security,andconvenience.Thesetradeoffsmayinfluencethenumberof peoplethatparticipateinvolunteercomputingprojectsandwediscussthetradeoffsin

Section3.3.Someclients,liketheGIMPSclient,arewritteninassemblylanguage[58].

Whilewritingclientsinassemblylanguagemakestheclientmoreefficient,it significantlyincreasestheamountofworktoporttheclienttodifferentplatforms.Other clients,likeBOINCclients,arewritteninC++orFortran[3].Inadditiontoportability issues,thechoiceoflanguagescurrentlyinfluencesthetypesofclientsthatprojectscan provide.Wediscussthetypesofclientsandtheiradvantagesanddisadvantagesin

Section3.2.3.4.

37 2.2.3.3 Spot Checking AsdiscussedinSection2.2.1.1,spotcheckingcanbealowcostwaytotryto keepmaliciousparticipantsfromcorruptingprojectresults.However,sinceeachcheck wastesthetimeitmaytaketodoonerealworkunit,frequentspotcheckswillslowdown volunteercomputingprojectssignificantly.Theprojectsponsorsneedstodeterminethe frequencyofspotchecksthatthesponsorsfeelwillprovideabalancebetweendetecting maliciousorfaultyclientsanddeliveringacceptableperformancefortheproject.

2.2.3.4 Redundancy of Workunits Onedecisionthatvolunteercomputingprojectsmustmakeishowmanyclientsto assignthesameworkunit.Byassigningeachworkunittomorethanoneclient,theserver canpotentiallyidentifyfaultyreturnedvaluesandprovidessomedegreeofassurancethat theanswerreturnedbytheclientsiscorrect,withouthavingtovalidateeachanswer.Itis importantthattheserverbeabletotakealltheresultsreturnedforaparticularworkunit andselectwhatitdeemsisthe correct result .Selectingthecorrectresultisnecessary becausedifferentclientsmayreturndifferentanswerstothesameworkunit,dueto hardwaredifferencesandmaliciousparticipantswhotrytocheatthesystemtogetmore creditthantheydeserve.Oncetheserverselectsthecorrectanswer,itmightnoticethata particularclienthasgivenananswerthatisveryfarfromtheonetheserverselectedas correct.Theservermightkeepalistofclientsthatreturnbadanswerswithsomedegree offrequencythatisunacceptableandpreventthoseclientsfromparticipatinginthe futureordoublechecksomeoftheanswersthoseclientshavereturned.

38 Whileassigningthesametasktomultipleclientsallowstheservertodetectfaulty clientsandprovidesameasureofconfidencethattheprojecthasthecorrectoutputfrom atask,doingsotakessignificantcomputingpowerthatcouldotherwisebeusedtospeed uptheproject.Insomecases,itisveryimportanttogettheresultofataskquickly, becausetheresultmaybeusedasinputtoasubsequenttask.Assigningatasktomore clientsshoulddecreasethetimeittakestogetenoughresultstodeterminethecorrect one,butitincreasestheamountofCPUcyclesthatclientsspendoncalculationsthatwill notbeused.Clearlythereisatradeoffbetweenthecertaintythataresultiscorrect,the timeittakestoachievethatcertainty,andtheoverallcompletiontimeofavolunteer computingproject.

2.3 Using Simulations to Evaluate Task Retrieval Policies Althoughtherewereseveraltechniqueswecouldhaveusedforevaluatingtask retrievalpolicies,weusesimulationsasourprimarytooltoevaluatetaskretrieval policiesinthisdissertation.Wecouldalsohaveusedanalyticmodelingorimplemented avolunteercomputingprojectwithdifferentclients,eachusingadifferenttaskretrieval policy.Wechosetousesimulationsbecausetheyhavesomesignificantbenefitsoverthe othertwomethodsandthedrawbackstousingsimulationsweremoretolerablethanthe drawbacksoftheothermethods.Wedidalsoattempttocreateananalyticmodelforthe amountofworkthatavolunteercomputingclientwouldcomplete,basedonthetask retrievalpolicyitused,butwewereunabletoconstructausefulanalyticmodel.

Therewereseveralbenefitstousingsimulations.Simulationsyieldeasily reproducibleresults,whileimplementinganactualvolunteercomputingprojectwould

39 notyieldresultsthatcouldbereproduced,giventhedependenceoncomputerusage.

Simulationsalsorequiremuchlesscooperationfrompeoplethanimplementinga volunteercomputingprojectwouldrequire.Whilesimulationscaneasilybetunedand runagain,onecannoteasilyasktheparticipantsinavolunteercomputingprojectto downloadanewclientbecausewewantedtomakesomesortofmodificationtothe client.Therearesomedrawbackstousingsimulations,ratherthanimplementinga volunteercomputingproject.Simulationsdonotcapturethelowleveldetailsthatare capturedbyimplementation.Weomittedfactorssuchasnetworkcongestion,packet delay,andtheeffectsofoperatingsysteminteractionswiththevolunteercomputing clientsinordertosuccessfullydevelopthesimulations.Thus,theresultsofsimulations arenotasaccurateastheresultsofimplementingavolunteercomputingprojectwould be.Anadvantageofusingsimulationsinsteadofanalyticmodelsisthatsimulationscan incorporateimportantrealworlddata,suchaswhenacomputer’sscreensaverisrunning.

Incontrast,analyticmodelsmustusedistributionsthatmaynotaccuratelyreflectactual data.Simulationscanalsoincorporatemoredetailsthananalyticmodelswithout becomingunwieldy.Adrawbackofusingsimulationsisthattheytakealongtimeto run.Whilesomebodywiththevaluestouseforthevariablesinananalyticmodelcando afewcalculationsandhaveananswerrelativelyquickly,itcantakeweeksofCPUtime torunsimulations.Simulationsalsohavemanyplaceswheremistakescanbemadein theimplementation,whileananalyticmodelismuchsimpler.Aswepreviously mentioned,wedidattempttocreateananalyticmodel.However,totrytomakethe modelasusefulandtruetoreallifeaspossible,wefoundthatweneededtheanalytic modeltoincludeinformationaboutthecomputersthatwouldparticipateinvolunteer

40 computingandwewereunabletoincorporatethisinformationintotheanalyticmodelin asimpleenoughwaytokeepthemodelfrombecomingunwieldy.Becauseofthe drawbacksofanalyticmodelsandimplementingavolunteercomputingproject,wechose tousesimulationstoanalyzethetaskretrievalpolicies.

2.4 Summary Inthischapter,wediscussedsomeoftheareasofdistributedcomputing,the anatomyofvolunteercomputingprojects,severalimportantvolunteercomputingproject frameworks,andthedesigndecisionsthatpeoplecreatingvolunteercomputingprojects mustmake.Wehavealsoexplainedwhyweusesimulationstoevaluatetaskretrieval policiesandthebenefitsanddrawbacksofusingsimulationsforthattask.

Volunteercomputingisrelatedtoothertopicsindistributedcomputing,suchas loadsharingandloadbalancing,NOWs,clusters,supercomputers,andgridcomputing.

Volunteercomputingprojectsusetheclientserverarchitecture.Theserverportionofthe projectmanagestheinfrastructureoftheproject,hostingawebpage,runningadatabase, maintainingparticipantinformation,andhandlinganysecurityfortheproject.Theserver generatesthetasks,assignsworkunitstoclients,validatestheresultsfromclients,and ensuresclientsarenotcorrupted.Theclientprocessesworkunitsandsendstheresults backtotheserver,checkpointingatintervalsduringthecomputationstoavoidlarge amountsofwork.Bayanihan,BOINC,andXtremwebarethreeimportantvolunteer computingframeworks.Bayanihanwasoneoftheoriginalonesbutisnolongerinuse, whileBOINCandXtremwebarebothinuse,withBOINCbeingthedominantone.

Projectdesigndecisionsincludehowclientsretrievetasks,whichlanguagetouseto

41 implementtheclients,thefrequencyofspotchecking,andhowmanyclientsmust processasingleworkunit.Eachofthedesigndecisionshasanimpactonhowlonga projectwilltaketocomplete.Althoughtherearedrawbackstousingsimulationsto evaluatetaskretrievalpolicies,thebenefitsofusingsimulationsoutweighthedrawbacks andthus,weusesimulationstoevaluatetaskretrievalpolicies.

42 3 Ways to Improve Project Completion Time and Tradeoffs Becausetheusesforvolunteercomputingcanhavesuchimportantbenefitsfor society,itisdesirabletodecreasetheamountoftimeittakestocompletetheprojectsthat haveafinitedurationandbeabletoprocessmoredatainthesameamountoftimefor projectswithinfinitedurations.Thereareessentiallytwocategoriesofmethods,social andtechnological,thatwecanemploytodecreasetheamountoftimetocomplete projects,assumingthatwedonotwanttodrawvolunteersawayfromoneprojectto completeanotheronefaster.Wedonotwanttodrawvolunteersawayfromoneproject tocompleteanotherprojectbecausethatcouldslowdownanimportantprojectandmight resultinprojectswithinfinitedurationsnotgettingenoughparticipantstomakeprogress.

Althoughthisworkfocusesonthetechnologicalmethodstodecreaseprojectcompletion time,wefeelitisimportanttoexplainthesocialmethodsinenoughdetailsothatothers mayworktoaddressthem.Inadditiontothis,someofthesocialmethodsmayinfluence whichtechnologicalmethodsareimplemented.

3.1 Social Methods – Recruiting More Participants Thesocialmethodtodecreasetheturnaroundtimeofvolunteercomputing projectsistorecruitmorepeopletoparticipateinvolunteercomputing.Onewaytodo thisissimplytoincreasetheawarenessofvolunteercomputingbyincreasingthe publicityofvolunteercomputing.Itislikelythatsomepeoplewhowouldparticipatein volunteercomputingiftheyknewaboutit.Forinstance,familiesandfriendsofcancer victimsmightparticipateinavolunteercomputingcancerresearchprojectsuchas

Grid.org’sproject,inhonoroflovedoneswhohavesuccumbedtothedisease.However,

43 veryfewpeopleItalktoareawareofvolunteercomputingprojects.Wesuggestthat somecompaniescoulddramaticallyhelpincreaseawarenessofvolunteercomputingat nocost.Forexample,webbrowsersalreadycomewithafewlinksinthe“bookmarks” or“favorites”sections.Wewouldliketoseewebbrowserscomewithalinktovolunteer computinginformationandprojects,suchastheBOINCwebsite.Internetportalssuch asYahooandGooglecouldalsoputlinksontheirwebsitewhichcouldhelpincrease awareness.Googledidhaveatoolbarfeaturethatalloweduserstocontributeto

Folding@home,avolunteercomputingprojectatStanford,butthatisnolonger available.Companiesthatproduceoperatingsystemscouldalsobundleinformation aboutvolunteercomputingorevenvolunteercomputingclientsthemselveswiththe operatingsystems.WenotethatBOINCbecamepartoftheDebianLinuxdistributionin

April2006[59].

Althoughincreasingthepublicityofvolunteercomputingprojectsmayhelp recruitmoreparticipants,therearestillpeoplethatareawareofvolunteercomputingwho choosenottoparticipateforavarietyofreasons.Onereasonpeopledonotparticipateis thattheyareafraidthatparticipatingmaycostthemtoomuch[60].Thecostof electricitytorunacomputerconstantlyortheadditionalelectricityrequiredtorunthe computer’scomponentsinsteadofhavingthemdoingnothingwhilethecomputerison butidleisonedeterrent[60].Otherpeopleareconcernedthattheextrawearandtearto theircomputerwillcauseittofailsooner[61].Somepeopleareafraidthatparticipating involunteercomputingprojectswillputtheircomputerandpersonaldataonthe computeratrisk[60].Theproblemofputtingpersonaldataatriskcanbesolvedwith technologicalmethodsandadditionaleducationofthepublic.Somepeopleare

44 concernedthatrunningavolunteercomputingclientwillslowdowntheirother programs.Properlywrittenclientsneednotslowdownusers’computersnoticeably,so additionaleducationofthepublicandhavingathirdpartyverifythattheclientwas writtenproperlycouldresolvethisissue.Anotherwaytopreventpeoplefromworrying thattheclientwillslowdowntheircomputersistoruntheclientonlywhentheuseris notusingtheircomputer,whichcanbedonebyconstructingtheclientasascreensaver.

Manypeopleseemcomfortablewiththeideathatascreensaveronlyrunswhiletheyare notusingtheircomputersactively.Anotherobstaclethatpreventsusersfrom participatinginvolunteercomputingiscomputerilliteracy.Someusersare uncomfortableusingtheircomputerstoperformmundanetaskslikedownloadingor installingprograms.Iftheobstacleofdownloadingandinstallingtheprogramcanbe removed,moreoftheseusersmayparticipateinvolunteercomputing.Theobstaclesof downloadingorinstallingclientscanbemitigatedwithatechnologicalsolution.Aweb basedvolunteercomputingclient,suchasaJavaapplet,doesnotrequireusersto explicitlydownloadorinstalltheclient.

Afinalwaytoincreaseparticipationmaybetoofferincentivestoparticipants.

Manyexistingvolunteercomputingprojectsgiveusers“credit”fortheamountofwork theircomputershavecontributed.Peoplecompeteasindividualsandonteamstorackup morecreditthanothers[1].TheSETI@homeprojectevenoffersprintablecertificatesto userswhohavecompletedvariousamountsofworkfortheproject[62].However,these incentivesarelikelynotenoughtoconvincesomepeopletoparticipateinvolunteer computing.Wesuggestthatfinancialincentivesmaybesufficienttoincreasethenumber ofpeoplewhoparticipateinvolunteercomputingandcouldpotentiallyconvince

45 companiestoparticipateinvolunteercomputing.Thiscouldincreasethenumberof volunteeredcomputerssignificantly.Onepurposeofvolunteercomputingistoallow researchtobedonewithoutasignificantoutlayofcash,soitisnotreasonabletoassume thatalloftheorganizationsthatsponsorvolunteercomputingprojectscouldprovide financialincentives.However,governmentscouldoffertaxdeductionsorcreditsand otherorganizationssuchascharitableorganizationsorbusinessescouldprovideprizesor discountcouponsasincentives[63].

3.2 Technical Methods Volunteercomputingprojectsmakeuseofhardwareandsoftware.Improvingthe performanceofthehardwarethatvolunteercomputingprogramsrunonandthe performanceofsoftware,likedatabases,thatvolunteercomputingprojectsusewould improvethecompletiontimeforvolunteercomputingprojects.However,teamsof hardwareandsoftwaredesignersworktoimprovehardwareandsoftwareperformance, soitisclearlybeyondthescopeofourworktotrytoimprovehardwareanddatabase performance.Portingtheclientstoadditionaldevicescouldpotentiallyincreasethe numberofdevicesparticipatingandwediscussthisinSection3.2.1.Theremaining technicalmethodsforimprovingthecompletiontimeforvolunteercomputingprojects mustbeimplementedinthesoftwareusedbyvolunteercomputing.Thevolunteer computingsoftwareconsistsoftheserverprogram,theclient,andthescience application.Algorithmicimprovementstothescienceapplicationsthattheclientsrun wouldalsoimprovethecompletiontimeforprojects,butthistooisbeyondthescopeof ourworkandweleaveittoothers.Itisnotfeasibletomakealgorithmicimprovements

46 tothescienceapplicationsbecausedoingsowouldrequireanindepthanalysisofthe scienceapplications.However,thesourcecodeformostofthescienceapplicationsis notavailableandunderstandingmanyofthescienceapplicationsmayrequiredomain specificknowledgefromfieldsotherthancomputerscience.Inaddition,asthenumber ofprojectsincrease,therewouldbemorescienceapplicationstoanalyze.Thetime consumingtaskofanalyzingscienceapplicationswouldonlybenefittheprojects examined,asopposedtoallprojects,andsomescienceapplicationsmayalreadybe optimizedandwouldtherefore,notbenefitatall.Thus,theareaswefocusonareporting clientstoadditionaldevicesandmodificationstotheserverandclientprograms.

3.2.1 Porting the Client to Additional Devices Duetothecomputationaldemandsofvolunteercomputingprojects,itisdesirable tofindadditionalsourcesofvolunteercomputingpower.Weexploredthisideain[64] andtheinformationinSection3.2.1comesfromthatwork.Inordertobeaviablesource ofvolunteercomputingpower,aplatformmustbeabletoprovideenoughCPUcyclesto makeitworththeefforttoportvolunteercomputingapplicationstothatplatform.

Generalpurposecomputersarethemostpowerfuldevicesusedforvolunteercomputing

(nobodyvolunteerstheirsupercomputer)andittakesmanyofthemtomakeprogressona project.Therefore,itisclearthataplatformthatisnotaspowerfulasageneralpurpose computermusthaveevenmoreunitsincirculationtoproduceenoughcomputational powertomakeprogressonvolunteercomputingprojects.Somedevicesthathavethe computationalabilitytoperformcalculationsusedinvolunteercomputingprojectsare cellphonesandPDAs.However,becauseperformingthecalculationsforvolunteer

47 computingprojectsissoCPUintensive,runningaclientonamobiledevicesuchascell phoneswilldrainthedevice’sbatteryveryquickly.Sincepeoplewillnotwanttodrain thebatteriesoftheircellphonesorPDAsinminutes,itdoesnotmakesensetoporta volunteercomputingclienttomobiledevices.However,videogameconsolesdonotrun onbatteriesandmillionsaresold.Bytheendof2005,Sonyhadsold200million

PlayStation2videogameconsolesystems[65].Videogameconsoleshavebecome increasinglypowerfulcomputersoverthelast30years.TheAtari2600,releasedin

1977,hada1.19MHzCPUand128bytesofRAM[66].Sony’sPlayStation2containsa

CPUrunningat299MHz,32MBofRAM,anoptionalEthernetconnectorandcustom graphicshardware[67,68].Microsoft’sXboxhasa733MHzIntelprocessor,64MBof

RAM,anEthernetconnection,andspecializedgraphicshardware[69].Microsoft’s

Xbox360,thenewestvideogameconsolesystem,wasreleasedintheFallof2005.This consolecontainsatriplecoreCPUwitheachcorerunningat3.2GHz,512MBofRAM, anEthernetconnection,andspecializedgraphicshardware[70].Thenumberofvideo gameconsolessoldandtheircomputationalpowercombinedwiththeirnetwork capabilitymakesthemapotentiallygoodplatformforvolunteercomputing.

3.2.1.1 Testing the Viability of Video Game Consoles for Volunteer Computing Wewantedtounderstandhowviableaplatformforvolunteercomputingvideo gameconsolesare,sowedevisedanexperimenttotestconsolesystemsandcomparethe resultstotheresultsfromcomputers.

48 3.2.1.1.1 Hardware Totesttheviabilityofvideogameconsolesforvolunteercomputing,we conductedexperimentsusingaserver,variouscomputersrunningaclient,anda10Mbps

Ethernethub.TheserverhadanIntelPentiumIII450MHzprocessorand256MBof

RAM.ItranWindows2000withServicePack3andtheApachewebserverversion

1.3.34.Weusedavarietyofdifferentcomputerstorunavolunteercomputingclient.

WeusedcomputerswiththefollowingCPUandRAMconfigurationstorunavolunteer computingclient:

• PentiumII233MHzprocessorand320MBofRAM(generalpurposecomputer)

• Celeron400MHzprocessorand128MBofRAM(generalpurposecomputer)

• PentiumIII733MHzprocessorand128MBofRAM(generalpurposecomputer)

• PentiumIVprocessorand512MBofRAM(generalpurposecomputer)

• 299MHzprocessorand32MBofRAM(PlayStation2videogameconsole).

BecauseonlythePlayStation2hadaprogrammingenvironmentavailableforentities otherthangamedevelopmentcompaniesatthetimeofthetests,wewereonlyableto developtestsforthatvideogameconsole.

3.2.1.1.2 Software Wedevelopedavolunteercomputingclienttoenableittorunonthegeneral purposecomputersandthePlayStation2.TheclientperformsfastFouriertransforms, liketheSETI@homeclientdoes[71,72].Wehaddevelopedtheclientlikethisbecause

49 unlikemostvolunteercomputingprojects,thesourcecodeforSETI@homeisavailable, allowingustoseewhatavolunteercomputingclientdoes.Tosavetime,weusedfreely availablefastFouriertransformcodeforourclient[73,74].Likeothervolunteer computingclients,ourclientdownloadsataskfromaservertoworkon,performsthe computations,occasionallycheckpointingtodisktoavoidlosingalltheprogressinthe eventofasystemfailure,andreportstheresultofthetaskbacktotheserver.

3.2.1.1.3 Experiments

Weranninetestsoneachcomputerandgameconsole,onetestcorrespondingto eachparametercombination.Sincewehadnotyetfullyexploredtheparametersthat existingvolunteercomputingprojectsuse(seeSection6.1),weusedwhatweconsidered reasonablevaluesfortheseparametersinthisstudy.Theparameterswerefilesize(16

KB,512KB,and1MB)andcomputationintensity(performingthetask1,2,or4times).

Foreachtest,theclientsrequestedataskfromtheserver,downloadedafiletobeusedin thetaskfromtheserver,savedthefiletothelocaldisk,ranacomputationonthecontents ofthefile,andreturnedtheresultofthecomputationtotheserver25times.Thiswas repeated10times.Inbetweenthetestsfromthedifferentcomputers,thewebserverwas rebootedtoensurethatthecachewasinthesamestateforthetestsandthecomputerthe clientranonwasalsorebooted.

3.2.1.1.3.1 Head to Head Comparison

TheresultsofourexperimentareshowninFigure1.ThePlayStation2was significantlyoutperformedbyallthecomputerswetested.Wewerenotsurprisedby

50 mostofthecomputersoutperformingthePlayStation2significantly,exceptforthe

PentiumII233MHzcomputer.Thiscomputerwastheclosestcomparisontothe

PlayStation2thatwehad,andjustbasedonCPUspeed,weexpectedthePlayStation wouldperformroughlythesameasthecomputer.Thecomputerhadsignificantlymore

RAM(320MBcomparedtothePlaystation2’s32MB),sowehypothesizedthatthe computerwaskeepingdatainRAMthatthePlayStation2hadtoswapouttothedisk.

Therefore,wetestedthecomputeragainwithonly32MBofRAMinit.Theresults werealmostidenticaltotheonesweobtainedwhenthecomputerhad320MBofRAM.

Thus,itisunlikelythatthesmallamountofRAMinthePlayStation2iscausingits slowerthanexpectedperformancerelativetothePentiumII233MHzcomputer.

Time to Complete Operations

1600000000

1400000000

1200000000 PlayStation2 1000000000 PII233,32MB PII233,320MB 800000000 Celeron400,128MB

Time (usec) 600000000 PIII733,128MB PIV1.9,512MB 400000000

200000000

0 1,1 2,2 3,3 4,4 5,5 6,6 7,7 8,8 9,9 Parameter Setting Figure 1 - Volunteer Computing Client Performance on Various Hardware Platforms

51 3.2.1.1.3.2 Processor-Only Comparison ThehardwareforthePlayStation2isspecializedandtheharddriveandnetwork interfaceadapterareconnectedinaverydifferentmannerthanthoseofnormal computers.Theharddriveispluggedintoanexpansionportandthenetworkinterfaceis pluggedintothebackoftheharddrive.Thusanynetworktrafficmustpassthroughthe physicalcasingoftheharddrive.Webelievedthatthedifferencesbetweenthehardware connectionsofthePlayStation2andpersonalcomputersmightaccountforsomeofthe performancedifferencesweobserved.Inordertotestthis,wemodifiedourtestprogram toeliminateboththenetworkanddiskI/O.Weplacedallthedatathatnormallyneeded toberetrievedfromtheserver,savedtodisk,andthenreadinfromthediskinmemory withintheclientprogramandrecompiledit.Runningthemodifiedclientonthe

PlayStation2andthecomputerwiththePentiumII233MHzprocessorand32MBof

RAMproducedresultsthatwereevenmorepuzzling.ThecomputerwiththePentiumII

233MHzprocessoroutperformedthePlayStation2forthisprogrambyasignificantly greatermargin.Therefore,webelievethatthePlayStation2’suniquehardware connectionsarenotlikelyasignificantcauseofanyperformancedifferences.Wenote thatthePlayStation2usestheext2filesystem,asopposedtotheothercomputerswe testedwhichusetheext3filessystem.Theext3filesystemisajournalingfilesystem, whiletheext2systemisnot.Thus,theext2systemmayhavegiventhePlayStation2a littleperformanceedgeoverthegeneralpurposecomputers.Therefore,byremovingthe filesystemusage,theprogrammayhaveperformedworseonthePlayStation2than beforecomparedtohowitperformedonthegeneralpurposecomputers.Itisalso possiblethatthecacheinthegeneralpurposecomputergaveitaverylargeadvantage

52 overthePlayStation2.Totestthis,wewouldneedtodevisesomemicrobenchmarksand runthem.

3.2.1.1.4 Conclusions ThePlayStation2wassignificantlyoutperformedbythegeneralpurpose computers,eventheonewithaCPUwithaslowerclockspeed.Inadditiontothis,we notethatvideogameconsolesystemsarenotoftenleftonwhiletheyarenotbeingused, whichcouldhindertheirusefulnessinvolunteercomputingbylimitingthenumberof

CPUcyclesthatthesystemsmightcontribute.Becauseoftheseshortcomings,itisclear thatthePlayStation2isnotthebestresourceforvolunteercomputing(clearlygeneral purposecomputersarebetter).Despitetheseshortcomings,itisimportanttonotethatthe

PlayStation2wasabletoperformtherequiredoperationsforvolunteercomputing, includingnetworkandfileI/O.Thus,webelievethatnewerfastergameconsolessuchas theMicrosoftXbox360SonyPlayStation3thathaveaboutfiveyearsofhardware maturityoverthePlayStation2maybemuchmoreusefulforvolunteercomputing.In fact,unbeknownsttous,asweweretestingthePlayStation2,SonyandFoldingatHome werecollaboratingtocreateavolunteercomputingclientfortheFoldingatHomeproject thatwouldrunonSony’s(thenupcoming)PlayStation3gameconsole[75].Theclientis integratedinthePlayStation3andutilizesthePlayStation3’sadvancedhardwareandnew workunitscreatedforPlayStation3clients.ThePlayStation3isabletocompleteoneof theseworkunitsin8hours,sorunningtheclientovernightwhiletheconsoleisidlewill completeaworkunit.FoldingatHomestatesthat50,000PlayStation3consoleswouldbe abletoattain“performanceonthepetaflopscale”[75].TheworkfromSonyandFolding

53 atHomesuggeststhatstateoftheartvideogameconsolescouldbeusefulforvolunteer computing.

3.2.2 Server Inthissection,weanalyzetheserverportionofvolunteercomputingprojectsand discusstheperformanceeffectsforvolunteercomputingprojectsthatcouldresultfrom makingchangestotheserver.Theserverforavolunteercomputingprojecthasseveral differentfunctions,asdiscussedinSection2.2.1.1.Wefirstdiscussthefourcritical functionsoftheserverthatcouldcauseittobeabottleneckinavolunteercomputing project.Thenweexplaintheimpactsthatimprovingotherpartsoftheserverprogram wouldhaveontheprojectcompletiontime.

Thefirstcriticalfunctionoftheservertominimizethedurationofaprojectis creatingtasksthatclientswillretrieve.Creatingtasksisimportantbecauseifclientsare availabletoprocesstasksandthereisnothingforthemtodo,thiswastesvolunteered

CPUtimeandslowsdowntheproject’scompletion.Weareunawarethatthecreationof tasksiscurrentlyaproblem,butifitwasaproblem,additionalcomputerscouldbeadded toincreasetheamountoftaskscreated.

Thesecondfunctionoftheserverisallowingclientstodownloadtaskswhenthe clientisreadyandnotactasabottleneckforclientstryingtodownloadtasks.Ifclients areunabletogettasksquickly,thensomeofthetimetheycouldspendworkingonthe taskswillbewastedandthisclearlyslowsdownprojects.Andersonetalshowedthat onecomputerthatcostabout$4000in2005couldsupportclientsretrieving8.8million tasksperdayandthataddingtwomoreidenticalcomputersincreasedthatto23.6million

54 tasksperday[76].Clearlyadditionaltaskserverscanbeaddedtoavoidthisbecominga bottleneck.

Theservermustalsoensurethattasksdonotgetsenttoclientsthatareunlikelyto returntheresultsintimeforthemtobeuseful.TheBOINCframeworkrunsbenchmarks toavoidsendingtaskstocomputersthatwillbeunlikelytocompletethemintimesowe doneedfeelthatthisareaneedsfurtherworkcurrently[77,78].

Thefourthcriticaljobfortheserverissendingtaskstoenoughcomputersto ensurethatenoughresultsarereceivedtoallowtheservertoselectthecorrectresult,but sendingeachworkunittoasfewcomputersaspossibletoavoidwastingvolunteeredCPU time.Becauseeachprojecthasitsownrequirementsforhowmanycomputersitwantsto assignanindividualtasktosoitcandecideonthecorrectanswer,wedonotfeelitis necessaryorvaluabletoexplorethisarea.

Theremainingfunctionsoftheserversuchasvalidation,spotchecking,and databasemanagementwillnotimpacttheproject’scompletiontimesignificantlyifthey arespeededuporsloweddown.AlthoughfreeinguptheCPUoftheservercouldallow ittospendtheidletimeprocessingtasksitwouldotherwiseassigntoclients,thiswould resultinsuchasmalleffectontheprojectthatitwouldnotpracticallyaffecttheproject’s completiontime.

3.2.3 Client Thereareseveralaspectsofvolunteercomputingclientsthatcouldpotentiallybe improved,leadingtodecreasingthetimevolunteercomputingprojectstake.Itis importanttonotethatthetaskretrievalpolicyforvolunteercomputingprojectsis

55 implementedintheclient,sowediscussthisaspectofvolunteercomputingprojectsasif itispartoftheclient,eventhoughitisreallythevolunteercomputingproject’stask retrievalpolicy.Wheneveraclientasksforwork,theservergivesitsome.Improving taskretrievalmethods,security,easeofinstallingtheclient,andprovidingmultipletypes ofclientsmightallincreasetheeffectivenessofvolunteercomputing.

3.2.3.1 Task Retrieval Policies TheinformationfromSection3.2.3.1comesfromourpreliminaryresearch, publishedin[79],withsomeminormodifications.Wepointoutthattheresultsinthis sectionarefromourpreliminaryworkandtheysuggestedthatthepercentofdonated

CPUtimewastedbyvolunteercomputingclientsusingdifferenttaskretrievalpolicies wassignificantinsomecases.Therewasacleardifferenceinthepercentoftimewasted bythedifferenttaskretrievalpoliciesinsomecases.Thatdifferencewaswhatmotivated ustocontinuethiswork.Iftherehadnotbeenasignificantdifference,itwouldnothave beenlogicaltocontinuethiswork.

3.2.3.1.1 Comparison of Task Retrieval Methods Inpreliminarywork,weinvestigatedtherelativestrengthsofdifferentmethods clientsmayusetoretrievetasks.Weexaminedthreemethods:theoneusedbyBOINC andDistributed.net,theoneusedbyGrid.organdXtremweb,andoneofourowndesign toprovideanothermethodforcomparison.ThemethodusedbyBOINCand

Distributed.net,whichwerefertoas Buffer Multiple ,hasclientsdownloadmultipletasks atonetimeandbufferthem.Weconsiderthe Buffer Multiple methodwiththevarious

56 amountsofhoursbufferedasdifferentmethodsforourmeasurements,andwecallthe method Buffer-xwhere xisthenumberofhoursbuffered.ThemethodusedbyGrid.org andXtremweb,whichwecall Buffer None ,hasaclientdownloadonlyonetaskatatime, downloadinganewtaskonlyafterreturningtheresultoftheprevioustask.Thismethod guaranteesaclientdoesnotbufferanytasks.Afterconsideringthetwomethodsinuse byvolunteercomputingprojects,weconcludedthatallofthebenefitsthatcouldbe derivedfrombufferingtaskscouldbegainedbyonlybufferingonetask.Thus,we createdamethodtocomparetothemethodscurrentlyinuse.Themethodwedesigned, called Buffer1 ,hasaclientbufferexactlyonetaskbydownloadingataskwhileitis executingitscurrenttask.Usingthismethodaswellas Buffer Multiple ,wheneverthe clientfinishesatask,thereisanotheronewaitingforit.Weacknowledgethatif downloadingatasktakeslongerthanittakesfortheclienttocompleteatask,thenit wouldbepossiblethatataskmightnotbewaitinginthebufferandtherewouldbe wastedtimewaitingforthedownloadtocomplete.However,weassumethatfilesare small(10MBorless),downloadspeedsarefast(300kbpsorfaster),taskstakealong timetocomplete(24hoursofCPUtime),andthecomputersareconstantlyconnectedto theInternet.Basedonourassumptions,wenotethatdownloadingataskshouldalways takesignificantlylesstimetocompletethanperformingataskandtherefore,aclientthat bufferstaskswillalwayshaveataskavailabletoprocess.Boththe Buffer1 and Buffer

Multiple methodseliminatethepossibilityofaclienthavingidlecycleswhileit downloadsanothertask,whichoccurswiththeGrid.orgmethod.However,buffering tasksincreasesthelikelihoodoftasksbeinglateandhavingtobeaborted.Buffering fewertasksshoulddecreasethelikelihoodoftasksbeingabortedduetoaninterruptionof

57 theclientresultingfromasystemfailure,increasedsystemusage,oranyotherreason.

Wecomparehowmuchtimeeachofthedifferentmethodsofretrievingtaskswastes.

3.2.3.1.2 Comparing Wasted Time for the Systems

Inordertocomparethewastedtimeincurredbythedifferentmethodsclientsuse toretrievetasks,weconstructedsimulationmodelsoftheseretrievalmethods.However, weneededtobeabletodeterminethewastedtimecausedbythedifferentmethodsof retrievingtasksinordertocollectdatafromthesimulations.

Weanalyzedthedifferentmethodsthatthevariousprojects’clientsusetoretrieve taskstodeterminethetimetheclientswaste.Wethenderivedanequationforthis wastedtimeandfoundthatthewastedtimeis

• thetimetheclientspentonidlecycleswhilewaitingforatasktodownload(W)

• thetimetheclientspentdownloadingfilesfortasksthattheclientdoesnot

completeontime(D)

• thetimetheclientspentonworkingontasksthatarenotcompletedontime(U).

Thisdoesnotincludethetimetodownloadthefilesforthetasks.

Foreachmethod,

Wastedtime=D+U+W(1)

WenotethatforBOINCbasedprojects,Distributed.netprojects,andiftherewere projectsusingthe Buffer1 method,W=0becauseatleastonetaskisalwaysdownloaded beforethelastoneinthebufferiscompleted.Becausethereisalwaysoneatleasttaskin

58 thebuffer,theCPUisnotforcedtositidlewhilewaitingforatasktobedownloaded.In contrasttothis,forGrid.organdXtremwebprojects,W=thesumoftheidlecycles whichoccurduringthedownloadingoftasksbecausetheparallelismofmodern computersenablesthemtoperformotherinstructionswhiledownloadingafileinsteadof thedownloadingoccupyingtheCPUcompletely.

3.2.3.1.3 Simulations

3.2.3.1.3.1 Simulation Design

UsingEquation1fromourmodelinSection3.2.3.1.2,wedevelopedasimulation togatherdataabouttheamountofwastedtimeincurredbythedifferentmethodsof retrievingtasks.Thesimulationassumedthatthesizeofthetaskswouldallowtheclients tocompletethetasksbarringlengthyinterruptions.Thesimulationinvolvedmany variablessuchasthetimebetweentheendofaninterruptionandthetimethatthenext interruptionoccurs,whichwerefertoasan available period sincethecomputeris availabletoworkonvolunteercomputingtasks.Anothervariableisthedurationofthe interruptionsthattheclientexperienced,whichwerefertoas unavailable periods .

During unavailable periods ,weassumedthattheclientisunabletomakeprogressonthe taskandthatthetaskissimplypausedbutcanberesumedinthestateitwasinwhenthe taskwaspaused.Taskswerestartedbasedontheorderinwhichtheyweredownloaded.

Thesetofsimulationparameterswas: • FileSize.Thesizeofthefilerequiredbyeachtask,thatneededtobedownloaded

beforestartingatask(inMB).

• DownloadSpeed.Theclient’sdownloadspeed(inbps).

59 • CompletionTime.Thetimeittakestocompleteatask(inhours)ifitisnot

interrupted.Itisassumedthatalltaskstakethesameamountoftime,specified

bythisparameter,tocomplete.

• BufferedHours.ThenumberofhoursofworkaBOINCclientbuffers(not

relevantforthe Buffer1 and Buffer None methods).Ifthenumberofhoursof

worktobufferwasnotamultipleofthetimerequiredtocompleteatask,the

numberoftasksbufferedwasequaltothemaximumof1andthefloorof(hours

buffereddividedbythetimetocompleteatask).

• RetrievalMethod.Themethodclientsusetoretrievetasks.Wetestedthe Buffer

None , Buffer1 ,and Buffer Multiple policiesthatweidentifiedinSection3.2.3.1.1.

• AbortMultiple.Thisisanindicationofwhenataskshouldbeaborted.Ifthe

abortmultipleis aandthenormaltimetocompleteataskis thours,thenthetask

willbeabortedifitisnotcompletedwithin athoursaftertheexpectedstarttime

ofthetask.Theexpectedstarttimeofataskisthetimewhenthetaskis

downloadedplus(thenumberoftasksaheadofitmultipliedbythecompletion

timeofatask).Theexpectedstarttimeofataskisdeterminedwhenthetaskis

downloadedanddoesnotchange.

• Lengthofavailableperiods.Thetimebetweentheendofaninterruptionandthe

beginningofthenextinterruption(inhours).

• Lengthofunavailableperiods.Thedurationoftheinterruptions(inhours).

60 3.2.3.1.3.2 Simulation Development WewroteaprograminJavatoperformthesimulations.Wedid1000runsand calculatedtheestimatedvariance.Fromtheestimatedvariance,wedeterminedthat150 runsgaveareasonablehalfwidthfortheconfidenceintervalandwedeterminedthat150 replicationsofthesimulationswouldbesufficient.Thesimulationswererunfor150 replicationswitheachcombinationofthesimulationparametersspecifiedinSection

3.2.3.1.3.1.Eachreplicationsimulatedavolunteercomputingclientforaperiodof2000 hourswheretimeisdividedintounitsofonesecond.Weassumedexponential distributionsfortheinterruptiontimesanddurationsandweusedalibraryfromthe

ARMinerproject[80]togeneratetherandomnumbersweneededforthedistributions.

Becausethiswasapreliminarystudy,weintendedtoreplacetheexponentialdistribution withamorerealisticoneafterwecollecteddata(seeChapter4).Foreachcombination ofsimulationparameters,therandomnumbergeneratorswereseededwiththesameseed toensureconsistencybetweenparametercombinations.Thus,thei th replicationofa simulationforeachparametersetusedseeds i.Duringthesimulation,whenan interruptionoccurred,thetaskbeingexecutedwaspauseduntiltheinterruptionwas completed.Onceaninterruptionwascompleted,thecomputerresumedworkingonthe task.

3.2.3.1.4 Results Weranoursimulationusingthedownloadspeedof300,000bps,afilesizeofone

MB,andataskcompletiontimeof24hours.Wevariedtheabortmultipleandthetask retrievalmethod,asthosearethefactorsthatthecreatorsofvolunteercomputingprojects

61 cancontrol,andthusknowingtheeffectstheyhaveonwasteshouldbeusefultoproject developers.Thefirstsetofsimulationsassumedthatthelengthof available periods was exponentiallydistributedwithameanofeighthoursandthelengthof unavailable periods wasexponentiallydistributedwithameanoffourhours.Figure2showsthe percentoftimewastedunderthoseconditions.

70 60 60 61 60 54 50 38 40 AbortMultiple2days AbortMultiple4days 30 Percent 23 AbortMultiple6days 19 20 10 10 7 5 3 0 0 0 0 0 0 1 3 7 14 Buffered Tasks Figure 2 - Time Wasted For Mean Available Period Eight Hours and Mean Unavailable Period Four Hours The Buffer None method(correspondingtothezeroBufferedTasksonthehorizontalaxis inFigure2)wastedsignificantlylesstimethantheothermethodswiththeabortmultiple two.Whentheabortmultiplewasfour, Buffer None stillwastedfarlesstimethan

Buffer 72(threebufferedtasks), Buffer 168(sevenbufferedtasks),and Buffer 336(14 bufferedtasks),butonlyalittlelessthan Buffer1 and Buffer 24. Buffer 24wastedthe

62 sameamountoftimeas Buffer1 forabortmultiplestwoandfour.However,whenthe abortmultiplewasincreasedtosix, Buffer1 , Buffer 24,and Buffer 72wereasefficientas

Buffer None .Increasingtheabortmultipledecreasedtheamountofwastedtimeforall themethodsofretrievingtasks,andasthenumberofhoursbufferedbya Buffer Multiple clientincreased,sodidtheamountoftimetheclientwasted.Weduplicatedthe simulationswithdownloadspeedsof28,000bps,1,000,000bps,and10,000,000bpsand noticedalmostnodifferenceintheresults.

Forsignificantlylessfrequentandshorterinterruptions,theresultswerevery different.Oursecondsetofsimulationsassumedthedurationofthe available periods wasexponentiallydistributedwithameanof16hoursandthedurationofthe unavailable periods wasexponentiallydistributedwithameanoftwohours.Wevariedthenumber oftasksbuffered(zero,one,three,seven,and14)andtheabortmultiple(two,four,and six).Figure3showstheresultsofthesimulationwiththoseparameters;thenumberof bufferedtasksisshownonthexaxisandtheresultsbasedonthedifferentvaluesofthe abortmultipleareindicatedbythedifferentcoloredbars.Forseveraloftheseparameter settings,thewastedtimewaszero.

63 80 72 71 70 65 62 60

50 AbortMultiple2days 40 AbortMultiple4days

Percent AbortMultiple6days 30

20

10 5 0 00 0 0 0 00 0 0 0 0 1 3 7 14 Buffered Tasks Figure 3 - Time Wasted For Mean Available Period 16 Hours and Mean Unavailable Period Two Hours Althoughwhentheabortmultiplewastwo,the Buffer None methodwas significantlybetterthantheothermethods,whentheabortmultiplewasfourorsix,there wasalmostnodifferencebetweentheamountoftimewastedbythedifferentmethods.

Withtheexceptionof Buffer 168and Buffer 336fortheabortmultiplefour,allthe methodswastedalmostnotime.Onceagain,therewasalmostnodifferenceinthe resultsfordownloadspeedsof28,000bps,300,000bps,1,000,000bps,and10,000,000 bps.Oursimulationalsoshowedusthatthevaluesofseveralparametershadlittleorno effectontheresultsofthesimulation.Thevaluesofotherparametershadasignificant impactontheresults,causingthethreeretrievalmethodstowasteaboutthesameamount oftime.Wetestedfilesizesofone,five,and10MBanddownloadspeedsof56,000,

300,000,1,000,000,and10,000,000bps.Thedifferentvaluesoftheseparametershad almostnoimpactonthesimulationresults.Wetestedthevaluesone,12,24,36,and48 hoursforthetimerequiredtocompleteatask.Therewaslittledifferencebetweenthe

64 amountoftimethedifferentretrievalmethodswastedfor1hourtasks.However,the

Buffer None methodwastedfarlesstimefortheothertaskcompletiontimes.Wealso ransimulationswithabortmultiplesofoneandeight,whichresultedinalmostidentical amountsofwastedtimeforthedifferentmethodsofretrievingtasks.

3.2.3.1.5 Analysis

Theresultsofoursimulationhaveshowntwoimportantpoints.Theresults showedthataclientretrievingonetaskatatimeinsteadofretrievingmultipletasksat oncecauseslesswastedtime.Insomecases,theamountofwastedtimeissignificantly lessusingthismethodthanusingtheothers.Inaddition,whilelowerabortmultiples causesignificantlymorewastedtimeforallthetaskretrievalmethods,theeffectofalow abortmultipleonthe Buffer None methodcausesfarlesswastedtimethanitdoesonthe othertaskretrievalmethods.Wedopointoutthattheparametersweusedforthe simulationswereonly“bestguess”valuesandweranthesimulationsagainwithactual values,asdiscussedinChapter4,Chapter5,andChapter6.Wealsonotethatwe assumedthattasksweresimplypausedduring unavailable periods .Insomecases, however,unavailableperiodsmaybeduetoacomputerbeingpoweredoff,whichwould meanataskwouldneedtoberestartedfromitslastcheckpointwhenthecomputer becameavailabletoperformvolunteercomputingtasksagain.

3.2.3.2 Security Theconcernthatmanypeoplehaveabouttheircomputerbeingcompromisedor personaldatabeingstolencanbealleviatedbybuildingaclientthatdoesnotallow

65 accesstoacomputer’sfilesystemandonlyallowsnetworkconnectionsbacktothe volunteercomputingprojectserver.AnunsignedJavaappletcannotaccessthefile systemonacomputeritisrunonandcanonlymakenetworkconnectionstotheserverit wasdownloadedfrom[81].Therefore,bywritingaclientasanunsignedJavaappletand explainingthatitissecuretopeoplewhodonotunderstandaboutapplets,projectscould potentiallyincreasetheirnumberofparticipants.Wenotethatothersimilarmethods couldbeconstructedtoousingotherprogramminglanguages,butwearecurrently unawareofotherimplementations.

3.2.3.3 Ease of Installation TheeaseofinstallationissuecanberesolvedbyconstructingaWebbased volunteercomputingclientthatrunswhenaWebbrowservisitsawebsite.Again,one implementationthatallowsausertorunaclientwithoutinstallingtheclientisaJava applet,althoughotherWebbasedapplicationscouldcertainlybeconstructed.

3.2.3.4 Providing Multiple Types of Clients Onemethodthatmightimprovethecompletiontimeofvolunteercomputing projectsisforprojectstoprovidemultipletypesofvolunteercomputingclients.The differenttypesofclientsmighthavedifferentfeatures,suchasaddedsecurity,thatmake themmoreattractivetodifferentusers.Therefore,apersonwhoisnotwillingtorunone typeofclientandwouldnotparticipateifnootherclientwasavailablemightdecidethat thefeaturesofanothertypeofclientwereacceptableandrunit,therebyincreasingthe numberofusers.Inthefollowingsections,wediscussseveraldifferenttypesofclients:

66 programsthatrunwhencertainconditionsaremet,programsthatrunallthetime,and programsthatrunwhenauserexplicitlyactivatesthem.

3.2.3.4.1 Programs That Run When Certain Conditions Are Met Onetypeofclientthatcanbeprovidedisaprogramthatrunsonlyundercertain welldefinedconditions,suchaseverySaturdayandSundayorafterasomespecified amountofanabsenceofuserinputfromthekeyboardandmouse.Wenotethatthe differentpossibleimplementationsofaprogramthatrunswhencertainconditionsare metareallverysimilarandtheadvantagesanddisadvantagesbetweenthevarious implementationsarethesame.Thus,wecontinuethisexplanationinthecontextofone suchimplementationwhichvolunteercomputingprojectsprovide,ascreensaver.Inthe caseofthescreensaver,theconditionsthatmustbemetarealackofinputfromthe keyboardandmouseforaspecifiedtimeperiod.Whentheuser’sscreensaverwould normallybeactivated,thevolunteercomputingclientisrunanditdisplaysitsown graphics,whichserveasascreensaver.Thegraphicsusuallyrelatetotheproject.For example,theGrid.orgcancerresearchprojectdisplaysinformationaboutthemoleculesit iscurrentlytesting,whiletheSETI@homescreensaverdisplaysinformationaboutthe signaltheclientisprocessing.Oneadvantageofclientsthatrunwhencertainconditions aremetisthataftertheprogramhasbeenconfiguredthefirsttime,theuserneverneeds toactivateitexplicitly.Anotheradvantageofthistypeofclientisthatitdoesnotrun whentheuserdoesnotwantittorun.Inthecaseofascreensaverimplementationofthis typeofclient,thescreensaverdoesnotrunwhenapersonisactivelyusingtheir computer,sousersshouldnotbeconcernedthattheclientisslowingdowntheirother

67 programswhentheyareusingtheircomputer.Adisadvantageofthistypeofclientisthe needtoinstallitonthecomputer.Althoughtheinstallationprocessofvolunteer computingclientsisbothquickandsimple,manypotentialvolunteersmaynotbe comfortableinstallingit.Anotherdisadvantageofthistypeofclientisthatitprovides lessdonatedCPUtimetovolunteercomputingprojectsthanaclientthatrunsallthetime whenacomputerison.

3.2.3.4.2 Programs That Run All the Time Asecondtypeofclientthatvolunteercomputingprojectscanprovideisa programthatrunsallthetimewhileacomputerispoweredon.Thistypeofclientcanbe implementedasanapplicationthattheuserinvokesmanuallywhenhestartsthe computeroritcanbesettorunautomaticallyonstartuplikeadaemonprocessonLinux andUnixoraserviceonWindows.Forsimplicity,wewillrefertotheimplementation thatstartsautomaticallyasadaemon,regardlessoftheoperatingsystemitrunson.The applicationordaemoncanrunataminimumprioritylevelsothatitdoesnotnoticeably interferewiththeotherprogramswhenapersonisactivelyusingthecomputer.

However,unlikeascreensaver,theprocessusestheidlecyclesonthecomputereven whileapersonisactivelyusingthecomputer.Anadvantageofthistypeofprogramis thatsuchanapplicationordaemonprocesswillprovidemorecomputationalpowertoa volunteercomputingprojectthanaprogramthatrunsonlywhencertainconditionsare met.Sinceapplicationscanbesettolaunchautomaticallywhenacomputerstartsand sincedaemonsdonotneedtobeactivatedexplicitly,weconsiderbothdaemonsand applicationsashavingtheadvantageofnotneedingtobeactivatedexplicitly.Likea

68 programthatrunswhencertainconditionsaremet,aprogramthatrunsallthetime suffersfromthedisadvantageofneedingtobeinstalled.Inadditiontothis,incontrastto aprogramthatonlyrunswhencertainconditionsaremet,somepeoplearesuspicious thatadaemonwillslowdowntheresponsetimeoftheirotherapplicationsnoticeably.

3.2.3.4.3 Programs That Run When the User Tells Them To Athirdtypeofclientthatvolunteercomputingprojectscanprovideisaprogramthat runswhentheuser“tellsitto”byactivatingitandstopsrunningwhentheuser deactivatesit.Thistypeofclientcouldbeimplementedasanapplicationorasaweb basedprogram.Oneadvantageofthismodelisthatusershavecompletecontrolover whentheapplicationisrunning,sotheyknowitisnotslowingdowntheirotherprograms whentheydeactivateit.Awebbasedimplementationoftheprogramwouldallowthe usertoruntheprogramwithoutinstallingit,butbysimplyvisitingawebsiteand clickingabuttontostart(orstop)theprogram.Theusercouldevensetthesiteastheir homepagewiththeclickofabuttonsoeverytimetheyopenedtheirwebbrowser,they mightremembertostarttheprogramiftheywantedto.Thereareseveraldrawbacksto thismodel,however.Anapplicationimplementationwouldrequiredownloadingthe client.Itisalsolikelythatmanypeopleparticipatingbyusingthistypeofclient, regardlessoftheimplementation,wouldoftenforgettostartitandthusalotofCPUtime thatcouldbedonatedwouldbewasted.Inadditiontothis,manypeoplemightdecideit isinconvenienttokeepstartingandstoppingtheprogram,whichcouldleadtothemnot participating.

69 3.3 Tradeoffs Therearetradeoffsthatmustbeconsideredwhenevaluatingthedifferenttypesof volunteercomputingclients.Atahighlevel,clientsthatrunconstantlyclearlyprovide moredonatedCPUcyclesthanclientsthatrunwhenausertellsthemtoorwhencertain conditionsaremet.However,thismustbeweighedagainstthefactthatmanypeopledo notwanttheclientstorunwhentheyareactivelyusingthecomputer,andthusreleasing onlyclientsthatrunallthetimemaydecreaseparticipation.Constructingallthreetypes ofclientswouldcertainlycreatethegreatestnumberofparticipants,butitmayalso requireseveraldifferentprogramstobewrittenandmaintained,whichincreasesthe burdenonanorganizationrunningthevolunteercomputingproject.Inaddition,some peoplewhomighthavebeenwillingtorunaclientthatrunsallthetimemaychooseto runaclientthatrunsonlyundercertainconditionsoronlywhentheuserinstructsitto.

Makingallthreetypesofclientsavailablecouldresultinthecontributedamountof cyclesfromsomeusersgoingdownifusersthatmightbewillingtorunaclientthatruns allthetimechoosetorunaclientthatdoesnot.

Implementingtheclientasawebbasedapplicationcaneliminatetheneedforthe usertodownloadandinstalltheclient.However,webbasedclientsshifttheburdenof activatingtheclienttotheuser.Byleavingthebarrierofrequiringtheusertodownload andinstallaclient,theburdenofactivatingtheclientcanberemovedfromtheuser.

Therearealsosomeimplementationspecifictradeoffsthatshouldbeexamined.

Thetradeoffsaretheresultofdifferentfeaturesofcurrentlypopularprogramming languageslikeC,C++,andJava.Thetradeoffsmaynotberelevantinthefuture,ifthe languagesarenolongerusedorotherlanguagesaredeveloped,combiningthebest

70 featuresofthecurrentlanguages.However,giventhecurrentstateofprogramming languages,thetradeoffsareimportanttoday.Thecurrentimplementationsofclientscan beconstructedinanylanguage,butunlikeaclientwritteninCorC++,anunsignedJava appletprovidesassurancethattheclientisnotcollectingpersonaldatafromthecomputer orusingitforsomeothermaliciouspurpose,suchasactingasaspamrelayor contributingtoadistributeddenialofserviceattack.BecauseJavaisaninterpreted language,itisslowerthancompiledlanguagessuchasCandC++,whichmeansthat

JavaclientsarelikelylessproductivethanCorC++clients.However,itisunlikelythat volunteercomputingprojectswillporttheirclientsfromC/C++toJava,sotheywill likelychoosetoimplementtheirclientsonlyinonelanguage.Iftheyimplementthe clientinC/C++,theywilllosesomepotentialvolunteerswhorequiretheaddedsecurity providedbyJava.IftheyimplementtheclientinJava,theywilllosesomeofthe effectivenessofthedonatedCPUcycles.

3.4 Summary Inthissection,wediscussedthetwodifferentcategoriesofmethodstoimprove volunteercomputingprojectcompletiontimes,aswellasthetradeoffsofdifferenttypes andimplementationsofvolunteercomputingclients.Thecategoryofsocialmethods focusedonwaystoincreasethenumberofparticipantsinvolunteercomputingprojects.

Thetechnicalmethodsincludeportingvolunteercomputingclientstodevicesotherthan generalpurposecomputers.Wetestedaclientontheonlyvideogameconsolesystem thatprovidesausertheabilitytodothisandfoundthatitisaviableoptionbut significantlylesseffectivethanageneralpurposecomputerwithaCPUthathasan

71 equivalentclockspeed.Wealsoexplainedthefindingsofourpastworkwherewetested differenttaskretrievalmethods.Wehaveexplainedhowclientscanbeimplementedto increasesecurityandsimplifyinstallationanddiscussedthedifferenttypesofvolunteer computingclientsthatcanbecreated.

Althoughthesocialcategoryofmethodstoincreasethenumberofparticipantsin volunteercomputingprojectsisanimportantgoal,thisworkfocusesontheother categoryoftechnicalmethodstoimprovevolunteercomputingprojectcompletiontimes.

Wediscussedthepotentialwaystoimprovetheserverportionofvolunteercomputing programsandfoundthatthereisverylittlethatcanbedonetotheservercomponentsto increasetheeffectivenessofvolunteercomputingprojects.Wediscussedfourclient basedtechnicalmethodstoincreasingtheeffectivenessofvolunteercomputingprojects: taskretrievalpolicies,security,easeofinstallation,andprovidingmultipletypesof clients.Ourpastworkshowsthatdifferenttaskretrievalpolicieshaveasignificant impactontheeffectivenessofvolunteercomputingprojects,butmoreworkneedstobe donetofindbetterpolicies.Wehaveexplainedhowclientscanbeimplementedto increasesecurityandsimplifyinstallationandthereisnoneedtoexplorethisfurther.We haveexplainedhowprovidingdifferenttypesofclientsmayincreasetheeffectivenessof volunteercomputingprojects,butthisneedstobeexploredtodeterminetheproductivity differencesbetweenthedifferenttypesofclients.Weperformapreliminarystudyofthe productivitydifferencesinChapter8.

72 4 Data Collection Inthischapter,wediscussthecomputerusagedataweneededtocollecttodrive oursimulations,thedatacollectionprocess,someanalysisofthedata,andcomparethe datawecollectedwithasimilardataset.Theinformationinthischaptercomesfrom researchwepublishedin[82]withsomeminormodificationsandadditions.

4.1 Required Data Inordertoperformaccuratesimulationsandcorrectlyexplainwhatthebesttask retrievalmethodsareforvariouscircumstances,aswellastocorrectlycharacterizethe amountofworkdifferenttypesofclientscanperform,weneededtheparametersofthe simulationstoreflectthosepresentintherealworld.Thisrequiredgettingdatafrom computerusagestudiesorexistingvolunteercomputingprojects.Wedeterminedthatthe dataweneededhadseveralrequirementslistedbelow.

Requirement 1:Thedataneededtoaccuratelyreflectthecomputersthatmightbe availableforvolunteercomputing.

Fourmajorclassesofcomputersthatmightbeusedforvolunteercomputingare:

1. Homecomputers:Thesecomputersareusedforpersonalandfamilyrelated

activities.

2. Businesscomputers:Thesecomputersareusedforbusinessrelatedactivities.

73 3. Publiccomputers:Thesecomputersareavailableforthegeneralpublicinsome

communitytouse,suchascomputersinapubliclibraryorcomputersinalabon

acollegecampusthatisopentotheentirestudentbody.

4. Undergraduatestudentcomputers:Thesecomputersareownedbystudentsand

usedattheiruniversitiesorcolleges.

Weelectedtousecomputersfromthefourcategorieswehavedescribedaswewanted somediversityinoursamples.Wereasonedthattheusagepatternsofthosecategories mightbesignificantlydifferentandthusweneededtocollectdatafromcomputersin eachcategorytoseetheentirepicture.

Requirement 2:Thenumberofcomputerswecollecteddatafromineachcategorylisted inrequirementoneneededtobesignificantenoughtomakesomereasonable observationsaboutthedata.Thus,weattemptedtocollectdatafromasmanycomputers fromeachcategoryaswecould.

Requirement 3:Thedataweneededhadtorevealwhencomputerswereavailableto participateinvolunteercomputing,unavailabletoparticipatebutpoweredon,andwhen thecomputerswereunavailabletoparticipate.

Theperiodswhenthecomputerswereavailableandunavailablewouldbeused forsimulationsinvolvingthemodelofvolunteercomputingclientsthatrunwhensome conditionsaremet,suchasscreensavers.Theperiodswhencomputerswereavailable andunavailablebutpoweredonwouldbeusedforsimulationsinvolvingthemodelof

74 volunteercomputingclientsthatrunallthetime.Inordertocollectthisdata,weneeded todefinewhenacomputerwasavailableforvolunteercomputing.Wenoteherethat unavailableissimplythecomplementofavailable.

Thereareseveralwaystodeterminewhenasystemisavailable.Althoughsome ofthemethodshaveshortcomings,welistthemanywayforcompleteness.Onewayisto trackwhentheuserhaslastgivensomesortofinputtothecomputerwiththekeyboard ormouseandassumingiftheuserhasnotgiveninputtothecomputerinsomeamountof time,thenthecomputerisavailable.Thisinformationcanbeobtainedbyqueryingthe operatingoraskinguserstoprovidethedata.Anothermethodistotrackthecomputer’s

CPUutilizationrateandassumethecomputerisavailablewhentheutilizationdrops belowsomethreshold.However,thisfailstotakeintoaccountthefactthatsome screensaversareveryCPUintensive.Tofixthisshortcoming,wedecidedthatwecould alsotesttoseeifthescreensaverwasrunning.However,someutilitiessuchasantivirus orantispywareutilitiesmayberunningwhenthescreensaverisalsorunningandmight useenoughofthecomputer’sCPUtimetoindicatethatthecomputerwasnotidle.Itwas unclearwhetheritshouldbeconsideredidle,however,ifthecomputerwasupdatingits virusdefinitionfilesorrunningasweeptodetectspyware.Eventually,wedecidedthat weshouldjustdowhatvolunteercomputingprogramsdo:weshouldconsidera computeravailableifthescreensaverisrunning.

Requirement 4:Thedataneededtorepresenttheavailable,unavailablebutpoweredon, andunavailableperiodsinafineenoughgranularitytomakeoursimulationsaccurate.

75 Becausewedecidedtousethescreensavertodefinewhencomputerswere available,thedataneededtohaveafineenoughgranularitytoreflectthestateofthe screensaveroncomputersaccurately.Screensaverscanbesettocomeonafteraperiod ofidletimethatisamultipleofoneminute.Samplingthestateofthescreensaverevery

60secondswouldallowthedatatobeoffbyasmuchas59seconds,whichwedeemed wastooinaccurate.

Ifwewouldneedtocollectthedatainsteadofjustusingdatafromothers,we wantedtoensurethataprogramwewoulddesigntocollectthedatawouldnotimpose enoughofperformancecostonthecomputersuchthattheuserwouldnoticetheprogram wasrunning.Weconductedanexperimenttohelpusdecideonasamplingrate,running aprototypedatacollectionprogramonanoldcomputerwithanIntelCeleron900MHZ

CPUand128MBofRAMthatwasrunningWindowsXP.Weexpectedthatifwehad tocollectthedataourselves,thenanycomputerusedinourstudywouldhaveequivalent orbetterhardware.Thus,ifourprogramdidnothaveanoticeableperformanceimpact onthiscomputer,thenwebelieveditwouldnothaveanoticeableimpactonany computerthatwouldparticipateinourstudy.Theprototypewassettosleepfor60 secondsbetweeneverytimeitqueriedtheoperatingsystemtoseeifthescreensaverwas running.BymonitoringtheCPUusageoftheprogramwithTaskManagerforseveral minutes,wesawthattheprogramwasusing0%oftheCPU.Wedecreasedthesleep timeto30seconds,anduponobservingtheprogramwascontinuingtouse0%ofthe

CPU,wedecreaseditagainto10seconds.Withthissetting,theprogramcontinuedto consume0%oftheCPU.Thissettingallowedustodeterminewhenthescreensaver startsandstopswithin10secondsoftheeventsactuallyoccurring.Thismeansour

76 measurementswouldbeaccuratetothenearestminute,whichwefeltwouldbeprecise enoughforoursimulations.

Requirement 5:Thesamplingofthedataneededtohavebeencontinuousforenough timetogetanaccuraterepresentationofcomputerusagepatternsandtrytoavoidthe effectsofanomalousdata.

Althoughayear’sworthofcontinuoussamplingwouldprovideuswithmore accurateresultsthanshorterperiods,wedidnotexpecttobeabletofindcontinuous tracesspanningevenmultiplemonthsinastudyanddecidedthatatleasttwoweeksof datawouldbenecessarytoensurethatoutlyingusagepatternsdidnotskewthedatawe collected.

Requirement 6:Thedataweusedforthesimulationsneededtohavebeenrecordedina consistentmanner.

Wewouldonlybeabletousedatafromtwoormoredifferentstudiesthat togetherhadcollecteddatainthefourcategoriesofcomputerslistedinRequirement1if bothstudieshadrecordedthesamedatausingthesamemethodandthesamesampling intervals.

Requirement 7:Thedataneededtohavebeencollectedrelativelyrecently.

77 Computerusagehaschangedsignificantlyduringthelast10years,ascomputers havegonefrombeingsomethingonlyasmallsegmentofthepopulationcouldaffordto beingacommoditythatahugesegmentofthepopulationcanafford.

Wecontactedexistingvolunteercomputingprojectstoseeiftheyhadcollected thisdata,butbothGIMPSandtheBOINCbasedprojectsdonotcollectthisinformation

[83,84].Noneoftheotherprojectswecontactedresponded.Thus,wedecidedtoreview otherstudiesrelatingtocomputerusagestatisticsinanattempttogetthenecessary information.Althoughtherewerequiteafewstudiesthatcollecteddataaboutthe availabilityofcomputers,wewereunabletofindanythathaddatathatwascloseenough tomeetingourrequirements.However,forcompleteness,wediscussthemostrelevant studiesweexamined.

4.2 Related Studies Therehavebeenquiteafewstudiesabouttheavailabilityofcomputers.Wolskiet al.gathereddataandanalyzeditalongwithdatafromanotherstudyinanattemptto predicttheavailabilityofdesktopcomputers[85].Oneofthedatasetstheygatheredwas frommachinesinaCondorpoolattheUniversityofWisconsin[85].Thisdataset measuredthetimethataprocesswasabletorunonacomputerbecausetheCondor frameworkdeterminedthattheworkstationwasidle[85].Thismethodonlymeasured theidletimeofsomecomputersatsometimes,thuscollectingonlyafractionofthe availabledatapoints,asthemethodforgatheringthemeasurementswastosubmit10 jobsthatsimplymeasuredtheidletimetotheCondorpool[85].Theotherdatasetthey gatheredwasfromasetofcomputersinseverallabsatUCSBthatareaccessibleto

78 computersciencestudents[85].Thisstudymeasuredthetimebetweenrebootsofthe computerstodeterminetheavailabilityofthecomputers[85].Wenotethatthisdata doesnotrepresenttheavailabilityofcomputersforvolunteercomputing,butratherthe timethecomputerswerepoweredon.Thefinaldatasetthattheyexaminedwasone collectedin1995byLong,Muir,andGoldingthatcollecteddataabout1170computers connectedtotheInternetthatrespondedtorandomizedrpcstatdcalls[85].Although

Wolskietalcollecteddatafromseveraldifferentsourceswhichisveryimportanttoour work,thewaytheymeasuredavailabilitywasnotconsistentacrossthedifferentsources andwasnotconsistentwithourmethodofdefiningavailability.Thus,wewereunableto usetheirdataforourwork.

MutkaandLivnycollecteddatafromthreedifferenttypesofusers[86].They monitoredcomputersusedbygraduatestudents,faculty,andsystemsprogrammers[86].

MutkaandLivnyconsideredworkstationstobeunavailablewhentheyareusedorwhen theaverageuserCPUusagewasgreaterthanonequarterofonepercentwithinfive minutesofbeingusedbytheowner[86].However,thedataisalmost20yearsoldand moreimportantly,only11computersweremonitoredfortheirstudy[86].Becauseof this,wedidnotfeelthatthedatawasrepresentativeofthedataweneeded.

Acharyaetalexaminedtracesofthreedifferentsetsofworkstations[87].For thetracefromtheUniversityofMarylandComputerSciencedepartment’sclusterof publiccomputers,acomputerwasconsideredavailableiftheCPUutilizationstayed below0.3forfiveminutes[87].InthetracefromaCondorpoolofroughly300 workstationsattheUniversityofWisconsin,acomputerwasconsideredtobeavailable whentheCondorsoftwaredeemeditso[87].Theremainingtracecamefromagroupof

79 computersatUCBerkeley[87].Again,theinconsistencyofdeterminingwhen computersareidleandthedataonlycomingfromonetypeofcomputerrenderedthis dataunusableforourwork.

Kondoetalpublishedresultsofastudythatprovidedadatasetthatmostclosely resemblesthedatathatweneededforoursimulations[88].Thisstudy,intendedtobe usedforthestudyofenterprisedesktopgrids,measuredtheavailabilityofover200 computersintheSanDiegoSupercomputerCenter(SDSC)[88].Kondoetalrecorded whethereachcomputerwaspoweredonandreachableoverthenetworkandthe percentageoftheCPUtimethatwasavailableforadistributedapplicationat10second intervals[88].Theirrecordeddatadiddistinguishbetweenahostbeingavailable, unavailableandpoweredon,andunavailableandpoweredoninawaythatwemight havebeenabletouse[88].Inhisdissertation,Kondousedadatasetgatheredinthe samemannerfromasetofstudentlabmachines[89].However,becausetheir measurementscamefromonlytwotypesofcomputers(whatwedeembusiness computersandpublicaccesscomputers,asopposedtoastudent,andhomecomputers), westillneededtocollectdatafromtheothertwotypesofcomputers[88,89].Inorderto keepthedatawecollectedcompletelyconsistentwithonemeasuringscheme,wechose nottousethebusinesscomputerdatatheyhadcollected.However,inSection4.5,we comparetheresultsofKondo’sstudywithourresults.Itshouldbepointedoutthat

Kondo’smethodofdatacollectiondiffersfromourssignificantly.Whilehismethod collecteddatafor28days,the28daysweresplitintofoursetsofdateranges[90].In contrasttothis,ourdatawascollectedover28consecutivedays.Thedifferencebetween

80 thesedatacollectionmethodswasanotherreasonwewereunabletouseKondo’sdatafor oursimulations.

4.3 How We Obtained Computer Usage Data BecausenoneofthestudiesinSection4.2collecteddatathatmetour requirementsandwewereunabletofindanyothersourceswiththedataweneedforour simulations,weneededtocollectthedataourselves.Itappearedthatthemostaccurate waytocollecttheinformationwouldbetohaveaprogramcollectthedataautomatically fromusers,ratherthanhavingtorelyontheaccuracyofusers’memoriesandtheir honesty.Ourmethodalsoputstheburdenofcollectingtheinformationonusandallows userstoexpendaminimalamountoftimeandefforttogetustheinformationwewant.

Webelievedthiswouldlikelyyieldusmoreinformationthansurveyingusers.

4.3.1 Development Decisions Weneededtomakedecisionsaboutseveralaspectsofsuchaprogramthatwould collectthisinformation.Weneededtodeterminetheoperatingsystem(s)forwhichwe woulddeveloptheprogram,thetypeofprogramwewouldusetocollecttheinformation, themethodofrecordingthedata,themethodofcollectingthedata,andthedurationof theexperiment.

4.3.1.1 Target Operating Systems Wetooktwofactorsintoaccountwhendeterminingtheoperatingsystem(s)on whichourprogramwouldrun.Thefirstrequirementweneededtosatisfywastobeable

81 tocollectlargequantitiesofdatawithminimaleffort.Thismeantthatagoodstrategy wouldbetowritetheprogramforasingleoperatingsystemifpossible.Thus,ifwe coulddetermineanoperatingsystemwithalargeenoughpoolofusers,writingthe programforthatoperatingsystemwouldbepreferabletowritingtheprogramandhaving toportittoseveraloperatingsystems.Oursecondrequirementwastobeabletocollect datafromseveralofthefollowingdifferentcategoriesofcomputers:homecomputers, collegestudentcomputers,businessworkstations,andpublicaccessworkstationssuchas computersavailableforusebymembersofcollegecampuseslikelibraryorcomputerlab workstations.Wewantedtocollectdataabouteachofthesetypesofcomputersbecause wefeltthattheusagepatternswouldbesignificantlydifferentoneachtypeandthatthese typesofcomputers(asopposedtoserversorsomeothertypesofcomputers)wouldbe themostlikelytoparticipateinpublicresourcecomputingprojects.Thefamilyof

MicrosoftWindowsoperatingsystemswastheonlyoperatingsystemthatsatisfiedboth ofourrequirements.Thisfamilyofoperatingsystemsisusedonallofthetypesof computersaboutwhichwewanttogatherinformation,includingthepublicaccess computersontheWorcesterPolytechnicInstitute(WPI)campus(andothercampuseswe areawareof).Weareunawareofanotheroperatingsystemthatmeetsthese requirements.ThefamilyofWindowsoperatingsystemsisalsousedbymanypeople andwebelieveisthepredominantoperatingsysteminuseforthesetypesofcomputers, sowebelievedwewouldhavealargeenoughpoolofusers.

82 4.3.1.2 Type of Program HavingsettledontheMicrosoftWindowsfamilyofoperatingsystemsasour targetplatform,wehadthreetypesofdatacollectionprogramsthatwecouldwrite:a

WindowsService,aWindowsapplication,orascreensaver.Therearebenefitsand drawbackstoeachofthethreetypesofprograms.Thebenefitsofascreensaverarethat theyprovideaneasywaytoinformtheuserofanythingtheyneedtoknowandalso provideawaytoentertaintheuserandeducatethemabouttheprogram.Farmore importantly,screensaversreceivemessagesfromtheoperatingsystemtostartandstop.

Thus,onecouldcreateascreensaverthatuponreceivingthosemessagescouldlog whetherauserisidle.Thisabilitymakesascreensaverseemlikethelogicalchoiceat first.However,aftertalkingwithseveralusers,itbecameclearthatsomepeopleliketo runparticularscreensaversandthusaskinguserstorunoneofourowndesignwouldput toomuchofaburdenonsomeusersanddecreaseourpoolofpotentialusers.Inaddition tothis,forvariantsofWindows,eachusermaysethisownscreensaver,soallusersofa computerwouldneedtouseourscreensavertomakethedatacollectedvalid.Another problemwiththisapproachisthatadifferentscreensavercanrunwhennouserislogged ontoacomputer,sothedefaultscreensaverwouldalsohavetobesettoourscreensaver tomakethismethodwork.Sincescreensaversarealsoeasilychanged,userscouldeasily accidentallyormaliciouslychangethescreensaverduringourexperimentandinvalidate theresults.Thecombinationofthesedeficienciesmakesthescreensaveranunattractive option.

WritingourprogramasaWindowsapplicationprovidesfewbenefitsandsuffers frommanydrawbackssimilartothoseofscreensavers.AWindowsapplicationprovides

83 awaytocommunicatewiththeusertobothinformtheuseraboutvariousissuesaswell asawaytogetuserinput.However,aWindowsapplicationdoesnotreceivethesame messagesasascreensaverdoestostartandstopunlessitistheforegroundapplication.It isunrealistictoassumethattheapplicationwillalwaysbetheforegroundapplication whentheuserbecomesidle,sothiswouldnotworkwithoutsomeadditionalcode.The applicationcoulduseoperatingsystemhookstoregistertoreceiveallkeyboardand mouseevents,doanynecessaryprocessingbasedontheevents,andpassthemontotheir intendeddestinationapplication.SidneyChongwroteadynamiclinklibrary(dll)forthe

Windowsoperatingsystemtodeterminewhenacomputerisidle[91,92].Thedllinstalls hooksintotheoperatingsystemsothatkeyboardandmouseeventsaredetectedandthe timeswhentheyoccurcanberecorded[91,92].However,usingthehooksclearlyincurs overhead.Inadditiontothis,thecodedoesnotalwaysworkcorrectly,andafterabout10 minutes,thecallbackfunctionsometimesstopsworkingcorrectly[93].Weverifiedthat thisisindeedtrue.Inadditiontotheseshortcomings,userswouldbeabletoseethe applicationinthe“Applications”taboftheWindowsTaskManagerandtheusersmight endthentaskaccidentallyormaliciously,whichwouldinvalidatethedatacollected.The applicationwouldalsoneedtobeineachuser’sstartupfolderonallcomputers,which wouldbedifficulttoaccomplishonpublicaccessworkstations.Inadditiontothis,the applicationwillnotrunwhennouserisloggedin,whichwillmakestheresults inaccurate.

Fortunately,Windowsservicescanovercomemostoftheshortcomingsofboth screensaversandapplications,whilesufferingfromfewenoughoftheirown shortcomingstomakethemaviabletypeofprogramtousetocollectthedata.A

84 windowsservicecaneasilybesettorunallthetimeacomputerispoweredon,regardless ofwhetherauserisloggedontothemachineorwhichuserisloggedon.Theservicecan alsobesettostartwheneverthecomputerispoweredon.Inadditiontothis,aservice doesnotshowupinthe“Applications”taboftheWindowsTaskManager.Thuswhile servicescanbestoppedbyauser,itismuchhardertoforausertostopaservice accidentallyormaliciously,becauseitisdifficultforausertoknowwhattheservicehe isstoppingdoesandthususersappearreluctanttostoprandomservices.Servicesdonot haveamethodofcommunicatingwiththeuserthewayanapplicationorscreensaver does,otherthanthroughlogfiles.However,wedecidedthatwedidnotneedto communicatewiththeuser,sothisisnotaproblem.ThemajordrawbackofaWindows

ServiceisthatitcanonlyberunonWindowsNT,Windows2000,andWindowsXP.

However,WindowsXPisfarandawaythedominantversionofWindowsamongour targetuserpool,asonlyacoupleversionsofWindowsbesidesWindowsXParestill supportedbyMicrosoft.ThebenefitsofaWindowsserviceanditsminordrawbacks madeitthelogicalchoiceforthetypeofprogramtouse.

4.3.1.3 Method of Data Recording Inordertonotloseanyaccuracyofthemeasurementsthatourprogramtakes,the programneededsomewaytorecordthedatainpersistentstoragesothatifthecomputer waspoweredoffbyanymeans,thedatawouldnotbelost.However,justrecordingthe statusofthescreensaverandthetimewhenthemeasurementwastakenevery10seconds couldeasilyuseoneMBofdiskspaceperday.Whilethisisnotaproblemformodern computers,wewantedtominimizethedatasentbacktooutdatacollectionservertotry

85 toavoidusingalotoftheCPUtimeonthecomputersparticipatingintheexperiment.

Wealsowantedtotrytoavoidanyproblemscausedbythepotentialcongestionof hundredsofcomputerstryingtocontacttheserverinashorttimeperiod.Oursolutionto thisproblemwastowritethetimewhenameasurementwastakentothefileonlyifthe stateofthescreensaverchangedfromofforanunknownstate(whichonlyoccurswhen theserviceisstartedorrestarted)toon.Ifthescreensaverwasrunningattheprevious pointintimewhenitsstatewassampledanditisstillonatthecurrenttime,thenthe character“*”waswrittentothefile.Ifthescreensaverwasnotrunningattheprevious pointintimewhenitsstatewassampledanditisstillnotonatthecurrenttime,thenthe character“@”waswrittentothefile.Thiswouldallowustoparsethedatafileafterit hasbeencollectedandnotloseanyinformation,whilecompressingthesizerequiredto storethedatafiletosignificantlylessthanoneMB.Infact,inaworstcasescenario barringanystrangeanomalies,wenotedthatthefilewouldbelessthan27KB.

Thedatafilegeneratedwillbethebiggestwhenthemostnumberoftimesare writtentothefile,sincetheyareclearlymorecharactersthanasinglecharacter.We notedthatWindowssetstheminimumdelayforthescreensavertooneminute.Thus, thescreensavermaychangestatefrombeingofftobeingonatmosteveryseven intervals.Thereare6*60*24=8640intervalsduringonedayoftheexperiment,sothe timecanbewrittenatmost1235timesinoneday.Thisassumesthattheuserisnot constantlypreviewingthescreensaver,whichcouldcausetheswitchtooccureveryother interval.Atacostof1235*16=19760charactersplusanadditional8640–1235=

7405characters,themostcharactersthatwouldbewrittentothefileis19760+7405=

86 27165,whichisequaltoalittlelessthan27KB.Thus,themaximumsizeofthefileis about1/40 th ofthesizeofwhatitmightotherwisebe.

4.3.1.4 Method of Collecting the Data Wechosetohavethecomputerstheexperimentwasrunningonsendthedata collectedtoourdatacollectionserverevery24hourstominimizethedatalostifaperson accidentallyormaliciouslysabotagedtheexperimentonacomputer.Whilethiswasnot necessarilythebestwaytominimizetheresultofsabotage,wedecidedthatitwouldbe adequate,betterwayswouldrequiresignificantlymoreeffortandwewerenotoverly concernedaboutsabotage.

4.3.1.5 Experiment Duration Theexperimentneededtoproduceenoughdatainordertopreventanomalous behaviorsfrommakingthedatacollectedinaccurate.Theexperimentalsoneededtobe shortenoughtogenerateresultsquicklyenoughsotheycouldbeanalyzedandputto gooduse.Inadditiontothis,becauseweplannedoncollectingdatafromcomputersused byWPIundergraduatestudents,weneededtomaketheexperimentrunduringaseven weekperiodsothecollectiondidnotcoincidewiththeundergraduatevacation.We believedthatcomputerusagewouldnotbesimilartothatduringanonvacationtime.

Wechosetoruntheexperimentforfourweekstomakeitshortenoughtomeetallthese requirements.

87 4.3.2 Service Design Theserviceneededtobedesignedtobeasrobustandnonintrusiveaspossible.As explainedinSection4.3.1.4,wewantedthedatafromeachcomputertobesenttothe serverevery24hours.However,wewantedthedatacollectiontocontinueduringthe processofsendingthedatatothereserver,sotheservicehasathreadthatcollectsthe dataandstoresitinadifferentfileforeachday.Asecondthreadsentthecompleteddata filestotheserver,andathirdthreadkeptthesendingthreadinformedofwhichdatafiles arereadytosend.Thismethodallowedtheservicetostoreallthedatatothedisk,sothe servicecouldrecoverwithoutanyproblemsifitwasstoppedandrestarted.Thesource codeforthedatacollectionserviceisinthedata_collection.zipfilethatisavailable whereyoudownloadedthisdissertation.

4.4 Results and Analysis WeranaprototypeversionofourserviceonanumberofWPIcomputersinthe

CCClabsandonsomestudentcomputersduringtheFallof2005.Thispilotprogram provedthatwecouldcollectthedataweneed.Thefinalversionoftheprogramranon publicaccessworkstationsontheWPIcampus,computersbelongingtoWPI undergraduatestudents,homecomputers,andcomputersbelongingtoabusinesswhich participatedontheconditionofanonymity.TheprogramranontheWPIpubliclab computersbetweenJanuary26,2006andFebruary28,2006.Theprogramwasrunon studentcomputersbetweenMarch13andApril25of2006andonhomecomputers betweenMarchandAprilof2006.Theprogramwasrunonthebusinesscomputers betweenJulyandAugustof2006.Weobtainedtracesof68publiccomputersfromour

88 universitywhichweresplitbetween3computerlabs,38undergraduatecomputers,and

25homecomputers,and26businesscomputers.

Duringthedatacollectionprocess,weexperiencedaserverfailurewhich destroyedsomeofthedatafilesthatweresenttousbystudentcomputers.Therefore,we hadtoadjustthetracestoaccountforthelostdatafiles.Inordertodothis,wemanually splicedthetracestogetherfromthelastcompleteintervalbeforethemissingdatafileto thefirstcompleteintervalafterthemissingdatafile.Thismeansthatsomeofthetraces wereshortenedfrom28days.Oncewehadassembledallthetracesfromthecomputers, weconvertedeachtraceintoaseparatefilethatshowedthelengthofthetrace(whichdid notincludeanymissingtime)andtheperiodswhenthecomputerwasavailablefor volunteercomputing,unavailableforvolunteercomputingbutpoweredon,andwhenthe computerwaspoweredoff.Thesefilesareavailableinthetraces.zipfilethatisavailable whereyoudownloadedthisdissertation.

Oncewehadcompletelyprocessedandassembledthetraces,weexaminedthem todetermineifthetracesthemselvescontainedanyusefulinformationaboutcomputer usagepatternsbeyondjustthedatawewouldusetodriveoursimulations.Wefoundthat the average of the total percentage of time during the studies that different types of computerswereavailableforvolunteercomputingvaried greatly between the different typesofcomputers,rangingfrom73%forpubliccomputersto27%forhomecomputers andbusinesscomputersto18%forstudentcomputers.

Weobservedthattheamountoftimecomputerswereavailableforvolunteer computingvariedgreatlybycomputerwithintheundergraduatestudent,homeuser,and businesstypesofcomputerswitharangeofover80%.However,theamountoftimethe

89 publiccomputerswereavailableforvolunteercomputingvariedsignificantlylessby computer,asshowninFigure4.

CDF of Percent of Total Time Computers are Available for Volunteer Computing

100

90

80 70

60 Business Home 50 Public 40 Student 30 Percent of Computers Percent 20

10

0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Percent of Time Available Figure 4 - Computer Availability Theaveragedurationsfortheavailable,unavailablebutpoweredon,andunavailable periodsdifferedsignificantlybetweenthedifferentclassesofcomputers,asshownin

Figure5.

90 Average Period Durations

6

5

4 Public Student 3 Home

Time(hours) 2 Business

1

0 Available UnavailableBut Unavailable PoweredOn Period Type Figure 5 - Average Period Durations Thecumulativedistributionfunctionsfortheavailableperiodsdifferedabitasshownin

Figure6,althoughwefoundthatthecumulativedistributionfunctionsoftheother periodswererelativelysimilarforthedifferentclasses,asillustratedbyFigure7and

Figure8.

91 CDF of Available Period Durations

100 90 80 70 Public 60 Student 50 Home

Percent 40 Business 30 20 10 0 1 10 100 1000 10000 Duration (minutes) Figure 6 - CDF of Available Period Durations

CDF of Unavailable But Powered On Period Durations

100 90 80 70 Public 60 Student 50 Home

Percent 40 30 Business 20 10 0 1 10 100 1000 10000 100000 Duration (minutes) Figure 7 - CDF of Unavailable but Powered On Period Durations

92 CDF of Unavailable Period Durations

100 90 80 70 Public 60 Student 50 Home

Percent 40 Business 30 20 10 0 1 10 100 1000 10000 100000 Duration (minutes) Figure 8 - CDF of Unavailable Period Durations

AlthoughtheCDFsofthedifferentdurationsappearsimilarbetweenthetypesof computers,closerinspectionofthedataonapercomputerbasisshowsthatforthe student,homeuser,andbusinessclassesofcomputers,somecomputersinthesameclass thatexhibitverydifferentusagepatterns.Inparticular,wefoundtherewerecomputers thatwereonlypoweredonlyforshortperiodsoftimethroughoutthedatacollection period.Thesecomputerswerealmostneveravailableforvolunteercomputing.

However,thereweresomecomputersthatwerepoweredonforalmosttheentireduration ofthedatacollectionperiod.Manyofthesecomputerswereavailableforvolunteer computingforasignificantportionoftheday.

UsingtheArenaprogramfromRockwellAutomation[94],wecalculatedthemost likelydistributionfortheavailableperiodsforeachcomputer.Wefoundthatthebest matchforalmostallofthelabcomputersfromtwolabswasaWeibulldistribution.

93 However,despitethisbeingthebestmatch,Arenaindicateditwasnotagoodmatchat all,asthepvaluesfromtheKolmogorovSmirnovGoodnessofFitTestwereverylarge.

ThebestmatchforalmostallofthecomputersinthethirdlabwasaBetadistribution.

Thepvaluesweremuchbetterforthislab,butalthoughthatdoesnotindicatetheBeta distributionisabadcharacterization,italsodoesnotshowconclusivelythatitisan accuratecharacterization.Thebestmatchesfortheavailableperiodsfromthehome, student,andbusinesscomputerswereveryinconsistent,beingsplitbetweenfive,six,and fourdifferentdistributionsrespectively.Inadditiontothis,onceagainmanyofthep valuesArenaproducedfortheKolmogorovSmirnovtestindicatedthatthedistributions weregenerallynotgoodmatchesforthedata.

Inadditiontotryingtodetermineiftheavailableperiodsmatchedanywell knowndistributions,wealsoattemptedtodetermineifthereweregroupsofclientsthat exhibitedsimilarbehaviorsuchasveryfrequentavailabilityforvolunteercomputingor veryinfrequentavailabilityforvolunteercomputing.Wefeltthatifsuchgroupsexisted, theremightbevalueindevelopingdifferenttaskretrievalpoliciesforthedifferent groups.Becausewewerelookingtobreakthedataintogroupsallatonce,weused partitionalclustering.WeusedthekmeansmethodofclusteringintheSPSSsoftware package.Inkmeansclustering,onespecifiesthenumberofclustersandthesoftware partitionsthedataintothatnumberofclusters.Whilethereareothermethodsof partitionalclusteringsuchasfuzzyclustering,theywerenotconducivetosplittingthe dataintogroupsthatwouldbeusefulforus.Wefoundthatoureffortstoclassifythe computersintodifferentgroupsbasedontheiravailabilityforvolunteercomputingdid notyieldanysignificantresults.

94 4.5 Comparison with Kondo’s Results AsdiscussedinSection4.2,thereweresomedifferencesbetweenthedata collectionmethodusedbyKondoetalandthedatacollectionmethodweused.

However,becauseitisthemostsimilardatatowhatwecollected,wecomparesomeof theresultshere.Kondocharacterizedtheavailabilityofthecomputersintermsof availabilityandunavailability,breakingbothcategoriesdownbybusinesshoursandnon businesshours.Kondo’sworkfocusedonenterprisedesktopcomputingwhichis essentiallyaformofvolunteercomputingwhereallthevolunteeredcomputerscome fromwithinabusinessandisdoneoverthebusiness’snetworkandthemaintaskisone thebusinessistryingtosolve.Becauseofthis,itwasimportantforhimtobreakdown hisdataintobusinesshoursandnonbusinesshours.Hemightusedifferentheuristicsof assigningtasksduringbusinesshoursthaninnonbusinesshours.Ourdataisnotbroken outbybusinesshoursvs.nonbusinesshours.Inourdata,wedonothaveallofourdata comingfrombusinesscomputerthewayhedoes.Therefore,businesshoursversusnon businesshoursisnotausefulmetricforus,especiallybecausepublic,undergraduate student,andhomecomputersdonotnecessarilyhavetheregularusagepatternsbusiness computersarelikelytohave.

KondofoundthatforhisSanDiegoSuperComputerCenter(SDSC)traces, duringbusinesshours,70%oftheavailableintervalswere2hoursorlessindurationand themeantimewas2.0372hours[90].Duringnonbusinesshours,availableperiodsthat lastedonly2hoursorlessonlyaccountedforabout36%oftheintervalsandtheaverage intervallengthwas10.2327hours[90].OurmostcomparabledatasettoKondo’sSDSC tracesareourbusinesstraces.Wefoundthatthe70%ofavailableperiodsforthe

95 businesscomputerswere41minutesorlessinduration,farlessthanKondo’sresults.

70%ofourhomecomputersavailableperioddurationswere85minutesorlessand70% ofthestudentcomputersavailableperioddurationswere54minutesorless.Ourpublic computersdidhavelongeravailableperiodintervalsingeneral,with70%ofthembeing approximately3.5hoursorlessinduration.

Wewereabletocomparethepercentageoftimethatcomputerswereavailable forthecomputersfromKondo’sSDSCtracesandfromourtraces.Wefeltthatthe businessandpubliccomputersfromwhichwecollecteddata,ratherthanthehome computersandstudentownedcomputers,werethecomputersthatmostclosely resembledtheSDSCcomputers.WedownloadedKondo’sSDSCtraceswhichare availableat[95]andwroteaprogramtoprocesstheSDSCtracesandcalculatethe percentageoftimethateachoftheSDSCcomputerswereavailable.Usingthat information,wegeneratedtheCDFofthepercentoftotaltimethatcomputerswere availableforvolunteercomputing,showninFigure9.

96 CDF of Percent of Total Time Computers are Available for Volunteer Computing

100

90

80

70

60 Business 50 Public

40 SDSC

30 Percent of Computers of Percent 20

10

0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Percent of Time Available Figure 9 - Comparison of Kondo's SDSC Traces and Our Business and Public Computer Traces TheCDFofavailabilityshowsthatthedistributionofthepercentoftimethatthe

SDSCcomputerswereavailablewasdifferentthanthedistributionofthepercentoftime thatthebusinessandpubliccomputersfromourstudywereavailable.Wedonotethat thereareacoupleofdifferencesinhowthedatafromtheSDSCcomputerswascollected andhowthedatafromthecomputersinourstudywascollectedwhichmayhaveaffected thedistributions.Whileourdatawascollectedcontinuouslyfor28days,theSDSC tracesspan9daysthatarenotallcontiguous.Thus,whileourtracesdidinclude weekends,theSDSCtraceswedownloadeddidnot.Ourtracesalsospanned24hours perday,whiletheSDSCtracesonlyspannedeighthoursperday.Thus,theSDSCdata setandourdatasetareclearlyusefulfordifferentpurposes.

97 4.6 Summary Inthischapter,wediscussedthedataweneededforoursimulations.We discussedtherelatedworkandwhythedatacollectedinrelatedstudieswasnotadequate foroursimulations.Weexplainedourmethodologyforcollectingthetracesof computersthatwewoulduseinoursimulations,whywedesignedourdatacollection programasaWindowsservice,andhowitworkedatahighlevel.Wealsodiscussedthe resultsandourattemptstoanalyzethedatatoseeifitmatchedanywellknown distributionandifwecouldbreakitintousefulclusters.Thedatadidnotmatchany wellknowndistribution.Ourattemptstoclusterthedatadidnotprovideuswithany additionalinformation.WecomparedourtracestoKondo’sSDSCdatasetsandfound thatthedistributionsofpercentoftimethecomputerswereavailablewasdifferent.

98 5 Simulations to Examine the Effects of Task Retrieval Policies Inthischapter,weexplainhowweusedsimulationstoexplorehowusing differenttaskretrievalpoliciesaffectstheamountoftasksthatvolunteercomputing clientscomplete,basedonthedatawehavecollectedaboutcomputerusage.Inorderto dothis,wedevelopedadiscreteeventsimulatorthatwouldusethetraceswecollectedas inputtoatracebasedsimulation.TheinformationinthischapterandChapter6was publishedin[96].

5.1 The Simulator Design ThissimulatorimproveduponourworkfromSection3.2.3.1.2inthreeways.

First,thesimulatorusedactualdatacollectedfromcomputers.Second,thesimulator incorporatedcheckpointing,makingtheresultsmoreaccurate.Third,wereplacedthe abortmultipleparameterwithaparametercalledthedelaybound.Thedelaybound servesthesamepurposeinthenewsimulatorastheabortmultipledidinthesimulator usedforourworkinSection3.2.3.1.2andisdiscussedinmoredetailinSection5.1.1.

However,thedelayboundisthestandardnameusedinvolunteercomputingtodescribe theparameter.Theparametersusedbyoursimulatoraresimilartothoseusedby simulatorusedforourworkinSection3.2.3.1.2.Theonlydifferencesbetweenthetwo setsofparametersisthatthenewsimulatorusesthenumberoftasksbufferedinplaceof thenumberofhoursbufferedusedbytheoldsimulator,thesimulatorusesseveralnew taskretrievalmethods,andtheabortmultiplehasbeenreplacedwiththedelaybound.

99 5.1.1 Simulation Parameters Theparametersforthenewsimulatorwere:

• Taskretrievalmethod.Themethodclientsusetoretrievetasks.

• Numberoftasksbuffered.ThenumberoftasksaBOINCclientbuffers(not

relevantforthe Buffer1 and Buffer None methods).

• Delaybound.Thisisthelimitontheamountofwallclocktimethatmaypass

betweenwhenataskisdownloadedandwhenthattaskisabortedifithasnot

beencompleted.

• Downloadspeed.Theclient’sdownloadspeed(inbps).

• CompletionTime.Thetimeittakestocompleteatask(inhours)ifitisnot

interrupted.Itisassumedthatalltaskstakethesameamountoftime,specified

bythisparameter,tocomplete.

• Filesize.Thesizeofthefilerequiredbyeachtask,thatneededtobedownloaded

beforestartingatask(inMB).

5.1.2 Assumptions WemakesimilarassumptionsheretotheassumptionsthatwemadeinSection

3.2.3.1.1.Theseassumptionsarethatfilesaresmall(10MBorless),downloadspeeds arefast(300kbpsorfaster),taskstakealongtimetocomplete(twohoursofCPUtime ormore),andthecomputersareconstantlyconnectedtotheInternet.Basedonthese assumptions,wenotethatdownloadingataskshouldalwaystakesignificantlylesstime tocompletethanperformingataskandtherefore,aclientthatbufferstasksorinitiatesthe downloadofataskwhileitstillhassomenontrivialamountofatasklefttocomplete

100 willalwayshaveataskavailabletoprocess.Thisagreeswithwhatweobservedin practice.However,wedoacknowledgethatifdownloadingatasktakeslongerthanit takesfortheclienttocompleteatask,thenitwouldbepossiblethatataskmightnotbe waitinginthebufferandtherewouldbewastedtimewaitingforthedownloadto complete.Wealsoassumethattheparallelismofamoderncomputerallowsthe computertodootherworkwhiledownloadingafile.Ifthiswasnotthecase,thena computerwouldfreezeandbecomeunresponsivewheneverondownloadedafile.We assumethatthefractionofCPUtimerequiredtoaccomplishthedownloadingofafileis verysmallincomparisontothetotalamountofwallclocktimethatdownloadingafile takesandthusthatdownloadingafiledoesnottakemanyCPUcyclesawayfroma workunitcurrentlybeingprocessed.

5.1.3 Task Retrieval Policies OurpreliminaryworkinSection3.2.3.1showedthatusingdifferenttaskretrieval policiesmayresultinsignificantlydifferentamountsofdonatedCPUtimebeingwasted.

Therefore,webelievedthatonemightbeabletocreateapolicythatresultedinmore tasksbeingcompletedthantheexistingpolicies.Weexaminedtheexistingpolicies, createdadditionalpoliciesusingthebestfeaturesoftheexistingpolicies,andevaluated boththeexistingandnewpolicies.Theexistingpoliciesusedbycurrentvolunteer computingprojectsareapolicywherenotasksarebufferedandapolicywheresome numberoftasksarebuffered.Werefertothepolicythatdoesnotbufferanytasksas

Buffer None .Wehaverevisedthepolicythatbuffersmultipletasksfromourpreliminary worktobehavethewaythetaskretrievalpolicyisimplementedinBOINCbased

101 projects,makingitmorerealistic.Werefertotherevisedversionas Buffer N Days .Our preliminaryworkshowedasignificantamountofdonatedCPUtimemaybewasted whentasksarebufferedandthattheamountofwastedtimeincreasedasthenumberof bufferedtasksincreased.Despitethewastedtimeassociatedwithbuffering,abenefitof bufferingtasksisthatnoCPUtimeiswastedasaclientdownloadsthenexttask.

However,thisbenefitcanbegainedbybufferingonlyonetask,ratherthanbuffering multipletasks,andsincepreviousworkindicatedthatbufferingmoretasksresultedin morewastedCPUtime,apolicythatbufferedonetaskmightprovideanimprovement overapolicythatbufferednotasksandapolicythatbufferedmultipletasks.Therefore, wechosetotestapolicythatbufferedonetask,whichwerefertoas Buffer One Task .

Wepointoutthatthetimeaclientfinishesdownloadingataskisanimportantaspectof taskretrievalpoliciesbecausetheclienthasafixedamountofwallclocktimeto completeataskoncetheclientfinishesdownloadingthetask.Ifthetaskisnot completed,allthetimespentworkingonitiswasted.Wedecidedthatanotherwayto gainthebenefitofhavingataskbufferedwhileincreasingthelikelihoodofataskbeing completedwastohavethedownloadofataskfinishjustbeforethetaskaclientwas workingoniscompleted.Thisledustodevelopthe Download Early policywhichstarts downloadingthenexttaskwhenthecurrenttaskis95%complete.Inordertofully understandhowwellthepolicieswetestperform,weneedtounderstandhowwella policycouldperformtheoreticallyinthebestcase.Thisbestcasepolicy,whichwerefer toas Optimal ,wouldallowustodeterminehowmuchimprovementmightbeattainedby comparingitsresultswiththeresultsfromotherpolicies.Thecomparisonwould

102 demonstratewhetheritmadesensetodeviseadditionalpoliciesotherthantheoneswe tested,inordertogainafurtherimprovement.

Thetaskretrievalmethodsthattheclientsuseare

• Optimal: The Optimal policyproducesanupperboundonthenumberof

tasksaclientcouldcomplete.Therefore,ithascompleteinformation

abouttheavailabilityofthecomputeranditassumesthatdownloadinga

tasktakesnotimeatall.Usingthecomputer’savailabilityinformation,

theclientdeterminesifitcancompleteataskifitweretodownloadatask.

Iftheclientcouldcompleteatask,itdownloadsit.Otherwise,theclient

sleepsforasecondandreevaluateswhetheritcouldcompleteataskifit

downloadedone.Wepointoutthatthispolicycannotactuallybe

implementedbecauseitrequirespreciseknowledgeaboutacomputer’s

futureavailabilityandassumesthatittakesnotimetodownloadafile.

Thus,theresultsobtainedbyusingthispolicycannotactuallybeachieved.

• Buffer None: Theclientdoesnotbufferanytasksandretrievesthenext

taskafterithascompletedoraborteditscurrenttask.

• Download Early: Whentheclienthascompletedsomepercentageofits

currenttask(weused95%),itdownloadsthenexttask.

• Buffer One Task: Theclientkeepsonetaskinitsbuffer.Upon

completingatask,theclientbeginstheoneinitsbufferand

simultaneouslydownloadsanewtasktoreplacetheonethatithasjust

removedfromthebuffer.

103 • Buffer N Days:TheclientkeepsNday’sworthoftasksinitsbuffer,

refillingthebufferwhenithasonlyonetaskremaininginit.

5.1.4 How the Simulator Works Thesimulatorpartitionstimeintoonesecondintervals.Inthedatawecollected, onesecondisthelargestunitofwhichthedurationsoftheperiodsareallmultiples.

Becauseofthewaywecollectedthedata,thisisthefinestresolutionoftimethatwecan use.Therefore,usingonesecondintervalsgivesusthemostaccuratesimulationresults.

Becausethetimeunitsareeachonlyonesecond,weallocatethefulltimeunittoonetask thatisperformedduringeachinterval.Therefore,althoughataskmightonlyrequirea fractionofasecondtocomplete,wechargeafullsecondforthattask.Wenotethat tryingtogetfinerresolutionisunnecessaryandwouldrequireustohaveaveryaccurate understandingofthehardwaredevicesandhowtheyinteractwitheachother.

Weimplementcheckpointingbyassumingthatittakesafixedamountoftimeto createacheckpointandthesameamountoftimetorestorethestateofataskfroma checkpoint.Thetimetocreateacheckpointandtorestorethestateofataskfroma checkpointisaparameterinoursimulationsandisdiscussedindetailinSection6.2, alongwithhowwecalculatedtheoptimaltimeinbetweencheckpoints.Whenthe optimalamountoftimebetweencheckpointshaselapsed,theclientcreatesacheckpoint.

Wealsoassumethatcheckpointingandrestoringthestateofataskfromacheckpointcan beinterrupted.Iftheyareinterruptedandthecomputeristurnedoffbeforetheoperation hasbeencompleted,thentheoperationisdeemedtohavefailed.Similarly,theactof downloadingaworkunitisdeemedtohavefailedifthedownloadisnotcompletedbefore

104 thecomputerispoweredoff.Thesourcecodeforthesimulatorisinthe simulator_source_code.zipfilethatisavailablewhereyoudownloadedthisdissertation.

5.2 Testing the Simulator Weranasetoftestsonthesimulatortoensurethatitwouldworkproperly.We constructedmocktracesofacomputer’susagethatwerenearlyidenticaltothetraceswe collectedinChapter4exceptthatthemocktracescoveredshorterperiodsoftimethan the28daytraceswecollected.Foreachmocktrace,wedeterminedhowmanytasksa computerwouldcompleteifitsusagepatternscorrespondedtothemocktrace.We determinedthenumberoftasksthatacomputerusingamocktracewouldcompleteby determiningwhateachsecondinthetracewouldbeusedfor.Thenweranthetraces throughthesimulatortoconfirmthatthesimulatorproducedtheoutputweexpectedit would.Wedesignedteststoensurethatthedownloadingofworkunitsfunctioned correctlyforallofthevariousdownloadpoliciesweimplemented.Thetestswerealso designedtoensurethatthesimulatorperformedcheckpointingcorrectlyandthat workunitswerecompletedandabortedatthecorrecttimes,basedonthetraces.The specifictestsweranweredesignedto:

1. Ensurethattasksweredownloadedcorrectlywhenthesimulatoruseda Buffer

None policyandsometasksarecompletedontimewhileothersareaborted.

2. Ensurethattasksweredownloadedcorrectlywhenthesimulatoruseda Buffer 1

policyandsometasksarecompletedontimewhileothersareaborted.

105 3. Ensurethattasksweredownloadedcorrectlywhenthesimulatoruseda Buffer

None and download when the current workunit was 95% complete policyand

sometasksarecompletedontimewhileothersareaborted.

4. Ensurethattasksweredownloadedcorrectlywhenthesimulatoruseda Buffer

Multiple policyandsometasksarecompletedontimewhileothersareaborted.

5. Ensurethatworkunitscheckpointedattheappropriatetimesandrestoredtothe

appropriatestateafterbeingrestarted.

6. Ensurethatworkunitscompletedwhentheyweresupposedtoaccordingtothe

tracesandensuretheworkunitswereabortedwhentheyweresupposedtobe

accordingtothetraces.

Thetracesweusedtotestthesimulatoraregiveninthesimulator_testing_files.zipfile thatisavailablewhereyoudownloadedthisdissertation.Wealsoransomesanityteststo ensurethatthesimulatorranproperly.Thesanitytestsweredesignedtoshowthat adjustingthesimulationparametershadthecorrecteffectontheresultsofthesimulation.

Weranasimulationonatraceusingeachofthefouroriginaltaskretrievalmethods.

Thesesimulationsservedasacontrolgroup.Thenwedoubledthecompletiontimeof tasksandreranthesimulationstoensurethatabouthalfasmanytaskswouldbe completed.Finally,wedoubledthedelayboundtotestthatmoretasksmightbe completedinsteadofbeingabortedandranallfoursimulationsagain.Weusedthetrace business_trace_10.trcforalltheruns.Theresultsofthesanitytestsareshownin

106 Table2.Forthesanitytests,weusedthecheckpointintervalof8640secandthe checkpointcreateandrestoretimesof10sec.

107 Table 2 - Simulator Test Results

Completed Aborted Test Policy File Comments Workunits Workunits Buffer 1 None 11Control 20 0 12 CompletionTime=2X 10 0 13 DelayBound=2X 20 0 Buffer None Download 2 Early 21Control 20 0 22 CompletionTime=2X 10 0 23 DelayBound=2X 20 0 Buffer 3 One 31Control 20 0 32 CompletionTime=2X 10 0 33 DelayBound=2X 20 0 Buffer 4 Multiple 41 Control 18 2 42 CompletionTime=2X 10 0 43 DelayBound=2X 20 0

5.3 Summary Inthischapter,wediscussedthesimulatorwecreatedtoexaminetheeffectthat usingdifferenttaskretrievalpolicieshadonthenumberoftasksthatvolunteer computingclientscompleted.Wediscussedthesimulatoranditsfeatures,our assumptions,theparametersitused,andtheimprovementsoverthesimulatorweused forpreviouswork.Wealsoexplainedthedesignofthesimulator,aswellasour methodologyforverifyingthatthesimulatorworkedcorrectly.

108 6 Simulation Results Weranoursimulationsformanydifferentparametercombinations.Wefirst presenttheinformationwegatheredinordertojudgewhichparametercombinationsare mostlikelytooccurinvolunteercomputingprojects.Thenwediscussthemethodwe usedtoobtainthevaluesforhowfrequentlythesimulatorshouldcreatecheckpoints.

Nextwediscusstheparametervaluesweused.Thenwepresenttheresultsofthe simulationsusingtheparametercombinationswefeelaremostlikelytooccurin volunteercomputingprojects.Nextwedescribethegeneraltrendsweobservedby varyingparametersoneatatime.Thenwediscusstheeffectsthatsomenetworking valueswouldhaveontheresultsofoursimulations.Finally,wepresentasummaryof theoverallresultsofalltheparametercombinations.

6.1 Parameter Values from Existing Volunteer Computing Projects Weattemptedtodeterminewhichparameterssettingswouldbemostlikelyto occurinactualvolunteercomputingprojects.Asthenumberofvolunteercomputing projectsandtheawarenessofthemhavespiraledupwardssincethebeginningof2005 whenwebeganthiswork,significantlymoreinformationabouttheparametersusedin projectshasbecomeavailable.In

109 Table3,wepresenttheinformationaboutparametersettingsusedinactualvolunteer computingprojectsthatwewereabletoobtain.

110 Table 3 - Current Volunteer Computing Project Parameter Settings

Checkpointing Project File Size Delay Bound Task Duration Frequency 4to60days 10seconds SETI@home 350k[97] [98] [99] max(10daysor normal<5 2+30*daysto MB,some doon 24dayson newlarge dedicatedP4 benchmark ones~5MB 2.8machine) machine(P4 15minutes Folding@home [100,101] [102] 2.8)[103] [102]

4.5MB,12 MB,16MB Einstein@home [104,105] 1week[105] 448hours QMC@home [106] 8days,then7 days,then5 LHC@home days[107,108]

800k,1MB, 1.2MB,1.5 (672hours) 3hours,upto variesbased MB,3MB changedto168 24hours,24 onuser Rosetta@home [109] hours[109] days[109,110] settings[110] 100hours,150 hours,200 hours,222 10k100k hours,336 20hourson Grid.org [109] hours[109] PII400[109] 347days5 hours20 minutesor150 3weeks,8 days5hours weeks,20 1530minutes Climateprediction.net 20minutes[98] weeks[111] [99] SIMAP 12MB[112] 10days[98] 2hours[112] TheRieselSieve 30minutes 10minutes Project 7days[113] [114] [115] WorldCommunity 1020hours Grid [116] Weseethatthefilesizevaries10KBand16MBandseemtofallingroupsof filesthatarelessthan1MB(small),filesthatareapproximately1MBto5MB

(medium),andfilesthatare12MBto16MB(large).Weattemptedtoselectonefile sizetoberepresentativeofeachgroupforoursimulationparameters,andselectedfile

111 sizesof1KB,1MB,and10MB.Becausethebulkofthefilesizeswereinthe1MBto

5MBsizerangeandmostofthosewereclosestto1MB,wechosethe1MBfilesizeas thebasevalueforoursimulations.

Thebulkofthedelayboundsareclusteredaround7days,withlongerandshorter delaybounds.Itwasclearthat7daysshouldbethebasevaluefordelayboundforour simulations.Wealsochosealongerandshorterdelayboundsowecoulddeterminethe effectofvaryingthedelaybound.Wechosetodoublethe7daysasthehighervalueand totakehalfofthe7daysasthelowervaluetotrytoproviderealisticapproximationsof howonemighttunethedelayboundforavolunteercomputingproject.Goinglower than3.5dayswouldrequireveryconsistentcomputerusageoftheclientandnotallow morethanaverysmallnumberoftaskstobebuffered.Goinghigherthan14dayswould begintolettasksbeturnedinverylatewhichmightbegintoimpedethetimelyprogress ofavolunteercomputingproject.

Thetaskdurationsvariedfromjust30minutestomanyweeks,withthebulkof thedurationsbeingbetween2and48hours.Weselectedtaskdurationsof4hoursand

24hoursasourbasevalues,andalsoranoursimulationswithtasksoflength2hours,8 hours,16hours,and48hourstotrytocovertheparameterspacebetter.

Forthedownloadspeedoftheclients,wechosetotest10mbpsand300kbps.

Weselected300kbpsasthebasevalue,aswebelievethatitapproximatesthehomeuser bandwidthbetterthan10mbpsandhomeusersappeartobemorelikelytoparticipatein volunteercomputingthanbusinessesdobecauseofsecurityconsiderations.

112 6.2 Checkpointing Inadditiontogatheringinformationabouttheparametersettingsfromcurrent volunteercomputingprojects,wealsoattemptedtodeterminereasonablevaluesforhow longitwouldtakeascienceapplicationtocreateacheckpointandhowoftencheckpoints wouldbecreated.Wereviewedworkonoptimalcheckpointcreationfromseveral authors,includingtheseminalworkfromYoung[117],andGelenbe&Derochette[118,

119].WealsoreviewedthemorerecentworkfromVaidya[120]andPlank&Thomason

[121].

Inordertodeterminetheoptimalcheckpointinterval,alloftheauthorsagreed thatoneneedstoknowthefailurerateoftheprocessbeingcheckpointed.Usingthe systemtraceswecollected,wecalculatedthefailurerate.Wefoundthatthetraces covered356418410secondsand2878failuresoccurredduringthattime,givingusa failurerateofonefailureevery34hours.Anothercriticalvaluethatalloftheauthors agreeduponisC,thetimerequiredtocalculatetheoptimalcheckpointintervalisthe timeittakestocreateacheckpoint.AccordingtoVaidya[120],ifCissmallin comparisontothemeantimebetweenfailures,thenitcanbeverifiedthatYoung’s approximationiscorrect.Young’sapproximationisthattheoptimaltimebetween checkpointsis 2*C * mean _ time _ between _ failures [117].Althoughitisnot necessarilyconsistenthowlongitwilltaketocreateacheckpoint,giventhatmany volunteercomputingworkunitstakeontheorderofafewhoursorless,itisreasonableto assumethatitshouldtakeonlyashortamountoftimetocreateacheckpoint.Otherwise, thecheckpointwillhavelittlevalueanditwouldbemoreefficienttorestarttheworkunit fromthebeginning.Inadditiontothis,sincethetimebetweencheckpointsisonthe

113 orderofsecondsorminutesfortheprojectsaboutwhichwewereabletogetinformation, thetimetocreateacheckpoint,C,isclearlysignificantlylessthanthemeantime betweenfailures.Therefore,weuseYoung’sapproximationinthisworktocalculatethe optimalcheckpointinterval.AsvaluesforC,weuse10secondsand300seconds(five minutes)toapproximatehowlongitwouldtaketocreateacheckpoint.WenotethataC of10secondsmakestheoptimaltimebetweencheckpointsapproximately26minutes whileaCof300makestheoptimaltimebetweencheckpointsapproximately144 minutes.ThetimebetweencheckpointsforCof300secondswouldbeappropriatefor verylongworkunits,suchasthoseusedbyclimateprediction.net,whilethetimebetween checkpointsforCof10secondswouldbemoreappropriateforshortworkunitsusedby mostvolunteercomputingprojects.

6.3 Simulation Parameter Values Theparametersettingsweuseforoursimulationswere:

File Size: 1KB,1MB,10MB

Download Speed: 300kbps,10mbps

Delay Bound: 3.5days,7days,14days

Checkpoint Cost/Frequency: 10sec/1574sec,300sec/8620sec

Task Duration: 2hours,4hours,8hours,16hours,24hours,48hours

114 6.4 Results of Base Parameter Combinations Fromtheinformationwegatheredonexistingvolunteercomputingprojectsand theinformationaboutcheckpointing,webelievethatrepresentativeparametersettings shouldbe:

File Size: 1MB

Download Speed: 300kbps

Delay Bound: 7days

Checkpoint Cost/Frequency: 10sec/1574sec

Task Duration: 4hours,24hours

Thoseparametersettingsarethebasevaluesweuseforoursimulations,althoughwealso didsimulationswiththeothervaluesdiscussedinSection6.1.Wecallthebase parameterswith4hourtasksBaseline1andthebaseparameterswith24hourtasks

Baseline2foreaseofreferringtothem.

Weransimulationsusingthebaseparametersettingsandallofthetaskretrieval policies.Table4showshowmanyfewertaskseachpolicycompletedthanthenumberof tasksthe Optimal policycompletedusingthebaseparametervalues.The Download

Early policyyieldsthebestperformanceofourpoliciesthatcanbeimplemented.For24 hourtasks,the Download Early policyprovidesasignificantimprovementof2%more taskscompletedoverthepoliciesthatbuffermultipledaysoftasksandfor4hourtasks, the Download Early policyprovidesanimprovementof0.9%moretaskscompletedover thepoliciesthatbuffersevenor14daysoftasks.

115 Table 4 - Percent Fewer Tasks Completed than Optimal Policy for Base Parameter Settings Task Down- Down- Buf- Buf- Buf- Buf- Buf- Completion load Buffer load fer 1 fer 1 fer 3.5 fer 7 fer 14 Time Speed None Early Task Day Days Days Days

4hours 300kbps 0.22% 0.03% 0.19% 0.25% 0.46% 0.94% 0.94%

24hours 300kbps 0.43% 0.38% 0.86% 1.13% 2.52% 3.33% 3.33%

6.5 Effects of Varying the Parameters Weattemptedtodeterminewhichparametershadasignificantimpactonthe numberoftasksthecomputerscompleted.Toperformthisanalysis,weusedthetwo baseparametervalues,Baseline1andBaseline2anddeterminedthenumberoftasksthe computerswouldcompletegiventhoseparameters.Thisservedasbaselineresults.

Oncewehadestablishedthebaselineresults,wevariedoneparameteratatimeand determinedthenumberoftasksthecomputerswouldcompleteusingthoseparameters.

Welookedtoseewhateffectvaryingtheparameterswouldhaveonthenumberoftasks completedbythe140computers.Wevariedthefilesizefromthebasevalueof1MBto

1KBand10MB.Wevariedthedownloadspeedfromthebasevalueof300kbpsto10 mbps.Wevariedthedelayboundfromthebasevalueof7daysto3.5daysand14days andwevariedthecheckpointcostandfrequencyfromthebasevaluesof10secondsand

1574secondsrespectivelyto300secondsand8620seconds.Asummaryoftheresultsof ourtestsareshowninTable5,whilethefullresultsareshowinTable6andTable7.

Asonewouldexpect,wefoundthatthetaskcompletiontimedifferences producedlargedifferencesinthenumberoftaskscompletedandhaveomittedthatfrom thesummarytable.Wefoundthattheimpactofdecreasingthedelayboundissignificant

116 for24hourtasks,changingthenumberoftaskscompletedbyupto9.42%.However, increasingthedelayboundfor24hourtasksresultsinamuchlesssignificantchangein thenumberoftaskscompleted(≤3.16%).Adjustingthedelayboundhasan insignificantimpactfor4hourtasks,resultinginachangeof≤1.32%differenceinthe numberoftasksthatarecompleted.Adjustingthefilesizeandthedownloadspeedhave aminimalimpactonthenumberoftasksthatcompletedforboth4hourand24hour tasks.However,wespeculatethatifthedownloadspeedwerechangedtothatofadial upmodem,theeffectmaybemorepronounced.Adjustingthecheckpointcost(andthus frequency)causessignificantchangesinthenumberof4hourand24hourtasksthatare completed.Inafixedamountoftime,lesstimeisspentcreatingcheckpointsthattake10 secondstocreatethanisspentcreatingcheckpointsthattake300secondstocreate.In additiontolessCPUtimebeingspentcreatingcheckpointsinafixedamountoftime,the progressoftheclientisbeingsavedmoreoftensolessworkneedstoberepeatedinthe eventofavolunteercomputingclientbeinghalted.LessCPUtimespentcreating checkpointsandlessworkbeingrepeatedwhenclientsarerestartedafterbeinghalted resultsinsignificantlymoretasksbeingcompleted.

Table 5 – Percent Change in Amount of Tasks Completed by Varying Parameters from Baseline Parameters Baseline1 Baseline2 FileSizeImpact ≤1.72% ≤0.38% DownloadSpeedImpact ≤0.18% ≤0.05% DelayBoundImpact ≤1.32% ≤9.42% CheckpointCostImpact ≤4.66% ≤8.77%

117 Table 6 - Effects of Adjusting Parameters for Baseline1 Values (% Change from Baseline1 Values)

Table 7 - Effects of Adjusting Parameters for Baseline2 Values (% Change from Baseline2 Values)

Althoughwehavepresentedtheresultsfortheparameterswebelievewouldmost representativeofthoseinvolunteercomputingprojects,webelieveditwasimportantto testmanysettingsthatmightbeencountered.Wepresenttheoverallresultsofthosetests hereinTable8.Theresultsshowthatthe Download Early policyachievesthebest performanceofthepoliciesthatcanbeimplementedandcompletesonly0.22%fewer

118 tasksthantheoptimalpolicydoes.Therefore,wedonotbelievethatattemptingtodevise adaptivepoliciestotrytoclosetheperformancegapcouldproduceasignificant performancegainoverthe Download Early policy.Wealsoseethatthepoliciesthat buffermultipledaysoftasksdocompletealmostafullpercentfewertasksthanthe

Download Early policy.Thisperformancedifferencewhenmultipliedbythemillionsof computersrunningBOINCbasedvolunteercomputingprojects[122]andtheother projectsbecomessignificant.

Table 8 – Fewer Tasks Completed than Optimal Policy (%)

Download Buffer Buffer Buffer Buffer Buffer Buffer Early None 1 Task 1 Day 3.5 Days 7 Days 14 Days 0.220 0.672 0.897 0.598 1.075 1.316 1.453

Wealsoshowwhattheresultswouldbeinthebestandworstcasescenarios.Inthebest casescenario,taskswouldrequiresmallfiles,Internetconnectionswouldbefast,andthe delayboundwouldbehigh,givingaclientmoretimetocompletetasks.Intheworst case,thefilesrequiredwouldbelargeanddownloadedoveraslowconnectionandthe delayboundwouldbesmall,forcingtaskstobeabortedsoonerandleadingtomoretasks beingdownloaded.Onecanmakeanargumentthattasksthattakealongtimeto completewouldbetheworst,becausemorewillbeaborted,leadingtofewercompleted tasks.Onecouldalsoarguethattasksthatrequireashortamountoftimetocompleteare worsebecausewhilemoretasksmaybecompleted,moreofthemwillbedownloaded andthatwillincreasethebottleneckeffectofthenetwork.Therefore,wepresentfour differentsetsofresultsinTable9throughTable12ratherthanpresentingtwosetsof results.Thefirstsetofresults,presentedinTable9,assumethatinthebestcase

119 scenario,tasksarelong.Thesecondsetofresults,presentedinTable10,assumethatin thebestcasescenario,tasksareshort.Thethirdsetofresults,presentedinTable11, assumethatintheworstcasescenario,tasksarelong.Thefourthsetofresults, presentedinTable12,assumethatintheworstcasescenario,tasksareshort.Thebest caseshaveafilesizeof1KB,adownloadspeedof10mbps,adelayboundof2weeks, andacheckpointcostof10seconds.Theworstcaseshaveafilesizeof10MB,a downloadspeedof300kbps,adelayboundof1/2week,andacheckpointcostof300 seconds.Table9showsthatthe Download Early and Buffer None policiesarethebest onestouseinthebestcaseparametersettingswithlongtasks.Forthebestcase parameterswithshorttasks,Table10showsthatthe Buffer None and Buffer 1 Task policiesarethebesttouse.Table11showsthatthe Download Early policyisthebest onetousewithworstcaseparameterswithlongtasks.Table12showsthatthe Buffer

None policyisthebesttousewithworstcaseparametersandshorttasks.Inthiscase,the

Download Early policydidworsethanalltheotherpolicies,likelyduetoallofthe wastedCPUcyclesfromfrequentandlengthydownloads.Inallcases,the Buffer None policyoutperformedthepoliciesthatbufferedatleast1dayoftasks.Wedonotexpect toseethesebestandworstcasescenariosfrequentlyinrealvolunteercomputingprojects, however.

Table 9 – Fewer Tasks Completed than Optimal Policy (%) for Best Case Parameters with Long Tasks

Download Buffer Buffer 1 Buffer Buffer Buffer 7 Buffer 14 Early None Task 1 Day 3.5 Days Days Days 0.33 0.33 0.44 0.44 0.44 1.44 2.21

120 Table 10 - Fewer Tasks Completed than Optimal Policy (%) for Best Case Parameters with Short Tasks Download Buffer Buffer 1 Buffer Buffer Buffer 7 Buffer 14 Early None Task 1 Day 3.5 Days Days Days 0.03 0.01 0.01 0.03 0.05 0.08 0.24 Table 11 - Fewer Tasks Completed than Optimal Policy (%) for Worst Case Parameters with Long Tasks

Download Buffer Buffer 1 Buffer Buffer Buffer 7 Buffer 14 Early None Task 1 Day 3.5 Days Days Days 9.97 11.94 70.21 13.78 13.78 13.78 13.78

Table 12 - Fewer Tasks Completed than Optimal Policy (%) for Worst Case Parameters with Short Tasks

Download Buffer Buffer 1 Buffer Buffer Buffer 7 Buffer 14 Early None Task 1 Day 3.5 Days Days Days 3.82 0.26 0.29 0.60 1.28 1.28 1.28

6.6 Networking Effects on Simulation Results Althoughoursimulatorwascarefullydesignedandconstructed,therearetwo networkingvaluesthatwedidnotincorporate.Wedidnotconsiderpacketdelayand packetlossinoursimulations.Packetdelaycouldaffectourresultsbycausinga volunteercomputingclienttowastesomeoftheavailableCPUcyclesithaswhilethe clientiswaitingtogetatasktoperformfromtheserver.WastingCPUcycleswillcause thetasktobecompletedlaterthanitwouldifthoseCPUcyclescouldbeusedtoprocess thetask.Inextremecases,wastedCPUcyclesmightresultinatasknotbeingcompleted atallorfewertasksbeingcompletedinafixedamountoftime,whichwouldaffectour results.InthecasewherepacketdelaydoesnotresultinwastedCPUcycles,itwillnot

121 affectthenumberoftaskscompletedandthusitwillnotaffectourresults.Inorderto determinetheeffectthatrealisticvaluesofpacketdelayandpacketlosswouldhaveon oursimulationresults,weneedtobeabletocalculatetheamountofdonatedCPUtime thatwouldbelosttodatatransferduetothepacketdelayandpacketloss.Thelosttime isbasedonthenumberoccasionsthattheclientmustexchangeinformationwiththe serverandthedelayandlossrates.Inthefollowingsections,wediscusstheeffectsthat packetdelayandpacketlosswouldlikelyhaveonourresults.

6.6.1 Data Transfer Information

TheinstanceswherepacketdelaymightresultinwastedCPUcyclesarewhenthe clienthasnotaskstoperformfortheprojectandmustgetatask.Aclientmayhaveno tasksafterithascompletedorabortedtheonlytaskithastoperformorasitisstarting andhasnotyetretrievedataskfromtheserver.Whenaclientneedsatask,itexchanges messageswiththeserveranddownloadsatask.Inthecasewhereaclientcompletesa task,itmustexchangeadditionalmessageswiththeservertoreturntheresultofthetask.

ThemessagesthataclientandserverwillexchangethatmaycausewastedCPUcycles areshowninFigure10.Wesimplifythecalculationsbyobservingthatallofthe communicationthattakesplacecanbedoneinjustasmallnumberofpackets,exceptthe filedownload.EachmessageshowninFigure10otherthanthefiledownloadrequires only1datapacketoncetheclienthasestablishedaconnectiontotheserver.Thus,the packetdelayandlosswillhaveaminimaleffectoneverythingotherthanfiledownloads andweonlyconsidertheeffectthatpacketdelayandpacketlosshaveonfiledownloads whenweexplainwhattheeffectsofpacketdelayandpacketlosshaveonourresults.

122

Figure 10 - Messages Exchanged by Volunteer Computing Client and Server for Each Task

6.6.2 Networking Background Information Inordertocalculatetheeffectthatpacketdelayandpacketlosswillhaveonour simulationresults,weneededtobeabletoestimatetheamountoftimethatittakesa clienttodownloadafile.WeusethemodelfromCardwell,Savage,andAndersonin

[123]todeterminehowlongittakestodownloadafile.Thismodelisuniquebecause unlikethewellknownmodelPadhye,Firoiu,Towsley,andKurosepresentin[124] whichisonlyvalidforthecongestionavoidancephaseofTCP,thismodelalsoisvalid fortheslowstartphaseofTCP[123].Unlikethemodelfrom[124]thatassumesalldata transfertakesplaceduringthecongestionavoidancephase,thismodeldeterminesthe timespentintheslowstartphaseofTCPandthenusesthemodelfrom[124]to determinethetimerequiredtotransfertheremainingportionofthefilethatwasnot

123 transferredduringtheslowstartphase[123].Theparametersinthemodelfrom[123] are:

• Wmax –Themaximumsizeofthecongestionwindow.

• b–ThenumberofpacketsacknowledgedwithasingleACK.

• T0–TheamountoftimethesenderwaitsforanACK.Ifthesenderdoesnot

receiveanACKbythistime,itretransmitsthepacket.

• E[T delack ]–TheamountoftimebeforethedelayedACKtimergoesoff.

• RTT–Theaverageroundtriptimeofpackets.

• p–Theprobabilitythatapacketislost.

Inourcalculations,weuseW max =12segmentsforthemaximumcongestionwindow sizebecauseWindowsXPusesthisasitsdefaultcongestionwindowsize[125].We assumethatbequals2,mimickingthedelayedACKmethodusedbymanyTCP implementations,assuggestedby[124].WeuseT 0=1second.Weuse200msecfor

E[T delack ],asWindowsXPusesthisvalue[125].RTTandparetheparameterswetest.

WeexaminethetimetodownloadafileforvaluesofRTT=1,100,200,300,400,500,

600,700,800,900,1000,and2000msec,p=.0001,.01,.02,.03,.04,.05,.06,.07,.08,

.09,.10,and.20,andfilesizesof1KB,1MB,and10MB.

6.6.3 Results Wefoundthatforeachfilesize,theeffectofincreasingtheroundtriptime(RTT) linearlywhileholdingthepacketlossrateconstantincreasedtheamountoftimeittook todownloadthefileinanapproximatelylinearmanner.HoldingtheRTTconstantwhile increasingthepacketlossratelinearlyresultsintheamountoftimeittakestodownload

124 afileincreasinginaslightlylesslinearmanner,withabiggerincreaseindownloadtime cominginthefirstfewincreasesinpacketloss.Theresultsofourcalculationsaboutthe effectsofRTTandpacketlossareshowninTable13,Table14,andTable15.

Table 13 - Time (seconds) to Download a 1 KB File

Table 14 - Time (seconds) to Download a 1 MB File

125 Table 15 - Time (seconds) to Download a 10 MB File

Wepointoutthattheonlypolicieswesimulatedthatareaffectedbytheincrease inpacketdelayandpacketlossarethepoliciesthatdonotbuffertasks.Thisisbecause insteadystate,thepoliciesthatdobuffertasksdothedownloadingoftaskswhilethey stillhavetaskstoworkon.Thus,onlythe Buffer None policyandpotentiallythe

Download Early policywouldbeaffectedbyanincreaseinpacketdelayandpacketloss.

Welookattheeffectsofpacketdelayandpacketlossonthe Buffer None policyfirstand thenweexaminetheeffectsonthe Download Early policy.Wehighlighttheeffectsthat packetlossandpacketdelaywouldhaveonoursimulationresultsfor24hourtasksand acknowledgethattheeffectswouldbeincreasedordecreasedfortasksthatwerelonger orshorter.Wealsofocuson10%packetlossand1secondRTT,whichweexpecttobe aworstcasescenario,andallowthereadertoperformthesimplecalculationsto understandhowlessseverenetworkconditionswouldimpactourresults.

The Buffer None policywastesCPUtimewheneveritdownloadsatask.The mostCPUtimethatwillbewastedisequalto(thenumberoftasksdownloaded*the timetodownloadatask).Foracomputerthatisalwaysavailabletoworkonvolunteer computingprojects,atmost2824hourtaskswouldbedownloadedina28dayperiod.

126 For1KBfilesandpacketlossesof20%anda2secondRTT,thewastedtimewouldbe

28tasks*2.5seconds=70secondswhichwillhavealmostnoeffectatallonthenumber oftasksavolunteercomputingclientwillcomplete.Apacketlossof10%anda1second

RTTwouldresultin28*1.3=36.4wastedseconds.Therefore,theeffectofpacketloss andpacketdelayisnegligibleonthe Buffer None policywith1KBfiles.With1MB files,a1secondRTTand10%packetlosswouldresultin28*354=9660wasted secondsorapproximately2.68wastedhoursofdonatedCPUtimeintheworstcase scenario.Thisisapproximatelyequivalentto0.4%ofthedonatedCPUtime.10MB fileswitha10%packetlossand1secondRTTwouldresultin28*3440=96320 secondsofwastedCPUtimeintheworstcase.Thisisequivalenttoalmost27hoursof wastedCPUtime,whichisabout4%ofthedonatedCPUtimethatwouldbewasted.

BecausetheDownloadEarlypolicywesimulatedbeginsdownloadingthenext taskwhenitis95%completewiththetaskitisworkingon,itwillhaveaminimumof

5%ofthetimerequiredtocompleteatasktodownloadthenexttaskwhilenotaffecting thenumberoftasksthataclientcompletes.For24hourtasks,5%is1.2hours(4320 seconds).Wepointoutthatfor1KB,1MB,and10MBfiles,theincreasedpacketdelay andpacketlossneverwouldcausetheclientrunningthe Download Early policytobe downloadingafilewhileithasnotasktocompleteifthetasksare24hours.Infact,for

1KBand1MBfiles,even20%packetlossand2secondRTTwouldnotcauseaclient runningthe Download Early policytowasteanyCPUtime.

Basedon10%packetlossand1secondRTT,oursimulationresultsforthe

Download Early policyfor24hourtaskswouldnotbeaffectedandtheresultsforthe

Buffer None policywouldnotbeaffectedsignificantlyfor1KBor1MBfiles.The

127 effectsonthe Buffer None policyareabitmoreseverefor10MBfiles.Therefore,we areabletocontinueourrecommendationofusingthe Download Early policyforlong tasks.

6.6.4 Other Thoughts Weacknowledgethatourresultsmaynotholdforparametersettingsbeyondthe oneswehavetested.Apersonalcomputerataperson’shousemightexperiencehigher packetdelaysduetoseveralfactors.Aperson’sISPmaynothaveasfastaconnectionas thecomputersinvolvedinourmeasurements.Apersonmayalsobeconnectedtotheir

ISPthroughawirelessnetwork,whichcancausehigherpacketdelaysbasedonavariety ofconditions,includingproximitytotheaccesspointandtheamountofotherwireless trafficincloseproximity.Finally,wehaveassumedthatpeoplehavehighspeedInternet connectionssuchasDSLorcablemodems,ratherthandialup56kbpsmodemsorother

Internetconnectionsthatrunatslowspeedssuchasacellularnetwork.Weacknowledge usingslowerconnectionslikethesemaychangetheresultsofoursimulations,butwedo notbelievethatcellularnetworksand56kbpsmodemswillbeusedforvolunteer computing.InSection3.2.1,weexplainedthatpeopleareunlikelytorundownthe batteryofwirelessdevicessuchascellphonesandPDAs,andthuswedonotexpect peopletobeusingcellularnetworksforvolunteercomputing.Wealsosuggestthatat thispointintime,thebulkofthepeoplewillingtoparticipateinvolunteercomputingare thosewhoareverytechnologysavvyandthushavehighspeedInternetconnections.

However,veryslowconnectionsandveryhighpacketdelayswillmakethe Buffer None taskretrievalpolicylesseffectiveincomparisontotheotherpolicies.Thiseffectwill

128 occurbecausethe Buffer None policywillhavewastedCPUcyclesforeverytaskthatis downloaded,theotherpolicieswillbeabletoavoidwastingmostofthoseCPUcycles becauseonlythefirsttaskthatisdownloadedbytheotherpoliciesshouldincurthe wastedCPUcycles.Thefactthattheotherpoliciesdownloadtasksbeforethecurrent taskiscompletedwillpreventthewastingofmostoftheCPUcyclesthatthe Buffer None policywillwaste.

6.7 Summary Wehaveshowntheresultsofoursimulationsusingdifferenttaskretrieval policies.Fortheparametersweexpectwillbemostcommonforvolunteercomputing projects,wefoundthatour Download Early policyprovidesthebestresultsofthe policiesthatdonotrequireknowledgeofthecomputer’savailabilitybeforehand.For24 hourtasks,the Download Early policyprovidesa2%improvementoverthepoliciesthat buffermultipledaysoftasksandsmallerimprovementsovertheothertaskretrieval policies.For4hourtasks,the Download Early policyprovidesa0.9%improvement overthepoliciesthatbufferatleastsevendaysoftasksandsmallerimprovementsover theothertaskretrievalpolicies.Wefoundthatthetaskcompletiontime,delaybound, andcheckpointcostcanhavealargeimpactonthenumberoftasksacomputercan completeusingthevariouspolicies.Wefoundthatthefilesizeanddownloadspeeddid notsignificantlyaffectthenumberoftaskscompleted.

Fortheentiresetofparametercombinations,theDownloadEarlypolicy outperformedtheotherpoliciesthatdidnotrequireaprioriknowledgeofacomputer’s availability.Theperformancegapislargeenoughsothatmillionsofcomputersusingit

129 insteadoftheotherpoliciescouldleadtolargeincreasesofthenumberoftasksvolunteer computingprojectscancomplete.However,thegapbetweenthe Download Early policy andtheoptimalpolicy,whichrequiresaprioriknowledgeofacomputer’savailability,is notsignificantenoughtowarrantattemptingtocreatecomplicatedpoliciestoattemptto closethegapfurther.Wehaveexplainedtheeffectsthatintroducingpacketdelayand packetlosshaveonourresults,negativelyaffectingallofthepoliciesthesameway, exceptforthe Buffer None policywhichsuffersmoreilleffectsandreducesits usefulness.Therefore,werecommendthatvolunteercomputingprojectsusethe

Download Early taskretrievalpolicy.

130 7 Validation of Simulation Results Inordertovalidatethattheresultsofoursimulationswouldholdinthereal world,wedevelopedavolunteercomputingserverprogramandanemulatedvolunteer computingclienttotestthetaskretrievalpoliciesundermorerealisticconditions.We rantheserverprogramandtheemulatedvolunteercomputingclientwithdifferent policiesusingasubsetofthetraceswecollected.

7.1 Experimental Setup Weusedaprivatenetworkof52computerstorunthevalidation.Onecomputer rannothingbutthevolunteercomputingserverprogramandawebserverfromwhichthe clientsdownloadeddatafiles.Asecondcomputerfunctionedasarouter.Theother50 computersrantheemulatedvolunteercomputingclients.Weusedthreetypesof computerstoruntheemulatedclients:10computerswithCeleron333MHzCPUs,20 computerswithPentiumII350MHzCPUs,and20computerswithCeleron400MHz

CPUs.Allthecomputershad128MBofRAMandranWindowsXPandtheJava

RuntimeEnvironment1.5.0_09fromSunMicrosystems.Figure11illustratesoursetup.

131 Figure 11 - Validation Experimental Setup

Avarietyofparameterswereinvolvedinthevalidationincludingwhichparameter settingsfromthesimulationstotest,whichtaskretrievalpoliciestotest,whichtracesto use,andthenetworkconditions.Duetoourlimitedequipment,weknewwewouldonly beabletotestsomesubsetofthetaskretrievalpolicies,parametersettings,andtraces.

Ourvolunteercomputingserverwasextremelylightlyloaded.WemonitoredtheCPU utilizationatvariousrandompointsanditwasalways0%.Wealsopointoutthatas discussedinSection3.2.2,Andersonetal.showedthatonecomputerthatcostabout

$4000in2005couldsupportclientsretrieving8.8milliontasksperday,soourserver whichwouldhandoutfewerthan1000tasksperdayintheworstcasewasclearly underutilized[76].Thus,the10mbpsnetworkconnectionbetweentheclientsandserver wouldbethebottleneckofourexperiment,allowingustorundifferentpoliciesinthe validationatthesametimewithoutaffectingthetrials.

132 7.1.1 Parameter Settings Forthevalidation,weelectedtousetheparametersettingsthatwepreviously determinedweretheonesweexpectedtoseemostcommonlyinrealvolunteer computingprojects,asdiscussedinSection6.4.Thisgaveusa1MBfilesize,adelay boundofsevendays,acheckpointcostof10secondsandacheckpointfrequencyof1574 seconds.Weneededtoselectadownloadspeedfrom300kbpsand10mbpsandatask durationfromfourhoursand24hours.Weselectedthedownloadspeedof10mbps becausethiswaseasiertoimplementinourexperiment.Weselectedthetaskdurationof

24hoursbecausewebelieveourexperiencewithvolunteercomputingprojectsisthat taskstakeanamountofCPUtimemuchcloserto24hoursthantofourhours.

7.1.2 Task Retrieval Policies Wediscussedfourtaskretrievalpoliciesthatcanbeimplemented( Buffer None ,

Download Early , Buffer One Task ,and Buffer N Days )andthetaskretrievalpolicythatis theoretical( Optimal )inSection5.1.3.Wetestedallfourofthepoliciesthatcanbe implemented.Duetoourlimitedhardware,fortheBuffer N Days policy,wewereforced toselectonlytwoofthefourvaluesof Nthatwehadsimulated.Weselectedoneday andsevendaysforthe Buffer N Days policy,electingnottotestonedayand14days.

Withtheparametersettingsweelectedtouse,thenumbersoftaskscompletedare identicalwhensevendaysoftasksand14daysoftasksarebuffered,butthenumberof completedtasksdiffersfromtheresultsofbufferingonedayand3.5daysoftasks.We chosetotestbufferingonedayoftasksinsteadof3.5daysoftasksbecausewefeltthat

133 usersweremorelikelytobufferonedayoftasksinsteadof3.5daysoftasksiftheywere participatinginavolunteercomputingprojectcreatedwiththeBOINCframework.

7.1.3 Trace Selection Duetothelimitedhardwarewehadatourdisposal,wewereonlyabletorunthe validationforasmallnumberoftraces.Inordertodeterminewhichtracestouseforour validation,weexaminedthenumberoftaskscompletedforeachtaskretrievalpolicy witheverytrace,giventheparametersettingswechosetotest.Weidentifiedallthe traceswherethetaskretrievalpoliciesweelectedtotestdidnotproducethesame numberofcompletedtasksbecauseoursimulationshighlighteddifferencesbetween policiesinthosecasesandwewantedtotestifthatwouldholdtrueunderthemore realisticconditionsofthevalidation.Thisnarrowedthelistoftracesthatwehadto choosefromdownto41.Fromthe41remainingtraces,weremovedthetracesfromthe computersthathadverylittleavailability(<15%),becausethesetraceswouldshowthe leastinterestinginformation,leaving35traces.Ofthe35traces,weselectedthetraces thatresultedinthegreatestvariabilityinthenumberoftaskscompletedforthe simulations,leaving12traces.Oftheremaining12traces,werandomlyselectedthe10 traceswewouldtest:

1. business_trace_9.trc 2. business_trace_26.trc 3. ccc_trace_7.trc 4. ccc_trace_10.trc 5. ccc_trace_42.trc 6. ccc_trace_55.trc 7. ccc_trace_64.trc 8. home_trace_1.trc 9. home_trace_24.trc 10. student_trace_4.trc

134

7.1.4 Task Creation Akeypartofvolunteercomputingisthetasksthattheclientsperform.We devisedanumbercrunchingtaskthatwebelieveissimilarinnaturetotasksother volunteercomputingclientswoulddo.OurtaskwasperformingFastFourierTransforms

(FFTs)usinginputvaluesfromthefiletheclientdownloaded.Weneededtodevisea24 hourtask,soweranourvalidationclientforonehour,havingitdoasmanyFFTsasit couldandreportingthatvalue.Foreachofthethreehardwareconfigurationsthatwe woulduseinthevalidation(DellOptiplexG1swithCeleron400MHzCPUs,Celeron

333MHzCPUs,andPentiumII350MHzCPUs),weran50trialspercomputerforas manycomputersaswewereabletoatthetime(24Celeron400MHzsystems,10

PentiumII350MHzsystems,and9Celeron333MHzsystems).Wetooktheaverageof theresultsforeachclassofCPUandscaledituptothenumberofFFTsthatacomputer shouldbeabletocompletein24hourstogetourtaskforeachofthethreehardware configurations.Thus,a24hourtaskonacomputerwithaCeleron400MHzCPU consistedofmoreFFTsthana24hourtaskforacomputerwithaCeleron333MHz

CPU.

7.1.5 Volunteer Computing Server Program ThevolunteercomputingserverprogramisamultithreadedJavaprogram(the sourcecodeisinthevalidator.zipfilethatisavailablewhereyoudownloadedthis dissertation).Theserverprogramspawnsanewthreadtohandleeachincoming connectionrequest.Theincomingconnectionsaskforatask,acknowledgethe

135 successfuldownloadofafile,orreturntheresultofatask.Whenarequestcomesinfor atask,theserverassignsthenexttaskinitspooloftasksandrespondswithafilename.

Theclientdownloadsthespecifiedfilefromthewebserverandsendsan acknowledgementtotheserver.Theaborttimeforthetaskisbasedonthetimeofthe acknowledgement.

7.1.6 Emulated Volunteer Computing Client Program ThevolunteercomputingclientisalsoamultithreadedJavaapplication(source codeinAppendixD).Whentheclientstarts,asinglethread(the control thread )starts.

The control thread sleepsforsomenumberofminutesequalto5*theclient’sunique identificationnumber,whichisacommandlineargument.Thisinitialsleepingperiod staggersthestarttimesoftheclientssotheyarenotalldownloadingtheinitialfilesat exactlythesametime,makingthesituationmorerealistic.Oncetheclienthasfinished itsinitialsleep,itwakesupandreadsatracefilespecifiedasacommandlineargument.

Thetracefileisoneofthe140traceswecollectedanddiscussedinChapter4.Thedata inthetracefileisusedbythe control thread toinstructotherthreadstostart,pause, resume,orstop,basedonthetraceattheappropriatetimestomimicthestatusofthe computerfromwhichthetracewascollected.Theotherthreadsarea science application thread ,acheckpointthread,andoneormore download threads .Thosethreethreads formtheactualvolunteercomputingclient,whilethe control thread simulatesthe computerandscreensaverstatus.The control thread runsfortheentiredurationofthe trace,starting,stopping,pausing,andresumingthe science application thread and download threads attheappropriatetimes.The science application thread controlsthe

136 checkpoint thread .Oncetheendofthetracehasbeenreached,theclientoutputsthe numberoftasksithascompletedandterminates.

7.2 Results of Validation Acomparisonofthenumberoftasksthattheclientscompletedinthesimulation andvalidationareshowninTable16.

Table 16 - Comparison of Number of Tasks Completed by Validation and Simulation Task Retrieval Policy Download Buffer Buffer 1 Buffer 1 Buffer 7 Trace Method Early None Task Day Days Business9 Simulation 12 12 11 11 11 Validation 11 12 10 9 10 Business26 Simulation 16 16 15 15 15 Validation 16 16 15 15 12 CCC7 Simulation 16 16 16 16 13 Validation 16 16 15 15 12 CCC10 Simulation 16 16 16 16 14 Validation 16 16 15 15 12 CCC42 Simulation 17 17 17 17 15 Validation 16 16 15 16 16 CCC55 Simulation 20 20 20 20 18 Validation 20 20 19 20 17 CCC64 Simulation 22 22 22 22 20 Validation 22 22 21 21 19 Home1 Simulation 9 9 8 8 8 Validation 10 10 8 8 7 Home24 Simulation 10 10 8 8 8 Validation 10 10 9 8 8 Student4 Simulation 11 11 11 11 9 Validation 11 11 11 11 8

Weobservedthatthenumberoftaskscompletedbyaclientduringvalidationisfewer thanthenumberoftaskscompletedbyasimulatedclientalmosthalfofthetime.We believethatthismaybeduetoseveralfactors.Onereasonthatmayaccountforthe differencebetweenthenumberoftaskscompletedbytheemulatedclientsandthe

137 simulationsisthedifferencebetweenthetasksthatthesimulationsandemulatedclients inthevalidationused.Thesimulationsassumedthatataskrequiredsomenumberof secondstobecompleted.Everytimetheclockinthesimulationadvancedonesecond andtheclientwasavailableforvolunteercomputing,thenumberofsecondsleftto completethetaskwasdecrementedbyone.However,theemulatedclientsweregiven realistictasksconsistingofafixednumberofFastFourierTransforms(FFTs).The numberwasderivedfromobservinghowmanyFFTsthecomputerscoulddoinaone hour(weusedtheaveragefromhundredsoftestsforeachCPUspeedusedinthe validation)andscaleduptothenumberthecomputershouldbeabletodoin24hours.

BecausethecomputersdidnotperformthesamenumberofFFTseachtimeinanhour, completingataskwouldnottakeexactlythesameamountoftime(exactly24hours)in thevalidationthewayitdidinthesimulation.Thevariationintheexactamountoftime atasktooktobecompletedcoupledwiththeimprecisionoftimersinJava[126]could haveledtocheckpointsbeingcreatedlaterinthevalidationthaninthesimulation.Ifthe creationofacheckpointalmostfailedinthesimulationandwasstartedlaterinthe validation,thenthecreationofthatcheckpointmayhavefailedinthevalidationeven thoughitsucceededinthesimulation.Inthiscase,approximately1.82%oftheCPU timerequiredtocompleteataskwouldhavebeenwasted.54checkpointsarecreated duringtheprocessingofonetask.Itispossiblethatthecreationofoneormoreofthese checkpointscouldhavefailedduringtheprocessingofataskinthevalidationbut succeededinthesimulation,duetotheskewcausedbythetimersandbecauseitdoesnot takeexactlythesameamountoftimetocompleteeverytask.Inthecasethatone checkpointpertaskprocessedbytheemulatedclientfailedbecauseoftheskew,that

138 couldresultinanemulatedclientcompleting18%to36%lessofonetaskthanthe simulatedclientcompleted.Insomecases,thefailuretocreateacheckpointcouldresult inataskbeingabortedbytheemulatedvolunteercomputingclientbecausethetaskwas notcompletedontime,whichcouldresultinthenumberoftaskscompletedbythe emulatedclientandsimulatedclientdifferingbyanentiretaskormore.

7.3 Summary

Wehavediscussedourmethodologyforvalidatingthatoursimulationsare accurate.Weranavolunteercomputingserverononeserverandemulatedvolunteer computingclientson50othercomputers.Wetestedfivetaskretrievalpolicieswith10 computerusagetraces.Thenumberoftaskscompletedbyeachemulatedvolunteer computingclientareverysimilartothenumberoftasksthatoursimulatorpredictedthe clientswouldcompleteforthegivenparametersettings.Therefore,weareconfidentthat oursimulationresultsareaccurate.

139 8 Effects of Multiple Types of Clients

8.1 Discussion Inordertoincreasetheproductivityofvolunteercomputingprojects,itis importanttowritethevolunteercomputingclientsinthemannerthatallowsthemost worktobecompletedbythevolunteeredcomputers.Thisideaiscomposedoftwo pieces:thelanguageinwhichvolunteercomputingclientsareimplementedandthetypes ofprogramsthatvolunteercomputingclientsareproducedas.Becausenew programminglanguagesaredeveloped,thespeedoflanguageschangesrelativetoeach other,andthepopularityofprogramminglanguageschanges,wedonotspendmuchtime discussingthechoiceofaspecificlanguageusedtoimplementvolunteercomputing clients.However,wedopointoutthatthelanguagethatenablesthemostworktobe completedmaynotnecessarilybethelanguagethatexecutesthesamesetofoperations thefastest.Clientswritteninsomelanguagesmayprovideadvantagesoverclients writteninotherlanguages,suchasconvenienceandsecurity.Thus,peoplemaybemore likelytoparticipateinvolunteercomputingprojectsbasedontheprogramminglanguage inwhichtheclientiswritten.Inthiscase,aslowerclientmayaccomplishmorework thanafasterclientiftheslowercliententicesmorepeopletoparticipate.

Currently,volunteercomputingclientsarewrittenintwoforms:screensaversand service(Windows)/daemon(Linux&Unix)processes.Wepointoutthatitisalso possibletocreatewebbasedclients,suchasJavaapplets.Thedifferenttypesofclients offerdifferentfeaturesets,makingsometypesofclientsmoreattractivetocertainusers thanothers.Forexample,screensaverclientsdonotaffectcomputerperformancewhena

140 personisactivelyusingacomputer,exceptduringlongnoninteractivejobssuchasa virusscan.Clientsthatrunasaservice/daemonprocessareabletocompletemoretasks thanclientsthatrunasascreensaver.AwebbasedclientlikeaJavaappletalsocanrun likeabackgroundprocess,butcanprovidemoresecuritythanothertypesofclients.

Becauseclientsthatrunconstantlyinthebackgroundcanlikelycompletemoretasksthan clientsthatrunasascreensaver,assumingbothclientsarewritteninthesamelanguage, webelieveitisimportantforustogivesomeestimateofhowmuchmoreworkcanbe accomplishedbyclientsthatrunconstantly.

8.2 Methodology Wemodifiedoursimulatortoallowustoobservehowmanymoretasksclients thatrunasserviceswouldcompletethanclientsthatrunasscreensavers.Itisnot possibletodeterminewhatpercentageofCPUtimeaservice/daemonprocesswill receiveatanygiventimeandwhattheeffectofoperatingsystemfeaturessuchas caching(andthuscachemissesthatwouldoccur)andpagefaultswouldbe.Therefore, ourmodifiedsimulationsassumethattheclientreceives100%oftheCPUcycles wheneverthecomputerispoweredon,evenwhenthescreensaverisnotrunning.We acknowledgethatthisprovidesanoverestimateofthenumberoftasksthata service/daemonclientwillcomplete.Weleaveittothereadertoextrapolatehowmany taskstheservice/daemonclientwouldcompleteandpointoutthatitwillbemorethanthe numberoftaskscompletedbythescreensaver,butlessthanthenumberoftasksthatour simulationsofaservice/daemonclientscompleted.

141 8.3 Simulation Results Weshowtheresultsofthesimulationsofaservice/daemonvolunteercomputing clientforthetwosetsofbaseparametervalueswebelievewillbethemostcommonin volunteercomputingprojects,asdiscussedinSection6.4.Weshowthenumberoftimes moretaskscompletedbyeachpolicybytheservice/daemonthanbythescreensaver clientinTable17.Forallofthetaskretrievalpolicies,theservice/daemonclients completedapproximately1.5asmanytasksasthescreensaverclientscompleted.This improvementof50%issignificantenoughthatthismethodshouldbeexploredfurther.

Table 17 - Number of Times More Tasks Completed by the Service/Daemon than by the Screensaver

Task Download Buffer Download Buffer Buffer Buffer Buffer 7 Buffer Duration Speed Optimal None Early 1 Task 1 Day 3.5 Days Days 14 Days

4hours 300kbps 1.52 1.52 1.52 1.52 1.52 1.52 1.53 1.53

24hours 300kbps 1.56 1.54 1.54 1.53 1.55 1.57 1.57 1.57

8.4 Summary Oursimulationsshowedasignificantincreaseofapproximately50%inthe productivityofvolunteercomputingclients(approximatelya50%increaseinthenumber oftasksthatwerecompleted)whentheywererunasservice/daemonprocessesinsteadof asscreensavers.GiventhatoftenonlyafractionoftheCPUisusedwhenapersonal computer’sscreensaverisnotrunning,weexpectthatthisisareasonablyaccurate estimateoftheperformanceimprovementthatcanbegainedbyrunningclientsas service/daemonprocessesinsteadofasscreensavers.Therefore,weencouragethe creatorsofvolunteercomputingprojectstofindwaystoencouragevolunteerstorun

142 service/daemonclientsinsteadofscreensaverclientsifpossible.Wealsopointoutthat withmulticoreCPUsbecomingstandard,service/daemonclientswillbeevenmore productive.

143 9 Conclusions Wehavemadeanumberofcontributionstothefieldofvolunteercomputingin thisdissertation.Usingsimulations,wehaveevaluatedthetwotaskretrievalmethods

(Buffer None and Buffer N Days )thatareusedindifferentvolunteercomputingprojects todeterminewhichmethodresultsinhigherproductivityofvolunteercomputing projects.Inoursimulations, Buffer None ,whichisthetaskretrievalmethodthatisnot oftenusedresultedinmoretasksbeingcompletedthan Buffer N Days ,thepredominantly usedtaskretrievalmethod.Wehaveexaminedthewaytaskretrievalmethodsworkin volunteercomputingprojectsandproposedtwoadditionaltaskretrievalmethods

(Download Early and Buffer 1 Task )inanattempttocreatemethodsthatresultineven higherproductivityforvolunteercomputing.Forourtwobaselineparameters,our simulationsshowedthatthe Download Early methodresultedin0.91%and2.95%more tasksbeingcompletedthan Buffer N Days forN=7andN=14.TheDownloadEarly methodresultedinmoretasksbeingcompletedthanthe Buffer None method,too.We havedevelopedanoptimalpolicythatestablishedanupperboundonthenumberoftasks thatcanbecompletedandweshowedthatthedifferenceinthenumberoftasks completedbyclientsusingtheDownloadEarlytaskretrievalpolicyandtheOptimal policyissosmallthatitdoesnotmakesensetotrytodevelopanadaptivepolicyto increasetheproductivityofvolunteercomputing.Werecommendthatpeoplewho implementvolunteercomputingprojectssettheirclientstouseour Download Early task retrievalpolicy,ratherthanthecurrentstandardBuffer N Days policy.Duringour evaluationofthedifferentpolicies,weobservedthatvaryingoursimulationparameters hadlittleeffectonthenumberoftasksthatwerecompleted,withtheexceptionofthe

144 delaybound.For24hourtasks,increasingordecreasingthedelayboundresultsina significantincreaseordecreaseinthenumberoftasksthatarecompleted.

Wehaveexploredtheincreaseinproductivityofvolunteercomputingprojectsif volunteercomputingclientsranconstantlyinthebackgroundasaservice/daemon processinsteadofrunningasascreensaver.Wefoundthatthenumberofcompleted tasksincreasedbyapproximately50%iftheclientwasrunasaservice/daemonprocess ratherthanasascreensaver.

Wehaveexploredthepotentialbenefitofusingvideogameconsolestorun volunteercomputingclients.AlthoughourtestswiththeSonyPlayStation2showedthat thePlayStation2wasfarfromanidealplatformforvolunteercomputing,Sonyand

Folding@homehaveexploredusingthePlayStation3forvolunteercomputingandfound thatitisanexcellentplatform.

Wehavecollected140tracesofcomputerusageactivityfor28daysfromhome, business,publicaccess,andundergraduatestudentcomputers.Wehavemadethese tracespubliclyavailableforotherstouse.Wehavealsocomparedthedistributionof computeravailabilityofDerrickKondo’stracesfromtheSanDiegoSupercomputer

Centertoourmostcloselyrelatedtraces.Wefoundthatthedistributionsofavailability betweenourdatasetandhisdatawerenotalike.

Wehavecollectedpubliclyavailableinformationaboutrealvaluesusedfor volunteercomputingprojectsandcombineditintothefirstsummaryofvolunteer computerprojectvaluesofwhichweareaware.

145 10 Future Work Thereareseveralwaystoextendtheworkinthisdissertation. 1. Webelievethatthemosteffectivewaytoimprovetheproductivityofvolunteer computingistosignificantlyincreasethenumberofparticipants.Inordertoincrease participation,itisimportanttounderstandwhysuchasmallpercentageofInternet connectedcomputersareusedforvolunteercomputing[37].Webelievethata comprehensivestudytodeterminewhysomanypeopledonotparticipateinvolunteer computingshouldbedone.Theresultsofthestudymaythenbeusedtoinfluence implementationofvolunteercomputingclientsorspurfutureresearchrequiredtomake peoplemorewillingtoparticipate.

2. Anotherdirectionforfutureworkistodeterminetheramificationsof implementingvolunteercomputingclientsasunsignedJavaapplets.Becauseunsigned appletscouldprovidealevelofsecuritythatcan’tbeprovidedbycurrentclientsthatrun asascreensaverorasaservice/daemonprocess,clientsimplementedasappletsmight motivatemorepeopletoparticipateinvolunteercomputing.However,thepotential participationincreaseneedstobeweighedagainstthepotentialcosts.Oneconcernabout appletsisthatunlikeascreensaveroraservice/daemonprocessthatstartsautomatically, runningavolunteercomputingclientthatisimplementedasaJavaappletrequiresthe volunteertoopenawebbrowserandnavigatetoawebpagetostarttheclient.This inconveniencemayresultinfewerdonatedCPUcycles,aspeoplemayforgettoactivate theclienteverytimetheystarttheircomputer.Onemoredrawbacktoimplementing

146 volunteercomputingclientsasunsignedJavaappletsisthattheabilityoftheclientsto checkpointisseverelyrestricted.Theonlywayfortheclientstocheckpointwouldbeto savetheircheckpointfilesontheserverfromwhichtheappletwasdownloaded.If appletsaretobeapotentialimplementation,futureworkneedstodeterminehowmany clientscouldbesupportedbyasingleserversothatthecostsarebetterunderstood.

3. Theworkinthisdissertationhasfocusedonvolunteercomputinginthecontextof clientsrunningonsingleCPUcomputers.Withthetrendofputtingmultiplecoresona diesothatparallelprocessingcanbedoneincommoditycomputers,itisimportantto understandhowtotakeadvantageoftheextraprocessingpower.Wesuggestthatit wouldmakesensetodeterminewhetheritisbettertoprocessmultipleworkunitsatone timeonamulticorecomputerorwhetherrunningasingleworkunitthatismultithreaded willincreasetheproductivityofvolunteercomputingmore.

4. Anotherdirectionforfutureworkistounderstandwhatrole,ifany,processor affinityshouldplayinvolunteercomputingclients.Theimportanceofprocessoraffinity maybedirectedaffectedbywhethervolunteercomputingclientscontinuetobe implementedtoprocesssingleworkunitsatatimeormultipleworkunitsatonce.

147 11 References 1D.Anderson,J.Cobb,E.Korpela,M.Lebofsky,andD.Werthimer.“SETI@home:An ExperimentinPublicResourceComputing”, Communications of the ACM ,vol.45,pp. 5661,Nov.2002,[Online]Available: http://setiathome.ssl.berkeley.edu/cacm/cacm.html. 2BOINCstaff,“ChoosingBOINCProjects”,http://boinc.berkeley.edu/projects.php, Modified12/10/07,Accessed2/9/08. 3D.Anderson,“ASystemforPublicResourceComputingandStorage”, Proc. 5th IEEE/ACM International Workshop on Grid Computing ,2004,[Online]Available: http://boinc.berkeley.edu/grid_paper_04.pdf. 4GIMPSstaff.“GIMPSHomePage”,http://www.mersenne.org/prime.htm,Modified 9/11/06,Accessed7/11/07. 5A.Patrizio,“CodebustersCrackEncryptionKey”, http://www.wired.com/science/discoveries/news/2002/10/55584,Modified10/7/02, Accessed2/12/08. 6A.Patrizio,“56aBitShortofSecure”, http://www.wired.com/science/discoveries/news/2000/01/33695,Modified1/17/00, Accessed2/12/08. 7distributed.net,“stats.distributed.net–StatisticsServer”,http://stats.distributed.net/, Modified5/13/04,Accessed2/12/08. 8M.Karaul,“MetacomputingandResourceAllocationoftheWorldWideWeb”,Ph.D. Thesis,NewYorkUniversity,1998,[Online]Available http://cs.nyu.edu/milan/publications/karaulthesis.pdf. 9T.Brecht,H.Sandhu,M.Shan,andJ.Talbot,“ParaWeb:TowardsWordWide Supercomputing”, Proc. Seventh ACM SIGOPS European Workshop ,pp.181188,1996, [Online]Available: http://bcr2.uwaterloo.ca/~brecht/papers/getpaper.php?file=paraweb.pdf. 10M.Neary,B.Christiansen,P.Cappello,andK.Schauser,“Javelin:Parallel ComputingontheInternet”, Future Generation Computer Systems ,vol.15,pp.659674, 1999[Online]Available:www.cs.ucsb.edu/~neary/WORK/fgcs.ps 11POPCORNstaff,“POPCORNDocumentation”, http://www.cs.huji.ac.il/labs/popcorn/documentation/Accessed2/22/05.

148 12L.Sarmenta.“VolunteerComputing”,Ph.D.thesis,MIT,2001,[Online]Available: http://www.cag.lcs.mit.edu/bayanihan/papers/phd/sarmentaphdmit2001.pdf. 13K.Amorin,A.Covati,D.Finkel,M.Lee,andC.Wills,"AnAppletBasedApproach toLargeScaleDistributedComputing", Proc. International Network Conference ,pp. 175–182,2000,[Online]Available:http://web.cs.wpi.edu/~cew/papers/inc00applet.doc. 14W.Wong,“PublicationsofWengFaiWong”, http://www.comp.nus.edu.sg/~wongwf/publications.html,Modified1/29/05,Accessed 2/22/05. 15BOINCstaff,“BerkeleyOpenInfrastructureForNetworkComputing,” http://boinc.berkeley.edu/,Modified2/1/05,Accessed2/9/05. 16G.Fedak,C.Germain,V.NeriandF.Cappello,“XtremWeb:AGenericGlobal ComputingSystem”, Proc. 1 st IEEE International Symposium on Cluster Computing and the Grid ,pp.582587,2001,[Online]Available: www.lri.fr/~fedak/XtremWeb/downloads/Gcpd.zip. 17C.Germain,V.Neri,G.Fedak,andF.Cappello,“XtremWeb:Buildingan ExperimentalPlatformforGlobalComputing”,PresentedatGRID2000,12/00,[Online] Available:www.lri.fr/~cecile/publis/grid2000.ps.gz. 18 XtremWebstaff, “XtremWeb,”http://www.lri.fr/~fedak/XtremWeb/introduction.php3 Modified2/8/05,Accessed2/19/05. 19G.Woltman,“TheMersenneNewsletter”,http://www.mersenne.org/news1.txt, Modified2/24/96.Accessed7/13/05. 20Distributed.netstaff,“distributed.net:Projects”, http://www.distributed.net/projects.php,Modified11/4/04,Accessed7/13/05. 21Distributed.netstaff,“distributed.net:ProjectOGR”,http://www.distributed.net/ogr/ Modified5/31/05,Accessed7/13/05. 22Seti@homestaff,“Seti@home”,http://setiathome.berkeley.edu/,Modified7/12/05, Accessed7/13/05. 23Seti@homestaff,“AboutSETI@home”, http://setiathome.berkeley.edu/sah_about.php,Accessed7/13/05. 24S.Pfalz,“Seti@HomePStatsV0.34”,http://www.saschapfalz.de/pstats.php, Modified4/26/05,Accessed4/27/05.

149 25Grid.orgstaff,“GRID.ORG–AboutUs:Overview”,http://www.grid.org/about/, Accessed7/14/05. 26 Grid.orgstaff,“GRID.ORG–ProjectOverview”,http://www.grid.org/projects/, Accessed4/1/05. 27BOINCStatisticsstaff,“BOINCStatistics”,http://www.boincstats.com,Modified 4/27/05,Accessed4/27/05. 28Distributed.netstaff,“OGR24/OverallProjectStats”, http://stats.distributed.net/projects.php?project_id=24,Modified10/31/04,Accessed 4/27/05. 29Distributed.netstaff,“RC572/OverallProjectStats”, http://stats.distributed.net/projects.php?project_id=8,Modified4/26/05,Accessed 4/27/05. 30Distributed.netstaff,“OGR25/OverallProjectStats”, http://stats.distributed.net/projects.php?project_id=25,Modified4/26/05,Accessed 4/27/05. 31Distributed.netstaff,“RC556/OverallProjectStats”, http://stats.distributed.net/projects.php?project_id=3,Modified10/2/97,Accessed 4/27/05. 32Distributed.netstaff,“RC564/OverallProjectStats”, http://stats.distributed.net/projects.php?project_id=5,Modified7/14/02,Accessed 4/27/05. 33Folding@homestaff,“daily_user_summary”, http://vspx27.stanford.edu/daily_user_summary.txt,Modified4/27/05,Accessed4/27/05. 34GIMPSstaff,“RemainingTopProducers”,http://www.mersenne.org/top5.htm, Modified4/26/05,Accessed4/27/05. 35Grid.orgstaff,“GRID.ORG–GridMPGlobalServiceStatistics”, http://www.grid.org/stats/,Modified4/27/05,Accessed4/27/05. 36InternetSystemsConsortium,Inc.“ISCInternetDomainSurvey”, http://www.isc.org/index.pl?/ops/ds/,Accessed3/2/05. 37J.Bohannon,“GrassrootsSupercomputing”, Science ,vol.308,pp.810813,2005. 38Condorstaff,“WhatisCondor?”,http://www.cs.wisc.edu/condor/description.html, Accessed2/22/05.

150 39L.SmarrandC.Catlett,“Metacomputing”, Communications of the ACM ,vol.35,pp. 4452,June,1992. 40D.Eager,E.Lazowska,andJ.Zahorjan,“AdaptiveLoadSharinginHomogeneous DistributedSystems”,IEEE Transactions on Software Engineering ,vol.SE12,num5, pp.662675,May1986.. 41R.vanNieuwpoort,T.Kielmann,&H.Bal,“Satin:EfficientParallelDivideand ConquerinJava”,Proc. Euro-PAR ,pp.690699,2000,[Online]Available: http://www.cs.vu.nl/~rob/papers/europar2000.ps.gz. 42J.Baldeschweiler,R.Blumofe,andE.Brewer,“ATLAS:AnInfrastructureforGlobal Computing”,Proc. Seventh ACM SIGOPS European Workshop on System Support for Worldwide Applications ,1996,[Online]Available: http://citeseer.ist.psu.edu/cache/papers/cs/577/http:zSzzSzmosquitonet.stanford.eduzSzsi gops96zSzpaperszSzbaldeschwieler.pdf/baldeschwieler96atlas.pdf. 43Z.Xu,“SimulationofHeterogeneousNetworksofWorkstations”, Proc. MASCOTS , pp.5963,1996,[Online]Available: http://citeseer.ist.psu.edu/cache/papers/cs/759/http:zSzzSz128.105.7.11zSz~zhichenzSzp aperszSzmascots96.pdf/simulationofheterogeneousnetworks.pdf. 44Wikipedia(authorunknown),“Supercomputer”, http://en.wikipedia.org/wiki/Supercomputer,Modified8/17/06,Accessed8/20/06. 45TheEconomist,“Agridbyanyothername”,http://public.euegee.org/files/ EconomistDec04.pdf.Modified12/2/04,Accessed6/24/06. 46I.Foster,C.Kesselman,andS.Teucke,“TheAnatomyoftheGrid:EnablingScalable VirtualOrganizations”, International J. Supercomputer Applications ,vol.15,num.3, 2001,[Online]Available: http://www.globus.org/alliance/publications/papers/anatomy.pdf. 47I.Foster,“WhatistheGrid?AThreePointChecklist”, GRIDtoday ,vol.1,July,2002, [Online]Available:http://www.gridtoday.com/02/0722/100136.html. 48SunMicrosystems,Inc,“SunUnveilsNextStepsinitsVisionof‘TheNetworkisthe Computer’ThroughRadicalSimplificationandaCallto‘ShareinthePowerofthe Grid’”,http://www.sun.com/smi/Press/sunflash/200502/sunflash.20050201.1.html, Accessed4/29/05. 49Srce,“CROGRIDInfrastructure–QuestionsandAnswers”, http://www.srce.hr/?id=599,Accessed8/20/06.

151 50MTASZTAKILPDS,“PGRADEGridPortal”,http://www.lpds.sztaki.hu/pgportal/, Accessed8/20/06. 51TheGreekResearchandTechnologyNetwork“SeeGrid:Overview”, http://www.seegrid.org/index.php?op=modload&modname=Sitemap&action= sitemapviewpage&pageid=2,Accessed8/20/06. 52J.Baldassari,“DesignandEvaluationofaPublicResourceComputingFramework”, M.S.Thesis,WorcesterPolytechnicInstitute,2006. 53Distributed.netstaff,“distributed.net:NodeZero”http://www.distributed.net/, Modified3/8/05,Accessed4/1/05. 54BOINCstaff,“Preferences,”http://boinc.berkeley.edu/prefs.php,Modified10/1/04, Accessed2/24/05. 55Distributed.netstaff,“Distributed.netFAQOMatic,” http://n0cgi.distributed.net/faq/cache/78.html,Accessed2/24/05. 56Grid.orgstaff,“GRID.ORG–Help:FrequentlyAskedQuestions”, http://www.grid.org/help/faq_wus.htm,Accessed4/1/05. 57V.Pande,“Folding@homeFAQmain”,http://folding.stanford.edu/English/FAQ main,Modified1/17/08,Accessed9/19/08. 58GIMPSstaff,“SourceCode”,http://www.mersenne.org/source.htm,Modified8/9/05, Accessed5/27/06. 59BOINCstaff,“BerkeleyOpenInfrastructureForNetworkComputing,” http://boinc.berkeley.edu/,Modified4/6/06,Accessed4/12/06. 60V.Pande,“Folding@homeFrequentlyAskedQuestions”, http://folding.stanford.edu/faq.html,Modified4/27/06,Accessed5/27/06. 61GIMPSstaff,“FrequentlyAskedQuestions”,http://www.mersenne.org/faq.htm. Modified2/03,Accessed5/27/06. 62Seti@homestaff,“CertificateofComputation”, http://setiathome.berkeley.edu/cert_print.php,Accessed5/27/06. 63D.Finkel,personalcommunication,1/05. 64D.Toth,“VolunteerComputingwithVideoGameConsoles”, Proc. 6th WSEAS International Conference on Software Engineering, Parallel and Distributed Computing and Systems ,February,2007.

152 65SonyComputerEntertainment,Inc.“BusinessData” http://www.scei.co.jp/corporate/data/bizdataps2_e.html,Accessed3/24/06. 66Wikipedia(authorunknown),“Atari2600–Wikipedia,thefreeencyclopedia” http://en.wikipedia.org/wiki/Atari_2600,Modified3/25/06,Accessed3/25/06. 67S.EwenandL.Lemarie,“ConsoleYourself”, http://www.technology.scee.net/files/presentations/agdc2002/ConsoleYourself.pdf, Modified2002,Accessed3/01/06. 68Wikipedia(authorunknown),“PlayStation2–Wikipedia,thefreeencyclopedia”, http://en.wikipedia.org/wiki/PS2,Modified3/25/06,Accessed3/25/06. 69Wikipedia(authorunknown),“Xbox–Wikipedia,thefreeencyclopedia”, http://en.wikipedia.org/wiki/Xbox,Modified3/25/06,Accessed3/25/06. 70Microsoft,“Xbox.com|XBOX360–TheSystem”,http://www.xbox.com/en US/hardware/xbox360/default.htm,Accessed3/25/06. 71Seti@homestaff,“PortingandoptimizingSETI@home”, http://setiweb.ssl.berkeley.edu/sah_porting.php,Accessed10/1/05. 72Seti@homestaff,“Seti@homesourcecode”, http://setiweb.ssl.berkeley.edu/sah/seti_source/nightly/seti_boincclientcvs200510 01.zip,Modified10/1/05,Accessed10/1/05. 73E.Martinian,“FastFourierTransformCCode”, http://www.csua.berkeley.edu/~emin/source_code/fft/,Accessed9/30/05. 74E.Martinian,sourcecode,http://www.csua.berkeley.edu/~emin/source_code/fft/fft.c, Accessed9/30/05. 75V.Pandey,“PS3FAQ,”http://www.stanford.edu/group/pandegroup/folding/FAQ PS3.html,Modified3/26/07,Accessed2/10/08. 76D.Anderson,E.Korpela,andR.Walton,“HighPerformanceTaskDistributionfor VolunteerComputing”, Proc. First IEEE International Conference on e-Science and Grid Technologies ,2005,[Online]Available: http://boinc.berkeley.edu/boinc_papers/server_perf/server_perf.pdf. 77BOINCstaff,“Workunits,”http://boinc.berkeley.edu/work.php,Modified11/25/04, Accessed2/23/05. 78BOINCstaff,“WorkDistribution”,http://boinc.berkeley.edu/work_distribution.php, Modified11/11/04,Accessed2/23/05.

153 79D.Toth,andD.Finkel,“AComparisonofTechniquesforDistributingFileBased TasksforPublicResourceComputing”, Proc. 17th IASTED International Conference on Parallel and Distributed Computing and Systems ,pp.398403,November,2005. 80L.Cristofor,“ARMinerInfoIndex”,http://www.cs.umb.edu/~laur/ARMiner/, Modified12/26/02,Accessed4/9/05. 81W.Richardson,D.Avondolio,J.Vitale,S.Schrager,M.Mitchell,andJ.Scanlon, Professional Java JDK 5 Edition ,Indianapolis,IN:WilyPublishing,Inc.,2005. 82D.TothandD.Finkel,“CharacterizingResourceAvailabilityforVolunteer ComputinganditsImpactonTaskDistributionMethods”, Proc. 6th WSEAS International Conference on Software Engineering, Parallel and Distributed Computing and Systems ,February,2007. 83G.Woltman,personalcommunication,9/14/05. 84D.Anderson,personalcommunication,8/16/05. 85J.Brevik,D.Nurmi,andR.Wolski,“AutomaticMethodsforPredictingMachine AvailabilityinDesktopGridsandPeertopeerSystems”, Proc. IEEE Symposium on Cluster Computing and the Grid ,April2004,[Online]Available: http://pompone.cs.ucsb.edu/~rich/publications/quantest.pdf. 86M.Mutka,andM.Livny,“ProfilingWorkstations’AvailableCapacityForRemote Execution”, Proc. 12th IFIP WG 7.3 International Symposium on Computer Performance Modeling, Measurement and Evaluation ,pp.529544,1987,[Online]Available: www.cs.wisc.edu/condor/doc/profiling_availability.pdf. 87A.Acharya,G.Edjlali,andJ.Saltz,“TheUtilityofExploitingIdleWorkstationsfor ParallelComputation”,Proc. SIGMETRICS'97 ,1997,[Online]Available: http://citeseer.ist.psu.edu/cache/papers/cs/1392/ftp:zSzzSzftp.cs.umd.eduzSzpubzSzpaper szSzpaperszSzncstrl.umcpzSzCSTR3710zSzCSTR3710.pdf/acharya97utility.pdf. 88D.Kondo,M.Taufer,C.Brooks,H.Casanova,andA.Chien,"Characterizingand EvaluatingDesktopGrids:AnEmpiricalStudy", Proc. of the International Parallel and Distributed Processing Symposium ,April2004,[Online]Available: http://www.lri.fr/~dkondo/pubs/ipdps04_kondo.pdf. 89D.Kondo,“SchedulingTaskParallelApplicationsForRapidTurnaroundonDesktop Grids”,Ph.D.Dissertation,UniversityofCalifornia,SanDiego,2005,[Online] Available:http://www.lri.fr/~dkondo/pubs/thesis_kondo.pdf. 90D.Kondo,G.Fedak,F.Cappello,A.Chien,andH.Casanova,“ResourceAvailability inEnterpriseDesktopGrids”, Technical Report 00000994 ,INRIA,January,2006.

154 91S.Chong,“HOWTOtrackauser'sidletime”, http://www.codeproject.com/dll/trackuseridle.asp,Modified11/13/01,Accessed7/20/05. 92S.Chong,“Idletrackingsourcecode”, http://www.codeproject.com/dll/TrackUserIdle/TrackUserIdle_src.zip,Accessed 7/20/05. 93sfwong(username,actualnameunknown),“HOWTOtrackauser’sidletime”, http://www.codeproject.com/dll/trackuseridle.asp?df=100&forumid=2894#xx530130xx Modified6/20/03,Accessed7/20/05. 94RockwellSoftware,“RockwellAutomation–ArenaSimulationSofware”, http://www.arenasimulation.com/,Modified2008,Accessed2/9/08. 95D.Kondo,“DesktopGridTraceArchive”,http://xw01.lri.fr:4320/dg/,Accessed 2/12/08. 96D.TothandD.Finkel,“IncreasingtheAmountofWorkCompletedbyVolunteer ComputingProjectswithTaskDistributionPolicies”, Proc. of 2nd Workshop on Desktop Grids and Volunteer Computing Systems ,April,2008. 97AuroraBorealis(username,actualnameunknown),“SETI@homeBeta–some questions”,http://setiathome.berkeley.edu/forum_thread.php?id=37561,Modified2/5/07, Accessed2/8/07. 98Authorunknown,“ResultDeadline–UnofficialBOINCWiki”,http://boinc wiki.ath.cx/index.php?title=Deadline,Modified2/2/06/,Accessed2/9/07. 99Keck_Computers(username,actualnameunknown),“PostsbyKeck_Komputers”, http://einstein.phys.uwm.edu/forum_user_posts.php?userid=2914,Accessed2/9/07. 100V.Pandey,“Folding@HomeNews”,http://folding.stanford.edu/news.html,Modified 1/22/07,Accessed2/9/07. 101V.Pandey,“Folding@HomeconfigurationFAQ”,http://folding.stanford.edu/FAQ settings.html,Modified1/1/07Accessed2/9/07. 102V.Pandey,“FrequentlyAskedQuestions(FAQ)”, http://folding.stanford.edu/faq.html,Accessed2/9/07. 103Authorunknown,“WorkUnits–FaHWiki”,http://fahwiki.net/index.php/WorkUnits, Modified1/24/07,Accessed2/8/07.

155 104GrahamG3ZOD(username,actualnameunknown),“Workunitsizevs.processor”, http://einstein.phys.uwm.edu/forum_thread.php?id=4583,Modified7/25/06,Accessed 2/8/07 105B.Allen,“Einstein@HomeFAQ”,http://einstein.phys.uwm.edu/faq.php,Accessed 2/8/07. 106Wikipedia(authorunknown),“QMC@HomeWikipedia,thefreeencyclopedia”, http://en.wikipedia.org/wiki/QMC%40Home,Accessed2/8/07. 107Authorunknown,“Reportdeadlinetooshort”, http://lhcathome.cern.ch/forum_thread.php?id=1977,Modified1/23/06,Accessed2/8/07. 108Authorunknown,“getwu’swithdeadlinelessthan5days,why??”, http://lhcathome.cern.ch/forum_thread.php?id=1619.Modified8/30/05,Accessed 2/9/07. 109Authorunknown,“grid.orgForums–Viewtopic–README=WorkUnits (WU)”,http://forum.grid.org/phpBB/viewtopic.php?t=8847&highlight=workunit+size, Modified1/14/06,Accessed2/8/07. 110Rosetta@homestaff,“Rosetta@HomeFAQ(workinprogress), http://boinc.bakerlab.org/rosetta/forum_thread.php?id=669,Modified6/10/06,Accessed 10/23/06. 111ClimatePrediction.Netstaff,“ClimatePrediction.Netgateway”, http://climateapps2.oucs.ox.ac.uk/cpdnboinc/quick_faq.php,Accessed2/8/07. 112SIMAPstaff,“BOINCSIMAP::Viewtopic–Wus”, http://boinc.bio.wzw.tum.de/boincsimap/forum/viewtopic.php?t=5,Modified11/29/05, Accessed2/8/07. 113tneural(username,actualnameunknown),“TheRieselSieveProject::ViewTopic –LengthofWU”,http://www.rieselsieve.com/forum/viewtopic.php?t=819,Updated 8/20/06,Accessed2/9/07. 114L.StephensandB.O’Shea,“PerlBOINC::RieselSieve”, http://boinc.rieselsieve.com/?faq,Accessed2/8/07. 115B.(lastnameunknown),“TheRieselSieveProject::Viewtopic–Checkpointing?”, http://www.rieselsieve.com/forum/viewtopic.php?t=1084,Accessed2/9/07.

156 116Viktors(username,actualnameunknown),“WorldCommunityGrid–ViewThread –Runtimesforworkunits–whattoexpect”, http://worldcommunitygrid.org/forums/wcg/viewthread?thread=928,Modified12/10/04, Accessed2/8/07. 117J.Young,“AFirstOrderApproximationtotheOptimumCheckpointInterval”, Communications of the ACM ,vol.17,pp.530531,September1974. 118E.GelenbeandD.Derochette,“PerformanceofRollbackRecoverySystemsunder IntermittentFailures”,Communications of the ACM ,vol.21,pp.493499,June,1978. 119E.Gelenbe,“OntheOptimumCheckpointInterval”, Journal of the Association for Computing Machinery ,vol.26,pp.259270,April1979. 120N.Vaidya,“ImpactofCheckpointLatencyonOverheadRatioofaCheckpointing Scheme”, IEEE Transactions on Computers ,vol.46,pp.942947,August1997. 121J.PlankandM.Thomason,“TheAverageAvailabilityofUniprocessor CheckpointingSystems,Revisited”,Technical Report UT-CS-98-400 ,Departmentof ComputerScience,UniversityofTennessee,August25,1998,[Online]Available: 122“BOINCstats–BOINCStatistic/BAM!–BOINCAccountManager”, http://boincstats.com/,Modified2/3/08,Accessed2/4/08. 123N.Cardwell,S.Savage,andT.Anderson,ModelingTCPLatency, Proceedings of IEEE INFOCOM 2000 ,pp.17421751.,March2000,[Online]Available: http://www.cs.ucsd.edu/~savage/papers/Infocom2000tcp.pdf. 124J.Padhye,V.Firoiu,D.Towsley,andJ.Kurose,“ModelingTCPThroughput:A SimpleModelanditsEmpiricalValidation”, Proceedings of the ACM SIGCOMM ’98 conference on Applications, technologies, architectures, and protocols for computer communication ,pp.303314,August1998,[Online]Available: http://www.sigcomm.org/sigcomm98/tp/paper25.pdf 125J.DaviesandT.Lee, Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference ,2003. 126T.White,“SchedulingrecurringtasksinJavaapplications,” http://www.ibm.com/developerworks/java/library/jschedule.html,Modified11/4/03, Accessed2/12/08.

157