OPERETTA:AnOptimalEnergyEfficient BandwidthAggregationSystem KarimHabak†,KhaledA.Harras‡,andMoustafaYoussef† †Egypt-JapanUniversityofSc.andTech.(E-JUST) ‡CarnegieMellonUniversityinQatar IEEESECON‘12 Agenda • • • • • • Motivation OPERETTAArchitecture OptimalScheduling Implementation Evaluation ConclusionandFutureWork Motivation Motivation Exponentialincreasein mobiledatademand • • FCCNationalbroadbandPlan • 500MHzofadditionalspectrum • Technicalandbusinessinnovationsthatincreaseefficiencyof spectrumutilization Motivation • • Exponentialincreasein mobiledatademand Theproliferationofmulti-homed ormulti-interfaceenableddevices SocketAPI Motivation • • • Exponentialincreasein mobiledatademand Theproliferationofmulti-homed ormulti-interfaceenableddevices CurrentOSsallowsyou touseonlyoneinterface evenifmorethanone isconnectedtotheInternet SocketAPI Motivation • • • • Exponentialincreasein mobiledatademand Theproliferationofmulti-homed ormulti-interfaceenableddevices CurrentOSsallowsyou touseonlyoneinterface evenifmorethanone Batteryoperateddevices’ isconnectedtotheInternet usersmaypreferincreasing Energyawareness thebatterylifetimemore thanthroughput Motivation Motivation • Currentsolutionsfaceasteepdeployment barrier – Updatingservers,application,clientskerneland infrastructure • Currentsolutionsfocusonlyinmaximizingthe throughput Agenda • • • • • • Motivation OPERETTAArchitecture OptimalScheduling Implementation Evaluation ConclusionandFutureWork DesignGoals • Goal1:Deployability • Goal2:Adaptabilitytosystem’s ACE parameters Scheduler • Goal3:Energyawareness ICE • Goal4:Optimality • Goal5:Capturetheuser preferences • Goal6:Minimizetheuserinvolvement OPERETTAArchitecture SchedulingGranularity Connectionlevelscheduling Packetlevelscheduling Doesnotrequireanyserverorinfrastructure Requiresupdatingthelegacyserverand/or updates thenetworkinfrastructure Utilizetheavailableinterfaceswhilehaving multipleconcurrentconnections Utilizetheavailableinterfacesevenifonly singleconnectionisrunningonthesystem Achieveshighperformancegainsbutnot optimal Canreachtheoptimalperformance OPERETTAArchitecture • Application Characteristics Estimator – Qualitative measurements – Quantitative measurements OPERETTAArchitecture • Interface Characteristics Estimator – Estimatesthe availablebandwidth andenergy consumptionratesat eachinterface – Usesdestination basedestimatesin caseofOPERETTAenabledservers OPERETTAArchitecture • BatterySensor – Sensestheavailable batterylevelinthe device OPERETTAArchitecture • UserInterface Module – Obtainsuser’s preferencesand interfaceusage policies – Example • Selectingscheduling policies • Assigningcertain Applicationsto certaininterfaces OPERETTAArchitecture • Modedetection module – Abackground processlisteningon specificport – Specifieswhether theserveris OPERETTA-enabled ornot OPERETTAArchitecture • Scheduler – Schedulesthe packetsand/orthe connectionsonthe differentnetwork interfaces OPERETTAArchitecture • ReceivedData ReorderingModule – Usedonlyinpacket orientedmode – Reorderthepackets beforegivingthem totheapplication Agenda • • • • • • MotivationandBackground OPERETTAArchitecture OptimalScheduling Implementation Evaluation ConclusionandFutureWork SystemModel • Mobiledeviceequippedwithminterfaces rj • Eachinterfacewithdatarateandenergy consumptionratea j • Thedeviceisrunningasetofapplications sharingtheinterfaces SystemModel • OPERETTA’sgoalistoassignstreamsto interfaces – Minimizetherequiredenergy(E) – Achieveadesiredthroughput(T) • TheModeDetectionModulethendetermines whethertheoperationmodeisconnectionSn = 1 Sn = 0 based(),orpacket-based()if theotherendisOPERETTA-enabled. UtilityFunction • Usedtodeterminetheusersrequiredlevelof Τtarget throughput() Userutilityparameter Τtarget = ri pmin + α ∑ rj j ≠ i pmin Thedataratefortheminimumpowerconsuminginterface Thedataratefor interfacej ObjectiveFunction • Minimizetheoverallsystem’senergy consumption Theoverallenergyconsumption minimize E = ∑ E j j Theenergyconsumptionofinterfacej Equals1ifstreamnisassignedtointerfacej Equals0otherwise. n aj ⎛ ⎞ minimize E = ∑ ⎜ ω j ∑ Li (1 − Si )+ Ln S n xnj ⎟ j rj ⎝ i =1 ⎠ Theratioofpacketsassignedtointerfacej Thecurrentsystemloadforstreami Minimizetheenergyforbothpacket-orientedandconnection orientedstreams SystemConstraints • TargetThroughput ∀j,Δ j = n n Thecurrentsystemload i =1 i =1 L ω j ∑ Li (1 − Si ) + ∑ Li Si xni rj ≤ Ttarget Thetimeneededforinterfacejtofinishitsload Eachinterfacehastofinishitsloadbeforeacertaintimein ordertoobtaintherequiredthroughputlevel SystemConstrains • IntegralAssociation m ∑x nj +(1 − S n ) = 1 i =1 Ifthenewstreamisconnection-oriented,itshouldbe assignedtoonlyoneinterface SystemConstrains • PacketLoadDistribution m ∑ω j =1 j =1 Forpacket-orientedstreams,theirtotalloadshouldbe distributedoverallinterfaces SystemConstrains • Variableranges ω j ≥ 0,1 ≤ j ≤ m xnj ∈ {0,1},1 ≤ j ≤ m SchedulingAlgorithm • Determiningω ⎛ Lr j − Ttarget ∑ Li Si xij ⎞ ⎜ ⎟ i ω j = min⎜1 − ∑ ωk , ⎟ Ttarget ∑ Li (1 − Si ) ⎟ ⎜ k ≤ j −1 i ⎝ ⎠ • Throughputmaximization inpacketorientedmode ωj = rj ∑r i i Agenda • • • • • • MotivationandBackground OPERETTAArchitecture OptimalScheduling Implementation Evaluation ConclusionandFutureWork Implementation • OPERETTAMiddleware – ItisimplementedasaLayeredService Provider(LSP) – ItisinstalledasapartoftheTCP/IP stackinWindowsOS – Itinterceptssocket-basedconnection requestsandassignpropernetwork interfacestothemordistributetheir dataacrossthedifferentinterfaces Network Application (e.g.Firefox) Winsock2 API WS2_32.DLL SPI OPERETTA Middleware BaseProtocol (e.g.TCP/IP) Implementation • OPERETTAMonitoringApplication – Itisusedtocapturestheuserpreferencesand interfaces’usagepolicies – ItisalsousedtomonitorOPERETTAmiddleware anditsestimates Agenda • • • • • • MotivationandBackground OPERETTAArchitecture OptimalScheduling Implementation Evaluation ConclusionandFutureWork Environment WiFi 1Mbps,634mWatt Bluetooth 6Mbps 0.7Mbps,95mWatt GSM 2Mbps,900mWatt NIST-NET ParametersandMetrics • Parameters – Applicationscharacteristics(smallload22.38KBandlargeload 285KB) – ConnectionsHeterogeneity(13smallconnection/secand1large connection/sec) – TheRatioofOPERETTAenabledservers(gamma) – Networkinterfacescharacteristics – Userpreferences – UtilityFunctions – Robustnesstoestimationerrors • Metrics – Throughput – AverageEnergyconsumptionperunitdata Results • Withasfewas25%oftheserversbecomingOPERETTAenabled, OPERETTA’sperformancereachesthethroughputupperbound, highlightingitsincrementaldeploymentandperformancegains. Results • OPERETTAschedulercapturestheuser’sneeds Results • RoundRobindoesnottaketheinterfacesheterogeneityintoaccount • OPERETTAoutperformsweightedroundrobinsinceittakethe applicationscharacteristicsintoaccount Agenda • • • • • • MotivationandBackground OPERETTAArchitecture OptimalScheduling Implementation Evaluation ConclusionandFutureWork ConclusionandFuture • OPERETTAisDeployable • OPERETTA’shighperformancegains – 150%enhancementinthroughputwithnochangesto theservers – Reachesthemaximumachievablethroughputwith25% oftheserversareOPERETTAenabled • DirectionsforextendingOPERETTA – Implementation – Objective – Environment Thankyou KarimHabak Karim.habak@ejust.edu.eg http://karim-habak.co.cc/