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)

无忧云:洛阳BGP云服务器低至38.4元/月起;雅安高防云服务器/高防物理机优惠

无忧云怎么样?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。一、无忧云官网点击此处进入无忧云官方网站二...

这几个Vultr VPS主机商家的优点造就商家的用户驱动力

目前云服务器市场竞争是相当的大的,比如我们在年中活动中看到各大服务商都找准这个噱头的活动发布各种活动,有的甚至就是平时的活动价格,只是换一个说法而已。可见这个行业确实竞争很大,当然我们也可以看到很多主机商几个月就消失,也有看到很多个人商家捣鼓几个品牌然后忽悠一圈跑路的。当然,个人建议在选择服务商的时候尽量选择老牌商家,这样性能更为稳定一些。近期可能会准备重新整理Vultr商家的一些信息和教程。以前...

PQS彼得巧 年中低至38折提供台湾彰化HiNet线路VPS主机 200M带宽

在六月初的时候有介绍过一次来自中国台湾的PQS彼得巧商家(在这里)。商家的特点是有提供台湾彰化HiNet线路VPS主机,起步带宽200M,从带宽速率看是不错的,不过价格也比较贵原价需要300多一个月,是不是很贵?当然懂的人可能会有需要。这次年中促销期间,商家也有提供一定的优惠。比如月付七折,年付达到38折,不过年付价格确实总价格比较高的。第一、商家优惠活动年付三八折优惠:PQS2021-618-C...

amazonec2为你推荐
易烊千玺弟弟创魔方世界纪录易烊千玺带弟弟参加的那个节目是什么嘉兴商标注册嘉兴那里有设计商标的7788k.comwww.k6320.com 大家给我看看这网站是真是假...www.jjwxc.net在哪个网站看小说?陈嘉垣电视剧《反黑》里面,雷太太女儿扮演者是谁?百度关键词工具百度有关键字分析工具吗?Google AdWords有的郭泊雄郭佰雄最后一次出现是什么时候?www.gegeshe.comSHE个人资料m.kan84.net那里有免费的电影看?dpscycleDPScycle插件为什么没有猎人模块 最好详细点
抗投诉vps主机 域名服务dns的主要功能为 免费域名申请 域名备案只选云聚达 sugarhosts 阿里云os 新世界机房 virpus typecho 丹弗 阿里云浏览器 新天域互联 工作站服务器 最好的免费空间 服务器干什么用的 上海联通宽带测速 服务器硬件防火墙 shuang12 东莞服务器托管 hdchina 更多