focusedamazonec2
amazonec2 时间:2021-03-26 阅读:(
)
AugmentingComplexProblemSolvingwithHybridComputeUnitsHong-LinhTruong1,HoaKhanhDam2,AdityaGhose2,andSchahramDustdar11DistributedSystemsGroup,ViennaUniversityofTechnology,Austria{truong,dustdar}@dsg.
tuwien.
ac.
at2UniversityofWollongong,Australia{hoa,aditya}@uow.
edu.
auAbstract.
Combiningsoftware-basedandhuman-basedservicesiscrucialforseveralcomplexproblemsthatcannotbesolvedusingsoftware-basedservicesalone.
Inthispaper,wepresentnovelmethodsformodelinganddevelopinghybridcomputeunitsofsoftware-basedandhuman-basedservices.
Wediscusshigh-levelprogrammingelementsfordifferenttypesofsoftware-andhuman-basedserviceunitsandtheirrelationships.
Inparticular,wefocusonnovelprogrammingelementsreectinghybridity,collectivenessandadaptivenessprop-erties,suchaselasticityandsocialconnectiondependencies,andon-demandandpay-per-useeconomicproperties,suchascost,qualityandbenets,forcom-plexproblemsolving.
Basedontheseprogrammingelements,wepresentpro-grammingconstructsandpatternsforbuildingcomplexapplicationsusinghybridservices.
1IntroductionRecently,severalnovelconceptshavebeenintroducedtoexploithumancomputingcapabilitiestogetherwithmachinecomputingcapabilities.
Thiscombinationhasintro-ducedanewformof"computingmodel"thatincludesbothmachine-basedandhuman-based"computers".
Inthisemergingcomputingmodel,machine-basedandhuman-basedcomputingelementsareinterconnectedindifferentways,thusitispossibletosupportdifferentprogrammingmodelsbuiltontopofthem.
Indeed,therearedifferentwaystodevelopapplicationsatopsuchanewcomputingmodel.
Inthecurrentresearchapproaches,human-basedcapabilitiesareusuallyprovi-sionedvia"crowdsourcing"platforms[1]orspecichuman-taskplug-ins[2,3].
Theseapproachesachievehumanandsoftwareintegrationmainlyusing(specic)platformintegration.
Themainprogrammingmodelismostlytheworkowwhichishowevernotexibleenoughforprogrammingdifferenttypesofinteractionsamongmultipletypesofservices.
Intheseapproaches,essentialprogrammingelementsrepresentingsoftware-basedservices(SBS)andhuman-basedservices(HBS)cannotbeprogrammeddirectlyintoapplications.
Furthermore,theseapproachesdonotprovideauniformviewofSBSandHBS,andletthedeveloperperformthecomplextasksofestablishingrelationshipsbetweenSBSandHBS.
Inaddition,althoughSBSandHBScanbeprovisionedusingcloudprovisioningmodels(thustheycanberequestedandinitiatedon-demandunderA.
R.
Lomuscioetal.
(Eds.
):ICSOC2013Workshops,LNCS8377,pp.
95–110,2014.
cSpringerInternationalPublishingSwitzerland201496H.
-L.
Truongetal.
differentquality,costandbenetmodels),thereisalackofmechanismstoprogramexplicitlyquality,cost,andbenetconstraintsforcomplexelasticapplications.
Inthispaper,weviewthe"newcomputingmodel"asacollectionofdiverseandhet-erogeneousSBSandHBSthatcanbeprovisioned(e.
g.
,bycloudcomputingmodels)on-demandunderdifferentcost,benetsandqualitymodels.
Thisviewisverydiffer-entfromhuman-basedworkowsofwhichtasksandowsare(statically)mappedtohumans.
Morespecically,ourmodelconsidershumansasaserviceunit,likesoftwareserviceunits,andtakesintoaccountdiversetypesofrelationshipsamonghuman-basedandsoftware-basedserviceunits,quality,costandbenetproperties.
Ourapproachprovidesconceptsfordevelopingsuchapplicationswherehybridserviceunits,theirre-lationships,andcost,qualityandbenetsarerst-classprogrammingelements.
Hence,ourapproachprovidesahigherlevelofabstractionandaexiblewayforcombininghybridity,collectivenessandadaptivenessofhuman-basedandsoftware-basedservices.
Therestofthispaperisorganizedasfollows:Section2discussesbackground,relatedworkandourapproach.
Section3servestodescribeprogrammingelementscoveringunits,relationshipsandnon-functionalparameters.
InSection4wedescribehigh-levelprogrammingconstructs.
Section5illustratesanexampleofhowourapproachworksinpractice.
WeconcludethepaperandoutlineourfutureworkinSection6.
2BackgroundandRelatedWorkSeveraltypesofSBS,suchasInfrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-Service(SaaS),andData-as-a-Service(DaaS),havebeenavail-ableandwidelyusedinpractice.
AmongthesetypesofSBS,SaaSandIaaSarewellconceptualizedusingservicemodelsandthedevelopercaneasilyprogramandutilizeSBS,theirdataandcontrolows,usingAPIs,suchas,JClouds1,Boto2andOpen-Stack3.
Ontheotherhand,HBShavebeenemergingandseveralworkhavedevotedforvirtualizingHBSandintegratingthemwithSBS.
MostsystemssupportHBSintermsofprovidingspecicplatformsandplug-ins.
CloudAPIsforinterfacingtohumansandon-demandaccessingHBShavebeenproposed[4].
Although,suchexistingworkhas,tosomeextent,yetmatured,thereisanincreasingdemandforapplicationsthatusebothHBSandSBS.
However,existingprogramminglanguagesandtoolsdonotcon-siderandexploitwelltheuseofHBSandSBStogether,inaexible,on-demand,andpay-per-usemanner.
Inthefollowing,wediscussourmainrelatedwork.
Software-BasedServiceUnitsConstructs:Thereexistseveralframeworksforengi-neeringandexecutingcloudapplicationsusingdifferentIaaS,PaaSandSaaS,suchasAneka[5],BOOM[6].
Theyabstractcloudresourcesandsupportdifferentprogram-mingmodels,suchasMapReduceanddataows.
Buttheydonotconsiderhybridser-vicesconsistingofSBSandHBSanddonotprovidehighlevelprogrammingconstructsformodellingtherelationshipsamongHBSandSBS.
MostofthemrelyontraditionalrelationshipsamongSBS,suchascontrolanddatadependencies,modeledinspecicapplicationstructuredescriptions,workowsanddeclarativeprogramminglanguages.
1http://www.
jclouds.
org/2http://docs.
pythonboto.
org/en/latest/index.
html3http://www.
openstack.
org/AugmentingComplexProblemSolvingwithHybridComputeUnits97HumanComputationProgrammingFrameworks:Therehavebeenanincreasingnumberofprogrammingframeworksforhumancomputationintroducedinrecentyears.
Mostofexistingwork(e.
g.
,Crowdforge[1],TurKit[2])considerhumanworkersasbeinghomogeneousandinterchangeable,whichisusefulindevelopingcrowdsourc-ingsolutionswherescalabilityandavailabilityarethemainissues.
Suchframeworks,however,providelimitednotionofidentity,humanskills,andsocialrelationshipswhichareimportantindevelopinganecosystemofconnected,heterogeneouspeopleandsoft-ware.
TherecentJabberwockyframework[7]hasaddressedthisissuetosomeextentbyprovidingaprogrammingenvironmentforbothhumanandmachinecomputation.
Jab-berwockyalsoallowstheprogrammertospecifytypesofpeoplebasedonpersonalpropertiesandexpertiseandroutetasksbasedonsocialstructure.
However,Jabber-wockydoesnotallowtoexplicitlymodeltherelationshipsbetweenpeopleandma-chines.
General-purposeprogramminglanguagesforhumancomputation,suchasCrowdLang[8],donotrelyonservicemodelsanddonotconsiderquality,cost,bene-tsandelasticityasrst-classentitiesinprogrammingandconstructinghybridcomputeunits.
High-LevelConstructsforHybridComputeUnits:UsingseverallowlevelAPIsforaccessingSBS,likeJClouds,Boto,andOpenStack,thedevelopercandeneSBSob-jectsandestablishdataandcontrolows.
Ourpreviouswork(e.
g.
,[4])hasfocusedonprovidingwell-denedAPIsforprovisioningHBS.
However,thereisalackofsupportforprogrammingdifferenttypesofrelationshipsamongSBSandHBS.
Thedeveloperhastodothisonhis/herown.
Asaresult,he/shewouldnditdifculttocodesuchrelationshipsduetothelackofwell-denedprogrammingelements,inparticularthoserelatedtocost,benet,qualityconstraintsandtomixedcompositionsofSBSandHBS.
Theuseofgeneric"buildingblocks"abstractingpatternsandprovidingthemviaAPIstosimplifythedevelopertaskiswell-knowninSBSinclouds[9].
However,nohigh-levelprogramconstructsandcodegenerationhavebeenproposedforHBSandSBSincloudenvironments.
ComparedwithexistingworkwearefocusingoncombiningHBSandSBSforhybridcomputeunitsusingservicecomputingandcloudcomputingmodels.
Ourap-proachsupportsuniedframeworkforhumanandsoftware,andprovidehigh-levelprogrammingconstructsfordifferenttypesofservices,relationships,andcost,quality,andbenetsmodels.
3FundamentalElementsforHybridComputeUnits3.
1Service-BasedComputeUnitsInourmodel,atthecoreofSBSandHBSthereare"processingunits",realizedviaeithermachineCPUs/coresorhumanbrains.
Toprogramanapplication,thedevelopercanexploitanSBSorHBSviaanabstractserviceunit.
Therefore,anapplicationdevel-opedinourframeworkisabstractlyviewedasconsistingofanumberofservice-basedcomputeunits(seeFigure1)andtheirinteractions.
AUnitcanperformanumberfunc-tions(e.
g.
,detectingapatterninorenrichingthequalityofanimage)withinputandoutputdata.
Aunitalsohasanumberofcost,benet,andqualityproperties(seeSec-tion3.
3formoredetails).
AunitcanbeeitheraSBS(Software-BasedService)orHBS98H.
-L.
Truongetal.
(Human-BasedService).
WefurtherdivideHBSintoICU(IndividualComputeUnit–representingaserviceofferedbyanindividual)andSCU(SocialComputeUnit–representingaserviceofferedbyateam).
BothHBSandSBSunitscanpotentiallysup-portelasticityintermsofcapability(resource),costandquality[10].
Forexample,aSBSfordataanalyticscanincreaseitscostwhenbeingaskedtoprovidehigheranalysisaccuracyoraSCUcanreduceitssizeandthecostwhenbeingaskedtoreducethequal-ityoftheresult.
Tosupportsolvingcomplexproblemswithelasticserviceunits,wemodelelasticitycapability(ElasticityCapability)andassociateitwithUnit.
Fig.
1.
AconceptualmodelforelementsinprogramminghybridcomputeunitsASBSunitcanbeinnumberofknownsoftwareformsofferedincloudcomputingmodels,suchasIaaS(e.
g.
,AmazonEC),DaaS(e.
g.
,MicrosoftAzureDataMarket-place),PaaS(e.
g.
,GoogleAppEngine)orSaaS(e.
g.
,Salesforce.
com).
AlthoughmanyongoingworkisstillbeingdevelopedforSBS,SBSarealreadyextensivelyexploredintermsofservicemanagement,capabilities,andfunctionmodeling.
Therefore,werelyonexistingcommonmodelsforrepresentingSBS.
ForHBS,theircomputingcapabilityisspeciedintermsofhumanskillsandskilllevels.
Therefore,inourmodelaHBSunithasasetofSkills,eachofwhichisasso-ciatedwithaskilllevel.
Thoseskillsandskilllevelscanbedenedconsistentlywithinaparticularserviceprovisioningplatform(usingevaluationtechniques,benchmarking,ormappingskillsfromdifferentsourcesintoacommonviewforthewholeplatform).
Therefore,weassociateeachHBSwithaHumanPowerUnit(HPU)[4],avaluedenedbytheHBSprovisioningplatformtodescribethecomputingpoweroftheHBSbasedonitsskillsandskilllevels,whicharealwaysassociatedwithspecicArchetypesindicatingthedomaininwhichtheskillsareestablished.
AugmentingComplexProblemSolvingwithHybridComputeUnits99BycombiningasetofHBSandSBS,weintroducehybridcomputeunits(HCUs).
AHCUisacollective,hybridservice-basedunitsamongwhichthereexistdifferenttypesofrelationships,coveringhuman-specic,software-specic,aswellashuman-softwarespecicones.
AHCU,asacollectiveunit,canbeelastic:itcanbeexpandedandreducedbasedonspecicconditions.
3.
2RelationshipsbetweenServiceUnitsUsingcloudcomputingprovisioningmodelsinwhichSBSandHBSareabstractlyrepresentedunderthesameserviceunitmodelwithpay-per-useandon-demandser-viceusage,arangeofprogrammingelementsreectingrelationshipsamongdifferenttypesofserviceunitsareimportantandusefulinbuildingcomplexapplications.
Table1describesdifferenttypesofrelationshipsbetweenserviceunitsthatweconsiderasimportantprogrammingelements,eachofwhichappliestoHBS,SBSorHCU.
Table1.
DifferenttypesofrelationshipsbetweenservicesRelationshipTypeHBSSBSHCUDescriptionSimilarityYesYesYesThistraditionaltypeofrelationshipindicateshowsimilaraserviceistoanother.
Inprinciple,similaritycanbemea-suredintermsoffunctions,non-functionalparametersandsocialcontexts.
CompositionYesYesYesThiswell-knowntypeofservicerelationshipsindicatesthataserviceiscomposedofseveralotherservices.
Datadepen-dencyYesYesYesAservicedependsonanotherserviceiftheformerrequiresthelatterforprovidingacertaindataforoneofitsfunc-tions.
Controldepen-dencyYesYesYesAservicedependsonanotherserviceiftheoutcomeoflat-terdetermineswhetherformershouldbeexecutedornot.
LocationdependencyYesYesYesThelocationsoftwoserviceunitsaredependent,e.
g.
,co-locatedinthesamedatacenterorcountryForwardingYesYesYesThisisaformofbrokering/outsourcinginwhichataskisforwardedformoneservicetoanother.
DelegationYesYesYesThisisaformofbrokering/outsourcinginwhichaservicedelegatesatasktoanotherservice.
SocialrelationYesNoYesThisrelationshipdescribesdifferenttypesofsocialrela-tions(e.
g.
familyorLinkedinconnection)betweentwoser-vices.
ElasticityYesYesYesThisrelationshipdescribeshowaserviceunitisformedbyelasticizinganotherserviceunit,e.
g.
viaresizing,replac-ingor(de)composingelementsofthelatertooffersimilarfunctionsbutdifferentcost,benetandqualityatruntime.
Similarity.
Giventhatcertaintaskscanbeconductedbysoftwareorhuman,develop-erswillneedtocompareHBSandSBSinordertoselectsuitableonesforthetasks.
WeextendtraditionalsimilarityamongSBSforHBS(e.
g.
,simulationresultanalysiscanbe100H.
-L.
Truongetal.
providedbytwodifferentresearchteamswhicharesimilarintermsofarchetypeand/orcost)orbetweenHBSandSBS(e.
g.
,specicimagepatternscanbedetectedbyscien-tistsorimageprocessingsoftware).
Fromtheprogrammingperspective,similaritycanbespeciedinapplicationsintermsofcostandquality(forallunittypes),archetype(betweenHBSunits),capability(betweenSBSunits)andfunction(betweenHBSandSBSunits).
Composition.
ComposingHBSandSBSunitsforcomplextasksarepossible.
There-fore,weextendtraditionalcompositionrelationshipstocoveralsocompositesofhybridservices,suchasdescribinghowICUcanbecomposedwithSBStoestablishhuman-basedlter.
Compositioncanbeindifferentformssuchasdataorcontroldecomposi-tion,andcanbestructuredindifferentways(e.
g.
,starvs.
ringstructure).
Dependency.
Wesupporttheclassicalviewofdependencybetweenservicesintermsofdata(aservicerequiresdataprovidedbyanotherservice)andcontrol(aservicerequiresansuccessfulcompletionofanotherservice).
DataandcontroldependenciescanbeprogrammedforanytypesofSBSandHBS.
Inparticular,dataexchangebetweentwounitscanbeconductedviaotherserviceunits(e.
g.
,twoHBScanexchangedataviaDropbox–aSBS).
Furthermore,weconsiderlocationdependencywhichiscrucialincloudsduetonotonlyperformancebutalsocompliancerequirements.
Developerscanusethelocationdependencytocontroltheco-locationofservices.
Brokering.
Weconsiderbrokeringrelationshipsforworkdistributionamongserviceunits.
Twotypesofbrokeringrelationshipsareconsidered:delegation(aservicemanip-ulatesarequest/responseanddelegatestherequest/responseto/fromanotherservices)andforwarding(aservicejustforwardsrequest/resultto/fromanotherservice).
Withhybridservices,suchrelationshipscanalsobeestablishedbetweenaSBSandaHBS,e.
g.
,aSBScandecidewhereaSBSoranHBSwillbeusedforevaluatingthequalityofdatabasedonthetypeofthedata.
SocialRelation.
WhenusingHBSforcertaintasksincomplexapplications,wemayrequirespecicsocialrelationsamongHBSsolvingthetasks,forexample,twoscien-tistswhohaveconductedajointresearchbefore.
Tosupportthis,socialrelationsareconsideredasprogrammingelements.
Elasticity.
Thisemergingrelationshipisduetotheelasticitycapabilityofservicesatruntime[10].
Totheconsumer,elasticitymeansthattheexpectedservicefunctionisunchangedbutthecost,benetsand/orqualitycanbescaledup/downatruntime.
Totheserviceprovider,toenabletheelasticityofcosts,benets,and/orquality,atruntimeserviceunitscanbereplacedbydifferentvariantsorsimilarunitsor(re)composedbyadding/removingappropriateunits,ornewcompositionsareintroduced.
3.
3Quality,Cost,andBenetsSBSandHBShavecommonanddistinguishablequality,costandbenetproperties.
Inordertoallowprogrammerstospecifytheseproperties,wesupportthefollowingprogrammingelements:AugmentingComplexProblemSolvingwithHybridComputeUnits101–Quality:representscommonqualitymetricsandmodelsforprocessingunitsanddata.
QualitycanbefurtherclassiedintoPerformanceforprocessingcapa-bilitiesofserviceunitsandQoD(qualityofdata)forinput/outputofserviceunits.
PerformanceandQoDcanhaveseveralothersubentities,suchasResponse-Time,Availability,Accuracy,andCompleteness.
–Cost:representsmonetarypricingmodels,suchaschargingorrewardingmodels.
–Benets:representsnon-monetarybenets.
Itisclassiedintodifferententities,suchasReturn-on-OpportunityorPromotion.
Weconsiderthesepropertiesasrst-classprogrammingelementssinceserviceunitsareconstrainedbyvarioustypesofcost,benetandqualitymodelsandtheserviceproviderwantstoprogramherSBS/HBS/HCUtobeabletoscalein/outwithexpectedqualityunderdesirablecostandbenetatruntime.
Forexample,inasituationwithsev-eralreal-timeeventssignalinganemergencysituation,anHCUmightbeprogrammedtoreducetheaccuracyofanalyticsinordertomeettheresponsetimetoquicklyreacttothesituation.
Ontheotherhand,innon-criticalsituationsitcouldbeprogrammedtoutilizemore(cheap)HBStominimizethecost,maximizetheaccuracy,butacceptanincreasingresponsetimeasatrade-off.
Therefore,treatingthesepropertiesasrst-classprogram-mingelementswillallowthedevelopertoexplicitlyspecify,control,andenforceelasticconstraints.
4High-LevelConstructsforHybridComputeUnitsFromourproposedfundamentalelements,inordertoassistthedevelopmentofcomplexapplications,wedevelopanumberofhigh-levelconstructsforserviceunitsandtherelationshipsbetweenthemthathelpestablishinteractionsamongunitsinahybridcomputeunit.
ThoseconstructscorrespondtotheconceptualmodelelementspresentedinFigure1.
ConstructsforserviceunitshaveasetofAPIsthatcanbecalledupontheunits.
Constructsforarelationshiphaveasetof(usage)patternsthatcanbeusedtoestablishtherelationship.
Constructsforcost,qualityandbenetsalsohaveasetofAPIsforspecifyingexpectedcosts,qualityandbenets.
Usinghigh-levelprogrammingconstructsthedevelopercanfocusonthelogicofthehybridcomputeunit,insteadofdealingwithimplementation-specicdetailsofserviceunitsandcomplexalgorithmsforestablishingrelationshipsamongunits.
Table2presentsmainprogrammingconstructsforrelationships,eachofwhichisabstractlyrepresentedasafunctionwhichtakesanumberofarguments.
Therearetwotypesoffunctions:onethattakesgroundedvariables(denotedascapitalletters)asar-guments,andonethattakesfreevariable(denotedaslowercaseletters)asarguments.
Thelatterisdenotedwiththesymbol""inthefunctionname.
Inthefollowing,weexplainsomepossiblealgorithmicpatternsforhigh-levelconstructsforrelationships:Similarity.
Theconstructsimilarity(U,V,criteria)representsasimilarityrelation-shipbetweenunitsUandVwithregardtoagivencriteria(namely"Cost","Quality",102H.
-L.
Truongetal.
Table2.
High-levelconstructsforrelationshipsinhybridcomputeunitsConstructDescriptionsimilarity(U,V,criteria)trueifUissimilartoVw.
r.
t.
criteriadatadependency(U,D,[M,]V)UproducingdataDwhichisneededbyV.
TheoptionalmediumisthelocationassociatedwithaDaaS(e.
g.
,aDropboxURL)wherethedatawillbeplacedandshared.
controldependency(U,V)declaresthatVshouldexecuteonlyafterUnishes.
locationdependency(U,V,ctx,path)declaresthatUandVshouldbelinkedinagivenlocationcontext(e.
g.
,countryordatacenter)withapathinthatcontext(e.
g.
,cityorserverrack)composition(structure,type,U1,U2,Un)constructacompositionofU1,U2,.
.
.
,Unforagivenstruc-turemodelandtypeforward(U,t,V)UforwardstaskttoV.
delegate(U,t,V)UdelegatestaskttoV.
socialrelation(U,V,ctx,path)returnsadistancerelationbetweenUandVinagivensocialcontext.
elasticity(U,[Func,]NFPs,x)xisanewformofUorxprovidesfunctionFunctosat-isfygivencost/quality/benetmodelsspeciedinNFPs.
"Archetype",or"Function").
Avariantofthisconstructissimilarity(U,x,criteria)whichreturnsasetofunitssimilartoUwithregardtoagivencriteriaandstoretheminafreevariablex.
Pseudoalgorithmicforthisconstructusagesisshownbelow.
if(criteria=="Cost")returnsimCost(U,V);elseif(criteria=="Quality")returnsimQuality(U,V);elseif(criteria=="Archetype"&&U.
type==HBS&&V.
type==HBS)return(U.
Archetype==V.
Archetype);elseif(criteria=="Function")returnU.
Function==V.
Function;returnfalse;DataDependency.
Theconstructdatadependency(U,D,M,V)statesthatVde-pendsonUfordataDandmediumMwherethedataisstored.
Variantsofthisconstructincludedatadependency(x,D,M,V)(ndunitxwhichprovidesdataDneededbyunitV),datadependency(U,D,M,x)(ndunitxwhichneedsdataD),anddatadependency(U,D,x[c],V)(ndamediumxthatcanbeusedtoshareDbetweenUandVsatisfyingagivenconstraintc).
Pseudoalgorithmiccodefordatadependencyconstructsareshowninthefollowing:datadependency(U,D,M,V){UnitstorageUnit=M;if(M==null)storageUnit=getDedaultMedium()requestUstoresDintostorageUnit//gettheURIindicatingthelocationofthedataURIuri=storageUnit.
getURI(D)requestVaccessDfromuri}AugmentingComplexProblemSolvingwithHybridComputeUnits103LocationDependency.
Theconstructlocationdependency(U,V,ctx,path)estab-lishesalocationdependencybetweenUandVbasedonaspeciccontextctxandaspecicpathincxt.
Herectxcanrepresenthuman-speciclocationcontext,suchasthecloudplatformprovidingHBS(e.
g.
,basedonAmazonMechanicalTurk)orthecountry,orclouddatacenterlocationshostingSBS(e.
g.
,AmazonEC2EUsite).
Thepathcanindicatefurtherdependenciesinctx,suchasthesamecityorthesameserverrackinadatacenter.
Brokering.
Delegationandforwardingrelationsaresimplyrepresentedbydelegate(U,task,V)andforward(U,task,V)wheretaskisagiventaskthatneedstobedelegatedorforwarded.
Avariantofthedelegationconstructisdelegate(U,task,x)whichndsaappropriateunitxthatUcandelegatetasktto.
Pseudocodegeneratedfordelegate(U,task,x)aregivenasfollows:foru:listUnit()forf:u.
listFunction()if((f.
input==task.
in)&&f.
output==task.
out){u.
execute(task);U.
waitUntil(task.
finished==true);U.
addInput(task.
out);return;}SocialRelations.
Theconstructsocialrelation(U,V,ctx,path)returnsadistancebetweenUandV(HBSonly)viasocialrelationsinagivensocialcontext,denotedby(cxt,path).
ItcanalsobeusedtoestablishasocialrelationconstraintbetweenUandV.
Thecontextctxisasocialnetwork(e.
g.
,Linkedin)andpathisaspecicgroupinthatnetwork(e.
g.
,datascientist).
Anegativedistance(e.
g.
,-1)indicatesthatthereisnosocialrelationfoundbetweenUandV,whilstavalueof0indicatesthattheybelongstothesamegivensocialgroup(e.
g.
,indatasciencegrouponLinkedin).
Ontheotherhand,apositivevalueindicatesthattheyarerelatedviasomethirdpartieswhoaredirectlyrelatedwiththem,e.
g.
,AisaLinkedincolleagueofB,Bisacol-leagueofC,thenthedistancebetweenAandCis1.
InordertondaHBSthatissociallyrelatedtoagivenHBSwithinaspecieddistance,onecanusetheconstructsocialrelation(U,x,distance,ctx,path).
Thepseudoalgorithmiccodeforsocialrelation(U,x,distance,ctx,path)constructisasfollows:socialrelation(U,x,distance,ctx,path){forhbs:listHBS()//getthesubgraphofthesocialnetworkwithinacontextGraphsocialNet=getSocialNetwork(ctx);//findthedistanceintd=social.
findDistance(U,hbs,path);ifd0.
9){preProcessedData=preprocessingUnit.
execute("preprocessing",params);}SpecifyingLocationDependency.
LetsolverUnitbethesolverSBSunit.
ThefollowingcodeexcerptshowshowtomakesurethatthepreprocessingUnitandsolvingUnitshouldbecolocatedinthesamedatacenterinordertominimizethedatatransferamongthem://createanewsoftwareunitforsimulationsolversSBSsolverUnit=newSBS("solver");//makesurethesolverunitandthepreprocessingunitareinthesamedatacenterRelationship.
locationDependency(preprocessingUnit,solverUnit,"AmazonEC2:Europe");ArrayListparams1=newArrayList();params1.
add(preProcessedData);//executesolverunitwithinputdatafrompreprocessingunitObjectsolverResult=solverUnit.
execute("solving",params1);ProgrammingElasticityandCollectivenessinSolvingSteps.
Usingdifferentcon-structs,theprogrammercaninvokedifferenttypesofunitstodealwithdifferentsitua-tions.
ThefollowingcodeexcerptshowsexamplesofusingICUtocheckwhythedataisbadortondsolversthatcanhandledirtydataaslongastheymeetcostandqualityrequirements:AugmentingComplexProblemSolvingwithHybridComputeUnits107DoubleqodPreProcessedData=(Double)qodEvalUnit.
execute("qodEvaluate",params1);//getanICUtocheckwhydataisbadif(qodPreProcessedDatascuDropbox=null;DropboxAPI.
DropboxLinklink=scuDropbox.
share("/hbscloud");//askthecloudofHBStoinvoketheICUVieCOMHBSvieCOMHBS=newVieCOMHBSImpl();vieCOMHBS.
startHBS(dataScientist);HBSMessagemsg=newHBSMessage();msg.
setMsg("pls.
useshareddropboxforcommunication"+link.
url);vieCOMHBS.
sendMessageToHBS(dataScientist,msg);}elseif(qodPreProcessedData<0.
7){//inthiscase,wejustneedasoftwaretocleanthedataSBSdataCleansing=newSBS("datacleaner");}elseif(qodPreProcessedData<0.
9){//specifysomestaticpropertiesofthesolverSBSsolverUnit2=newSBS("solver");solverUnit2.
capabilities.
put("DIRTY_DATA",Boolean.
valueOf(true));//specifyexpectedcostandaccuracysupportCostModelcostModel=newCostModel();costModel.
price=100;//maxinEURcostModel.
usageTime=10006060;//1hourQualityquality=newQuality();quality.
name=Quality.
ACCURACY;quality.
value=0.
95;//minimumvalueArrayListnfps=newArrayList();nfps.
add(quality);nfps.
add(costModel);//findsolversmetqualityandcostneedsSBSelasticSolverUnit=(SBS)Relationship.
elasticity(solverUnit2,nfps);ObjectsolverResult2=elasticSolverUnit.
execute("solving",params1);}else{}ForwardingandDelegatingAnalysisRequest.
Afterpost-processing,indataanalysis,ananalystcancaptureanunknownpatternwhichhe/shecanforwardtohis/herresearchconnectors,whohaveasocialrelationtohim/herinLinkedin.
108H.
-L.
Truongetal.
Aprofessormayreceivethispatternandhe/shedelegatestheanalysistaskstohis/herSCU,asetofgraduatestudents.
Thefollowingcodeexcerptshowstheabove-mentionedillustrativetasks:ICUdataScientist=newICU();ICUfUnit=newICU();Relationship.
socialrelation(dataScientist,fUnit,1,"Linkedin:DataScienceGroup/TUWien");Relationship.
forward(data,fUnit);SCUstudentSCU=newSCU();//.
.
Relationship.
delegate(data,studentSCU);5.
3ComparisonofProgrammingModelsforCloudApplicationsWealsoconductacomparisonofourapproachwithotherprominentprogrammingframeworksforcloudapplications.
Thesetoffeaturesthatareconsideredinthiscom-parisonis:–Proactivehumanservice:supportforproactivelyinvokinghuman-basedserviceunitsthroughhuman'scapabilitiesareutilized.
–Elasticity:supportforadaptingservicesagainstchangingnon-functionalparame-ters.
–Teaminteraction/collaborativepatterns:supportforinteractionsand/orcollabora-tionpatternsamongdifferentservicestoestablishteamwork.
–Socialstructure/relations:supporttorequestservicesbasedonsocialstructureand/orrelations.
–Uniedframeworkforhumanandsoftware:allowthedevelopertonaturallypro-gramsoftwareservicesandhuman-basedservicesinsimilarways.
–Cross-platform:workwithanycloudplatformthathooksintotheframeworkandandcansupportexecutionacrossseveralplatformsinthesameprogram.
ProgrammingFeatureCrowdforgeTurKitJabberwockyJCloudsOpenStackVieCOMProactivehumanserviceNNYNNYExplicitcost/benets/qualityNNNNNYElasticityNNNNNYTeaminteraction/collabora-tivepatternsNNNNNYSocialstructure/relationsNNYNNYUniedframeworkforhu-manandsoftwareNNYNNYCross-platformNNYYYYFig.
4.
ComparisonofdifferentprogrammingmodelsforcloudapplicationsAugmentingComplexProblemSolvingwithHybridComputeUnits109Figure4describesourcomparison.
Itisnotastrangeresultthat,conceptually,ourapproach(VieCOM)supportsseveralfeatures,inparticular,coveringbothSBSandHBS.
ThemainreasonisthatcurrentlyexistingframeworksfocuseitheronSBSorHBS.
WhileJabberwockyalsosupportsSBSandHBS,itdoesnotsupportprogrammingelementsfordeningcosts,benetsandqualityaswellaselasticityrelations.
6ConclusionsandFutureWorkEmergingpay-per-usemodels,on-demandserviceacquisition,andadvancedhuman-machineintegrationtechniquesenabletheprovisioningofhumanandmachinecapabil-itiesunderthesameservicemodeltosupportthedevelopmentofcomplexapplications.
Inthispaper,weinvestigatehighlevelprogrammingsupportsforsolvingcomplexprob-lemsusingsoftware-basedandhuman-basedcomputeunits.
Wehavepresentedarangeofpossiblefundamentalprogrammingelementsabstractingsoftwareandpeopleandseveralpossiblehigh-levelconstructs.
Asthepapermainlydiscussesabouthigh-levelmodelsandconstructs,ourvalidationislimitedtoillustratingexamplesandcompar-isons.
Webelievethatprogrammingelementsandhigh-levelprogrammingconstructspresentedinthispapercanbefoundationsforthedevelopmentofdomain-speciclan-guagesandsoftwareengineeringprocessesforhybridcomputeunits.
Ourfutureworkinvolvesfurtherdevelopingourprototypeandtoolingsupportfortheproposedhigh-levelprogrammingconstructs.
Acknowledgment.
TheworkmentionedinthispaperispartiallysupportedbytheEUFP7SmartSociety.
References1.
Kittur,A.
,Smus,B.
,Khamkar,S.
,Kraut,R.
E.
:CrowdForge:crowdsourcingcomplexwork.
In:Proceedingsofthe24thAnnualACMSymposiumonUserInterfaceSoftwareandTech-nology,UIST2011,pp.
43–52.
ACM,NewYork(2011)2.
Little,G.
,Chilton,L.
B.
,Goldman,M.
,Miller,R.
C.
:Turkit:toolsforiterativetasksonme-chanicalturk.
In:ProceedingsoftheACMSIGKDDWorkshoponHumanComputation,HCOMP2009,pp.
29–30.
ACM,NewYork(2009)3.
Marcus,A.
,Wu,E.
,Karger,D.
,Madden,S.
,Miller,R.
:Human-poweredsortsandjoins.
Proc.
VLDBEndow.
5,13–24(2011)4.
Truong,H.
-L.
,Dustdar,S.
,Bhattacharya,K.
:Programminghybridservicesinthecloud.
In:Liu,C.
,Ludwig,H.
,Toumani,F.
,Yu,Q.
(eds.
)ICSOC2012.
LNCS,vol.
7636,pp.
96–110.
Springer,Heidelberg(2012)5.
Calheiros,R.
N.
,Vecchiola,C.
,Karunamoorthy,D.
,Buyya,R.
:TheAnekaplatformandqos-drivenresourceprovisioningforelasticapplicationsonhybridclouds.
FutureGenerationComp.
Syst.
28(6),861–870(2012)6.
Alvaro,P.
,Marczak,W.
R.
,Conway,N.
,Hellerstein,J.
M.
,Maier,D.
,Sears,R.
:DEDALUS:Datalogintimeandspace.
In:deMoor,O.
,Gottlob,G.
,Furche,T.
,Sellers,A.
(eds.
)Datalog2010.
LNCS,vol.
6702,pp.
262–281.
Springer,Heidelberg(2011)7.
Ahmad,S.
,Battle,A.
,Malkani,Z.
,Kamvar,S.
:Thejabberwockyprogrammingenvironmentforstructuredsocialcomputing.
In:Proceedingsofthe24thAnnualACMSymposiumonUserInterfaceSoftwareandTechnology,UIST2011,pp.
53–64.
ACM,NewYork(2011)110H.
-L.
Truongetal.
8.
Minder,P.
,Bernstein,A.
:crowdLang:Aprogramminglanguageforthesystematicexplo-rationofhumancomputationsystems.
In:Aberer,K.
,Flache,A.
,Jager,W.
,Liu,L.
,Tang,J.
,Gueret,C.
(eds.
)SocInfo2012.
LNCS,vol.
7710,pp.
124–137.
Springer,Heidelberg(2012)9.
Fehling,C.
,Leymann,F.
,Ruetschlin,J.
,Schumm,D.
:Pattern-baseddevelopmentandman-agementofcloudapplications.
FutureInternet4(1),110–141(2012)10.
Dustdar,S.
,Guo,Y.
,Satzger,B.
,Truong,H.
L.
:Principlesofelasticprocesses.
IEEEInternetComputing15(5),66–71(2011)11.
Reiter,M.
,Breitenb¨ucher,U.
,Dustdar,S.
,Karastoyanova,D.
,Leymann,F.
,Truong,H.
L.
:Anovelframeworkformonitoringandanalyzingqualityofdatainsimulationworkows.
In:eScience,pp.
105–112.
IEEEComputerSociety(2011)
活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...
digital-vm怎么样?digital-vm在今年1月份就新增了日本、新加坡独立服务器业务,但是不知为何,期间终止了销售日本服务器和新加坡服务器,今天无意中在webhostingtalk论坛看到Digital-VM在发日本和新加坡独立服务器销售信息。服务器硬件是 Supermicro、采用最新一代 Intel CPU、DDR4 RAM 和 Enterprise Samsung SSD内存,默认...
目前云服务器市场竞争是相当的大的,比如我们在年中活动中看到各大服务商都找准这个噱头的活动发布各种活动,有的甚至就是平时的活动价格,只是换一个说法而已。可见这个行业确实竞争很大,当然我们也可以看到很多主机商几个月就消失,也有看到很多个人商家捣鼓几个品牌然后忽悠一圈跑路的。当然,个人建议在选择服务商的时候尽量选择老牌商家,这样性能更为稳定一些。近期可能会准备重新整理Vultr商家的一些信息和教程。以前...
amazonec2为你推荐
工信部约谈电信工信部投诉电信 电信会被罚款吗futureshop加拿大Boxing day, 一般商场几点开门? 什么类的商品打折?打折力度怎样呢? 请逐条h连锁酒店连锁酒店有哪些西部妈妈网我爸妈在云南做非法集资了,钱肯定交了很多,我不恨她们。他们叫我明天去看,让我用心的看,,说是什么...陈嘉垣电视剧《反黑》里面,雷太太女儿扮演者是谁?月神谭求古典武侠类的变身小说~!百度关键词工具百度有关键字分析工具吗?Google AdWords有的长尾关键词挖掘工具大家是怎么挖掘长尾关键词的?同一服务器网站同一服务器上的域名/网址无法访问www.gegeshe.comSHE个人资料
vps服务器 什么是域名解析 主机优惠码 warez winscp dreamhost idc评测网 个人免费空间 权嘉云 dux 165邮箱 南通服务器 免费测手机号 中国电信网络测速 主机管理系统 国外在线代理服务器 帽子云排名 测速电信 可外链的相册 北京主机托管 更多