FemtoCloud Leveraging Mobile Devices to Provide Cloud Service at the Edge Karim Habak, Mostafa Ammar, and Ellen Zegura Georgia Institute of Technology Khaled A. Harras Carnegie Mellon University IEEE CLOUD 2015 Motivation Motivation ⦿ Mobile devices are more capable (faster processor, more memory and sensors). Motivation ⦿ Mobile devices are more capable ⦿ (faster processor, more memory and sensors). Mobile devices are mostly idle. Motivation ⦿ Mobile devices are more capable ⦿ ⦿ (faster processor, more memory and sensors). Mobile devices are mostly idle. Application requirements and user expectation increase even faster. Motivation ⦿ Mobile devices are more capable ⦿ ⦿ (faster processor, more memory and sensors). Mobile devices are mostly idle. Application requirements and user expectation increase even faster. Motivation ⦿ Mobile devices are more capable ⦿ ⦿ (faster processor, more memory and sensors). Mobile devices are mostly idle. Application requirements and user expectation increase even faster. Motivation ⦿ Mobile devices are more capable ⦿ ⦿ (faster processor, more memory and sensors). Mobile devices are mostly idle. Application requirements and user expectation increase even faster. Motivation ⦿ Mobile devices are more capable ⦿ ⦿ (faster processor, more memory and sensors). Mobile devices are mostly idle. Application requirements and user expectation increase even faster. Introduction Introduction ⦿ Computation offloading provides extra resources (Offloading?) ● Computation offloading is relying on another entity to execute a portion of the required computation by the application or the system. Introduction ⦿ Computation offloading provides extra resources (Offloading?) ● Computation offloading is relying on another entity to execute a portion of the required computation by the application or the system. Cloud Introduction ⦿ Computation offloading provides extra resources (Offloading?) ● Computation offloading is relying on another entity to execute a portion of the required computation by the application or the system. Cloud Cloudlet Introduction ⦿ Computation offloading provides extra resources (Offloading?) ● Computation offloading is relying on another entity to execute a portion of the required computation by the application or the system. Cloud Cloudlet CollectionofMobile Devices Introduction Introduction ⦿ Extremely stable clusters • Mont-Blonc Project [SC’13] • No mobility • Stable connections Introduction ⦿ Non-clustered highly-mobile devices • Serendipity [MobiHoc’12] • High Mobility • Intermittent Connectivity Introduction FemtoCloud Introduction FemtoCloud Social Structure Introduction FemtoCloud Social Structure Physical Structure Agenda ✓ Introduction ๏ FemtoCloud System ๏ Evaluation ๏ Open Challenges ๏ Conclusion Scenario Scenario Task User/Device Challenges ⦿ Interfacing with a femtocloud ⦿ Acquiring the knowledge of ● Device presence time ● User needs ● Resource availability ⦿ Task Scheduling ● Assigning tasks to devices while accounting for churn ● Efficiently utilizing the shared wireless spectrum Interfacing with FemtoCloud Task User/Device Controller FemtoCloud System Task Assignment & Scheduling ⦿ Objective Function Task Assignment & Scheduling ⦿ Objective Function Useful Computations Task Assignment & Scheduling ⦿ Objective Function Useful Computations TaskIndex Task Assignment & Scheduling ⦿ Objective Function Useful Computations TaskIndex TaskComputational load Task Assignment & Scheduling ⦿ Objective Function Useful Computations TaskIndex DeviceIndex TaskComputational load Task Assignment & Scheduling Assignment Decision ⦿ Objective Function Useful Computations TaskIndex DeviceIndex TaskComputational load Agenda ✓ Introduction ✓ FemtoCloud System ๏ Evaluation ๏ Open Challenges ๏ Conclusion Evaluation (Setup) ⦿ Experimental Setup: Evaluation (Setup) ⦿ Experimental Setup: ● Applications [I (Mbytes), C (MFLOPs), O (MBytes), R (Task/sec)] ○ Chess [0.5, 2, 0.2, 1] ○ Video Game [0.2, 30, 2, 2] ○ Video Processing [3.125, 60, 1, 1] ○ Compute Intensive [8, 100, 0.5, 0.5] Evaluation (Setup) ⦿ Experimental Setup: ● Applications [I (Mbytes), C (MFLOPs), O (MBytes), R (Task/sec)] ○ Chess [0.5, 2, 0.2, 1] ○ Video Game [0.2, 30, 2, 2] ○ Video Processing [3.125, 60, 1, 1] ○ Compute Intensive [8, 100, 0.5, 0.5] ● Models ○ Task characteristics follows normal distribution ○ Task/user arrival follows a Poisson process ○ User presence time follows a normal distribution Evaluation (Metrics and Parameters) ⦿ Performance Metrics ● Computational throughput ● Compute resource utilization ● Network utilization ⦿ Evaluation Parameters ● ● ● ● User presence time User arrival rate Task characteristics Estimation errors ⦿ Presence Time Oblivious Scheduling Evaluation (Prototype Evaluation) Scenario FemtoCloud + Oracle FemtoCloud Full presence 16.54 MFLOPS 14.23 MFLOPS Emulated arrival/departure (2 min – 1 min) 10.31 MFLOPS 8.86 MFLOPS Devicesusedare: • GalaxyS5runningAndroid4.4.4 • Nexus7[2013]runningAndroid5.0.2 • Nexus10[2013]runningAndroid5.0.2 Evaluation (Prototype Evaluation) Scenario FemtoCloud + Oracle FemtoCloud Full presence 16.54 MFLOPS 14.23 MFLOPS Emulated arrival/departure (2 min – 1 min) 10.31 MFLOPS 8.86 MFLOPS FemtoCloudprototypeisabletoachievemorethan85%of whattheOracleachievesinbothscenarios Evaluation (Device Model) Device Average Computation Capacity Galaxy S5 3.3 MFLOPS Nexus 7 [2012] 7.1 MFLOPS Nexus 7 [2013] 8.5 MFLOPS Nexus 10 [2013] 10.7 MFLOPS • ThenexusdevicesarerunningAndroid5.0.2 • TheGalaxyS5deviceisrunningAndroid4.4.4 • Themeasurementisdoneinsinglethreaded environments Evaluation (Presence Time and Arrival Rate) Evaluation (Presence Time and Arrival Rate) FemtoCloudisabletoefficientlyutilizethe availabilityofmorecomputingresources Agenda ✓ Introduction ✓ FemtoCloud System ✓ Evaluation ๏ Open Challenges ๏ Conclusion Open Challenges ๏ Scheduling Parameters Estimation ๏ Energy Awareness • Energy consumption and presence time ๏ Incentives • Deployment incentives • User incentives ๏ Security and Privacy • Threats and/or security solutions Agenda ✓ Introduction ✓ FemtoCloud System ✓ Evaluation ✓ Open Challenges ๏ Conclusion Conclusion ๏ FemtoCloud and opportunistic computing ๏ FemtoCloud System • Architecture Design • Scheduling Problem • Implementation • Performance Evaluation FemtoCloud Thank You