You are on page 1of 16

COSMOS

Computation Offloading as a Service for Mobile Devices


• a key challenge in computation offloading lies in the mismatch
between how individual mobile devices demand and access
computing resources and how cloud providers offer them.
Gap between mobile device demand and
resource provided by cloud providers

• Offloading requests from a mobile device require quick response and


may not be very frequent . Therefore computation offloading should
be immediately available upon request and be quickly released after
execution.
• In contrast , cloud computing resources have long setup time and
are leased for long time quanta.
AmazonEC2 example
COSMOS Introduction

• Aim to manage and schedule cloud resources and provide them


accordingly in an efficient manner to the mobile user.
• Provide computational offloading as a service
• Provide resources in a cost-effective manner to a mobile user during
app offloading
• allocate resources in a low-risk manner considering variable network
connection
COSMOS (Cont’d)

acts as an intermediate between commercial cloud providers and a


mobile user.
comprises three components

• COSMOS master (running on VM instance)


• COSMOS server (running on VM instance)
• COSMOS clients (running on mobile device)
Architecture of COSMOS system
COSMOS master

• central component of the entire architecture


• manage cloud resources and exchange information with mobile
devices
• collects information about different computational tasks from
COSMOS clients through task tracker
• collects information about different workloads on various COSMOS
servers through server tracker.
• using this information , COSMOS master decides existence of a
COSMOS server(number and type of active COSMOS servers over
time)
COSMOS server

• execute offloaded tasks of a mobile user


• maintains a task queue and no of equivalent CPU cores.
• tasks are executed as FCFS manner
• predicts execution time of each task depending upon its resource
requirements through execution predictor.
COSMOS clients

• tracks all applications running on its mobile device, makes offloading


decisions for them, and allocates tasks to COSMOS Servers

• COSMOS client decides whether an application should be offloaded


or not by calculating resource consumption and resource requirement
of an application and categorized as normal application or resource-
hungry application.
How it works?

• When a mobile application starts, an application tracker monitors the


application execution and identifies its compute-intensive tasks in the same
way as MAUI and Clone Cloud .

• The offloading controller obtains the computation speedup from the


execution predictor and the communication delay from the connectivity
predictor and decides if it should offload the task based on them.

• If it decides to offload , the COSMOS Client allocates the task to an active


COSMOS Server. Finally the COSMOS Client offloads the task and waits to
receive the result. If the COSMOS Client cannot obtain the results before a
deadline, it executes the task on a local worker.
Functionalities of COSMOS architecture

• Cloud resource management


• Offloading decision
• Task allocation
Cloud resource management

• This is the problem of determining the number and type of VM


instances to lease over time.

• Resources are provided in form of VM instances by cloud provider

• It has two major goals.


• First, there should always be enough VM instances to ensure high offloading
speedup
• Second, the cost of leasing VM instances should be minimized.
Offloading decision
• This is the problem of deciding if a mobile device offloads a
computation task.

• A wrong offloading decision will both waste time and money to a


mobile user as well as lead to wastage of cloud resources and result
in lower speedup.

• It is very important to properly handle the uncertainties carefully such


as network availability ,resource requirements, application execution.
Task allocation
• This is the problem of choosing a VM instance among all available
instances if we decide to offload a computation task.

• The VM instance should have sufficient configurations to run the


offloaded mobile application. task allocation should be done in an
optimized manner as it could lead to overconsumption of cloud
resources.
•Thank you!

You might also like