A Context-Aware Android-Based Mobile Operating System: morphone.os - Android Competition in ESWeek 2011
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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
The 3 elements • Autonomic Systems via Self-Awareness • User and Environment - Awareness • A Context-Aware Mobile Operating Systems 2
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 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
The first element • Autonomic Systems via Self-Awareness • User and Environment - Awareness • A Context-Aware Mobile Operating Systems 5
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
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
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
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
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