Special Topics: CSci 8980 Edge Computing Outsourcing III

Similar documents
CSci 8980 Mobile Cloud Computing. Outsourcing: Components I

Mobile Offloading. Matti Kemppainen

CloneCloud: Elastic Execution between Mobile Device and Cloud, Chun et al.

Mobile Cloud Computing: Issues, Challenges and Future Trends

Mobile Offloading. Matti Kemppainen Miika Komu Lecture Slides T Mobile Cloud Computing

VMware vsphere with ESX 4.1 and vcenter 4.1

Next-Generation Cloud Platform

L.C.Smith. Privacy-Preserving Offloading of Mobile App to the Public Cloud

Copyright 2011, Oracle and/or its affiliates. All rights reserved.

SMARTPHONES nowadays are designated to execute computationally

Today s Topics. The Problem. MAUI: Making Smartphones Last Longer With Code Offload 10/10/2015. Battery fails to keep up. The Problem.

Data Management CS 4720 Mobile Application Development

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Scheduling with Task Duplication for Application Offloading

Operating Systems. read the warning about the size of the project make sure you get the 6 th edition (or later) of the book

POMAC: Properly Offloading Mobile Applications to Clouds

STREAMLINING THE DELIVERY, PROTECTION AND MANAGEMENT OF VIRTUAL DESKTOPS. VMware Workstation and Fusion. A White Paper for IT Professionals

Network Slicing Supported by Dynamic VIM Instantatiation. Stuart Clayman Dept of Electronic Engineering University College London

CSci Introduction to Operating Systems. Administrivia, Intro

Trace-based JIT Compilation

references Virtualization services Topics Virtualization

T Computer Networks Green ICT

VARIOUS systems have been designed to allow mobile

High Availability Distributed (Micro-)services. Clemens Vasters Microsoft

IBM SYSTEM POWER7. PowerVM. Jan Kristian Nielsen Erik Rex IBM Corporation

VARIABILITY IN OPERATING SYSTEMS

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

The HR Avatar Testing Platform

Using Industry Standards to Exploit the Advantages and Resolve the Challenges of Multicore Technology

WIFI Hidden Camera USER MANUAL

CS 6343: CLOUD COMPUTING Term Project

Key to A Successful Exadata POC

Virtual Machines. 2 Disco: Running Commodity Operating Systems on Scalable Multiprocessors([1])

Virtualization Security & Audit. John Tannahill, CA, CISM, CGEIT, CRISC

Cloud-Assisted Computation Offloading to Support Mobile Services

Lecture 11: Maximum flow and minimum cut

Enabling Efficient and Scalable Zero-Trust Security

Internet of Things (IoT)

Database Consolidation onto Private Cloud. Piotr Kołodziej, Oracle Polska

Discriminating Hierarchical Storage (DHIS)

Measuring zseries System Performance. Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012

Making the Case For Computational Offloading in Mobile Device Clouds

2018 Report The State of Securing Cloud Workloads

Static and Dynamic Program Analysis: Synergies and Applications

COS 318: Operating Systems

Starfish Efficient Concurrency Support

Interdomain Routing Design for MobilityFirst

A Augmentation Techniques for Mobile Cloud Computing: A Taxonomy, Survey, and Future Directions

SecureDoc: Making BitLocker simple, smart and secure for you. Your guide to encryption success

Systems Analysis and Design II

Kubernetes for Stateful Workloads Benchmarks

Communication Augmented Scheduling for Cloud Computing with Delay Constraint and Task Dependency. Sowndarya Sundar

Product Data Sheet: Ignition 8 Industrial Application Platform. A Whole New View

Tapir: a language for verified OS kernel probes

Private Cloud Database Consolidation Name, Title

CS 61C: Great Ideas in Computer Architecture Performance and Floating-Point Arithmetic

Ananta: Cloud Scale Load Balancing. Nitish Paradkar, Zaina Hamid. EECS 589 Paper Review

ECE 697J Advanced Topics in Computer Networks

Challenges for Data Driven Systems

On Exploiting Dynamic Execution Patterns for Workload Offloading in Mobile Cloud Applications

Special Topics: CSci 8980 Edge History

End to End SLA for Enterprise Multi-Tenant Applications

Lecture 21 11/27/2017 Next Lecture: Quiz review & project meetings Streaming & Apache Kafka

Reliable Stream Analysis on the Internet of Things

ICN for Cloud Networking. Lotfi Benmohamed Advanced Network Technologies Division NIST Information Technology Laboratory

A Catalog of Architectural Tactics for Cyber-Foraging

Sony Bravia Keeps Manual Usb Wireless Lan Adapter Alternative

Reporting Performance Results

Android Automatic object detection - BGU CV 142

EbbRT: A Framework for Building Per-Application Library Operating Systems

Virtualization Technique For Replica Synchronization

Can "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior of the cloud).

5 Things to Consider when Moving to the Cloud. Dr Chris Folkerd

A Trace-based Java JIT Compiler Retrofitted from a Method-based Compiler

Memory Management. Dr. Yingwu Zhu

Clouds at other sites T2-type computing

LoopMeeting Configuration Manual

Developing Offloading-enabled Application Development Frameworks for Android Mobile Devices

Systems Ph.D. Qualifying Exam

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

What is concurrency? Concurrency. What is parallelism? concurrency vs parallelism. Concurrency: (the illusion of) happening at the same time.

Concurrency. Johan Montelius KTH

Read & Download (PDF Kindle) Data Structures And Other Objects Using C++ (4th Edition)

Dynamic Memory Allocation

Code Offload with Least Context Migration in the Mobile Cloud

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

OpenNebula on VMware: Cloud Reference Architecture

IMPROVING THE PERFORMANCE, INTEGRITY, AND MANAGEABILITY OF PHYSICAL STORAGE IN DB2 DATABASES

Learning outcomes. On successful completion of this unit you will: More detail on the wiki.

Expanding Our Horizons. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 9 09/25/2011

Introduction to the Active Everywhere Database

Portland State University ECE 587/687. Virtual Memory and Virtualization

Assignment # 4 Selected Solutions

Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington

Virtualization with VMware ESX and VirtualCenter SMB to Enterprise

Oracle Autonomous Database

Oracle Exadata Implementation Strategy HHow to Implement Exadata In-house

Assorted Load Balancing Algorithms in Cloud Computing: A Survey

AWS Lambda: Event-driven Code in the Cloud

Content. Basic FAQ... 2 Subscription FAQ... 8 Technical FAQ...11

Transcription:

Special Topics: CSci 8980 Edge Computing Outsourcing III Jon B. Weissman (jon@cs.umn.edu) Department of Computer Science University of Minnesota

Parametric Analysis for Adaptive Computation Offoading 2

Motivation Optimal code generation is sensitive to execution instances such as execution options, input parameters and data files Optimal program partitioning for computation offloading depends on tradeoff between the computation cost and communication cost 3

Issues Create a static task graph, TCFG Prevent redundant data transfer Enforce data dependencies Program partitioning constraints 4

Example What is different compared to our other outsourcing papers? Native code! 5

Partitioning Given values of x, y, z, knowledge of compute and data transfer => Partition (based on parameters) 6

TCFG output Nodes are tasks but not functions, why? Too limiting: a function does a little I/O and a lot of computing 7

TCFG Algorithm to build TCFG tasks ~ basic blocks: separated by conditionals, function calls, etc. arcs are dependencies GOAL: Given TCFG, compute task assignment, for each task v M(v) = 1 (server) = 0 (client) 8

Data Validity How are these functions used? To enforce correctness and eliminate redundant transfers For each d, compute V {s/c}{i/o} 9

Tracking Data Accesses Is data really needed on a machine? 10

Constraints 11

Cost Factors 1 2 3 small 4 12

Symbolic Analysis Determine data sizes (s) and execution counts (r) Needed for c s, c c, csd, scd r, s are functions of input parameter vector l (e.g. input parameters) 13

Partitioning Problem The authors prove this can be cast into a min-cut optimization problem 14

Min-Cut Model S source node exiting arcs = client computation cost T sink node entering arcs = server computation cost I input O output 15

Min-Cut What is the min-cut of a graph? the smallest total weight of the edges which if removed would disconnect the source from the sink Why is this useful? 16

Min-Cut Do not offload f or g Statically solve based on ranges of l 17

Performance 37% improvement 18

Performance <10% error 19

Discussion Pros Native code Fully compiler-driven approach Cons Cannot respond to run-time dynamics Server tasks and client tasks do not run simultaneously Complexity 20

ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading

MAUI Motivation Does not address the scaling of execution in cloud (opportunity!) CloneCloud Offline benchmarks have to be built for every application

ThinkAir Smart phone virtualization in the cloud + method-level computation offloading Parallelizing method execution using multiple VM images On-demand resource allocation Online method-level offloading

Design Goals Dynamic adaptation to changing environment Ease of use for developers Annotate Java methods with @Remote Performance improvement through cloud computing Dynamic scaling of computation power

Architecture

Cloud Infrastructure OS: customized version of Android x86 6 types of VMs

Execution Controller Make offloading decisions Four policies (nice): Execution time Energy Execution time and energy Execution time, energy, and cost Uses profiling

Client Handler ~ cloud server Code execution Manage connection Execute code Return results VM management Add VM with more computing power/resources Distributes task among VMs, and collects results

Experiments BIV (boundary input value) The minimum value of the input parameter for which offloading would be beneficial Offloading policy: execution time Different Scenarios: Phone WiFi-Local (RTT 5ms) router attached to cloud server WiFi-Internet (RTT 50ms) 3G (RTT 100ms)

Micro-Benchmark Results Network latency clearly affects the BIV

Face Detection Results Compares photo against DB or 10 or 100 photos

Face Detection Results(Cont.) 100 pictures

Parallelization with Multiple VM Clones Workloads are evenly distributed among VMs

Discussion Pros VM selection + scaling/parallelization BIV notion is nice Cons Paper is somewhat weak on both what and how details How is profile information used? Seems to rely solely on past execution of a method + BIV How is the parallelization done, who picks VM type? 34

On Thursday Mobile Cloud Outsourcing Finished! Cloudlets