Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Three types of remote process invocation
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
Remote Procedure Call (RPC)
Remote Procedure Call Design issues Implementation RPC programming
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
WSN Simulation Template for OMNeT++
Communication in Distributed Systems –Part 2
PRASHANTHI NARAYAN NETTEM.
.NET Mobile Application Development Remote Procedure Call.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
1 Enabling Secure Internet Access with ISA Server.
Distributed Process Implementation
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
Android for Java Developers Denver Java Users Group Jan 11, Mike
CS4273: Distributed System Technologies and Programming Lecture 13: Review.
20 October 2006Workflow Optimization in Distributed Environments Dynamic Workflow Management Using Performance Data David W. Walker, Yan Huang, Omer F.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Architectures of distributed systems Fundamental Models
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Java Remote Method Invocation RMI. Idea If objects communicate with each other on one JVM why not do the same on several JVM’s? If objects communicate.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
Jini Architecture Introduction System Overview An Example.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
.NET Mobile Application Development XML Web Services.
Remote Method Invocation A Client Server Approach.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Topic 5: CORBA RMI Dr. Ayman Srour
Nguyen Thi Thanh Nha HMCL by Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, and Shunxiang Yang Refactoring Android Java Code for On-Demand Computation.
A method for using cloud computing for Android By: Collin Molnar.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Operating Systems {week 11a}
MCA – 405 Elective –I (A) Java Programming & Technology
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED COMPUTING
Chapter 2: Operating-System Structures
Java Remote Method Invocation
Chapter 2: Operating-System Structures
Presentation transcript:

Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework for Smartphones

Nguyen Thi Thanh Nha - HMCL 2 Cuckoo: A Computation Offloading Framework for Smartphones 2014/7/8

Nguyen Thi Thanh Nha - HMCL 3 Cuckoo: A Computation Offloading Framework for Smartphones Mobile Computation Offloading transfer of computation execution outside the mobile device Mobile Computation Offloading transfer of computation execution outside the mobile device 2014/7/8

Nguyen Thi Thanh Nha - HMCL  A complete framework for computation offloading for Android, which integrates with Eclipse  a runtime system  a resource manager application for smartphone users  a programming model for developers  It supports local and remote execution Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL  Android provides an application model that fits well for computation offloading  Android application components  Activities  Services  Content Providers  Broadcast Receivers  Cuckoo focuses on activities and services Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL A schematic overview of the Android IPC mechanism Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL Cuckoo: A Computation Offloading Framework for Smartphones /7/8 Generates Java files from AIDL files Compiles the Java source code and the generated Java code Bundles the resources, the compiled code and the application into an installable apk file

Nguyen Thi Thanh Nha - HMCL 2014/7/8 8  Easy to use and to understand  Programming model acts as the interface of the system to the developers  Use the Android’s existing ‘activity/service’ model that separate the services (compute intensive parts) and activities (interactive parts of the application).  Support both local and remote method implementations.  Specifically support remote implementations to be different from the local implementation.  Bundle all local and remote code to be together Cuckoo: A Computation Offloading Framework for Smartphones

Nguyen Thi Thanh Nha - HMCL Cuckoo: A Computation Offloading Framework for Smartphones /7/8 Rewrites the generated Stub for each AIDL interface, so that at runtime Cuckoo can decide whether a method will be invoked locally or remote. -Derives a dummy remote implementation from the available AIDL interface. -Generates an Ant build file. Have to be invoked after the Java Builder

Nguyen Thi Thanh Nha - HMCL  An application can offload its computation to any resource that runs the Java Virtual machine  The user runs a simple Java application, the server, on a resource to enable it to be used for computation offloading.  Services available on a phone can be installed onto such a server. Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL 2014/7/8 11  The remote resource has to register its address to the Resource Manager application that runs on the phone  QR code contains the address of the server  Resource description file  The Cuckoo framework will query the Cuckoo Resource Manager for any available resources Cuckoo: A Computation Offloading Framework for Smartphones

Nguyen Thi Thanh Nha - HMCL 2014/7/8 12  Offloading Decision  Ibis communication  Client Server Protocol  Configuration of Cuckoo: Trade Offs Cuckoo: A Computation Offloading Framework for Smartphones

Nguyen Thi Thanh Nha - HMCL 13  At the runtime, The Cuckoo system intercepts all method calls and then decides whether to offload the method invocations or not.  If remote, check whether the remote resource is reachable  If locally, it return the result to the proxy Cuckoo: A Computation Offloading Framework for Smartphones 2014/7/8

Nguyen Thi Thanh Nha - HMCL 14  Middleware for distributed applications, written in Java  Communicate between the remote resources and the phones  The Ibis High Performance Programming System is used for Cuckoo’s communication.  High-level programming model  e.g. Remote Method Invocation (RMI)  Low-level communication library  Ports: unidirectional communication channels  Messages are sent between multiple ports.  Every port has a unique identifier  An Ibis identifier  The name of the port. Cuckoo: A Computation Offloading Framework for Smartphones ActivityStubProxyLocal Remote 2014/7/8

Nguyen Thi Thanh Nha - HMCL  The clients find a server using its Ibis identifier and bind a Send Port to the matching Receive Port at the server to exchange messages with the server.  The client will request the server to execute a particular method from a service  The client can install the service onto server  Cuckoo can switch to another remote resource Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL  Early binding  For gaining speed  Try to find and, if needed, install a remote resource at the moment the activity binds to the service  Late binding  For optimizing energy usage  The resource discovery process will be delayed until a method will be invoked  Increase maximum number of remote resources  Increase the chance to find remote resource that can be used  More overhead in terms of time and energy if Cuckoo cannot connect to any of the resources.  Execute method of the service in parallel on multiple resources.  Speed up execution  Energy hungry  Configure individual methods of a service to be not offloadable at all Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL  Object recognition of images captured by the camera  Allows the user to teach new objects to the application  Converts an image into a feature vector  Compute and memory intensive Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL  Results  Always perform object recognition, even when no network connection is available  Remote implementation  Speed up the recognition (60 times faster)  Reduce the energy consumption (40 times less energy)  Higher quality object recognition Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL 2014/7/8 19  Face detection will determine whether a shot is a hit or not. Cuckoo: A Computation Offloading Framework for Smartphones

Nguyen Thi Thanh Nha - HMCL 2014/7/8 20  The major compute intensive operation in this game is the face detection.  Without offloading, the slower the processor of the smartphone, the longer it takes for the shot to be analyzed Cuckoo: A Computation Offloading Framework for Smartphones

Nguyen Thi Thanh Nha - HMCL  Cuckoo does not yet support callbacks.  Method arguments can only be used as input parameters and cannot be used in a C-style way as output parameter.  Only the return object of a method will be available to the activity.  Does not support any form of security.  Supports only stateless services. Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL  A framework that allows local and remote implementations for computation offloading for smartphones  It allows a single interface from both implementations  It can use more remote servers and it can switch between them if there are disconnections  With no big programming effort, Cuckoo can  increase the speed of compute intensive operations  reduce the energy consumption Cuckoo: A Computation Offloading Framework for Smartphones /7/8

Nguyen Thi Thanh Nha - HMCL THANK YOU Cuckoo: A Computation Offloading Framework for Smartphones /7/8