A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011

Page created by Matthew Henry
 
CONTINUE READING
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

               A Context-Aware Android-Based
               Mobile Operating System: morphone.os

           Android Competition in ESWeek 2011

                                                      12 October, 2011
                                                          TICC – 201AF
                                                         Taipei, Taiwan

A. Bonetto, M. Maggio, A. Nacci, D. Sciuto, M. D. Santambrogio
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
The 3 elements

• Autonomic Systems via Self-Awareness

• User and Environment - Awareness

• A Context-Aware Mobile Operating Systems

                                             2
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
The problem…
• Mobile devices have evolved immensely                                                         [*]
  since 1983 both in design and function
     § System Complexity is skyrocketing
           • Heterogeneous multicore processors
           • Programmers cannot make efficient use of the
             available resources
• Mobile technologies are constrained and
  fluctuating
• In these devices, resources have to be
  carefully managed
     § Low consideration of environment conditions
     § Both internal and external conditions are
        rapidly changing and may influence the
        behavior of the entire system

[*]"Motorola DYNATAC Cellular Radiotelephone Systems", Motorola Inc., Schaumburg, Ill., 1983.
                                                                                                      3
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
A problem as a new opportunity

•   Programming has become very difficult
    § Impossible to balance all constraints manually
•   More computational horse-power than ever before
    § Cores are free
•   Energy is new constraint
    § Software must become energy and space aware

•   Mobile phones need context-awareness,
    § be aware of the surrounding environment conditions
    § know internal state
•    To optimize and meet their requirements taking
    advantage as much as possible of the context to
    pursue concurrent goals

                                                            4
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
The first element

• Autonomic Systems via Self-Awareness

• User and Environment - Awareness
• A Context-Aware Mobile Operating Systems

                                             5
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
Self-Aware Computing Systems

  Systems that can (O) observe their runtime behavior,
 (D) learn, and take (A) actions to meet desired goals

• A self-aware system is
   § Goal-oriented
      •   Tell the system what you want
      •   System’s job to figure out how to get there
   § Adaptive
      •   Observes itself
      •   Reflects on its behavior and learns
      •   Computes the delta between the goal and observed state
      •   Takes actions to optimize its behavior towards the goal
   § Self-healing
      •   Continues to function through faults
   § Approximate
      •   Does not expend any more effort than necessary to meet goals

                                                                         6
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
Intelligent ODA loop
•   ODA loop in the operating system involves
     §   observing the situation (O),
     §   decision making (D),
     §   and taking action (A)
•    Decision making (D) is a key component involving learning,
    knowledge acquisition, and reasoning
     §    Learning algorithms update knowledge DB with system and application status
     §    Reasoning algorithms reference knowledge DB to perform analysis and
          optimization

                                                   Heartbeat
                                                  Information

                               Heartbeat                                       Observe
                              Information
           ODA                              API

                               App
                                                  App-ODA       Decide                   Act
                                                  enabling
                App
               Update
                                                                     Learner

                                                                                               7
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
Observe: Heartbeats API and HRM

• Heartbeats express goals and current
  performance
  § At key intervals, apps issue a heartbeat using
     a simple function call
  § Apps also register desired performance with
     other function calls
  § The performance (heart rate) can be read
     within the application; or by another process

                                                      8
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
Act: Services (actuators + policies)

•    A service represents a component capable of
    performing changes (adaptive knobs tuning)
    § on one or more applications or
    § on the whole system

•    Services are enabled or disabled by the services
    coordinator
    § a service is an entity made of actuators and a
       decision policy
    § when enabled, they are autonomous components
       that can decide and act on the system

•   Examples of Actuators
    § core allocator, frequency manager, data connection
       adapter, adaptive scheduler, memory allocator…

                                                            9
A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
Decide: Services Coordinator and Services

• How to coordinate several services?
   § Through a Services Coordinator:
      • A machine-learning based centralized element
      • It knows about monitored processes and services
      • It gathers data about applications performance
        levels and acts enabling or disabling services

• How to compute the value of an action?
   § Through conscious services (using the
      decision policies)
      • Make their decisions taking into account
        performances of the monitored processes
      • Usually implement a feedback loop that allows
        them to create an independent ODA-based system

                                                          10
ODA in morphone.OS

                     11
The second element

• Autonomic Systems via Self-Awareness

• User and Environment - Awareness

• A Context-Aware Mobile Operating Systems

                                         12
morphone
                                                                                             morphone.app

                                                                     App1                    App2                   App3                       AppN

  their environments and their habits

                                                                                                                                                                                       External Fluctuating Environment
         Users: their behaviors,

                                                                                                 morphone.OS
                                        ODA Optimization Engine
                                                          Observe

                                                                                                    Scheduler       Locking         Memory       File
                                                                                                                                                              Hot-Swap
                                                                                                                   Mechanism        Menager     System

                                        Decide                             Act

                                                                                 Adaptive Hardware Architecture
                                                         Core                      Rec. Device                     Memory                           Devices
                                          Core                      Core             FPGAs            DRAM                     HD             WSN             Net Interf
                                                 Cache                 Cache             Cache             Cache                    Cache

                                                                                                                                       : Monitors
                                                                    : Adaptive Components
                                                                    (i.e., Goals, Communication API)
                                                                                                                                      : Adaptive Info (i.e, Goals,
                                                                                                                                                              location, appointmens)
                                                                    : Performance                                                     : Monitoring Info
                                                                                                                                      : Data/Instructions

                                                                                                                                                                                                                          13
The morphone approach

• To react to different situations all the
  information from different components
  should not be disregarded

• Our approach uses all the information
  that it can retrieve to create a model of
  the context
  § Environment
  § Self
  § User behavior

                                              14
Some applicative scenarios

Environment-Aware                             User-Aware
                    Improve the interaction                    Improve the user
- Going to work     with the environment      - Working out    experience

- @ work   Improve the system
           management                         - Take a nap   Ease the interaction
                                                             with the user

                                                                                    15
The third element

• Autonomic Systems via Self-Awareness
• User and Environment - Awareness

• A Context-Aware Mobile Operating Systems

                                         16
From Android to morphone.OS

• The ODA implementation has been added
  by means of the Heartbeat framework

• Services to monitor the context have been
  included
  § Environment (e.g., GPS position, light level…)
  § Self (e.g., CPU usage, processes status)
  § User (e.g., frequent actions, common
     situations, future behaviors)

• Services to apply context-related policies
  have been added

                                                      17
An Adaptive 3G/2G Video Streaming

• It’s not always necessary to run at the
  best, autonomously morphone.OS can
  § Save power
  § Without loosing in quality
                            •  600 MHz ARM 11
                               Qualcomm MSM7227
                              chipset
                            • 418MB RAM

                                             18
The game has just began…
• Within this work we
  § Proved the applicability and the benefits in
     defining and using a Context-Aware OS
  § Enabled Context-Awareness via the design of a
     Self-Aware OS

• More fun has yet to come
  § Extend the ML mechanism in the Service
     Coordinator to
     • Infer user habits
     • Anticipate user wills
  § Define a programming model for morphone.app
  § SDK to ease morphone.app development

                                                     19
END…

       www.changegrp.org/morphone

       Starting from Dec 2011

       groups.google.com/group/morphoneos

       www.youtube.com/user/changegrp

       www.facebook.com/morphone.os

                    … more information @ the demo!
You can also read