Smartphones as distributed system with extreme heterogeneity Lin Zhong Rice Efficient Computing Group (recg.org) Dept. of Electrical & Computer Engineering.

Slides:



Advertisements
Similar presentations
Exceptional Control Flow Processes Today. Control Flow Processors do only one thing: From startup to shutdown, a CPU simply reads and executes (interprets)
Advertisements

U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
ENERGY-PROPORTIONAL IMAGE SENSING FOR Robert LiKamWa Bodhi Priyantha Matthai Philipose Victor Bahl Lin Zhong CONTINUOUS MOBILE VISION
Tunis, Tunisia, 28 April 2014 Business Values of Virtualization Mounir Ferjani, Senior Product Manager, Huawei Technologies 2.
Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Capriccio: Scalable Threads for Internet Services ( by Behren, Condit, Zhou, Necula, Brewer ) Presented by Alex Sherman and Sarita Bafna.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Chapter 8 Operating System Support
Memory Management 1 CS502 Spring 2006 Memory Management CS-502 Spring 2006.
CS-3013 & CS-502, Summer 2006 Memory Management1 CS-3013 & CS-502 Summer 2006.
Hardware/Software Concepts Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Client-Server Computing in Mobile Environments
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
A Survey of Mobile Phone Sensing Michael Ruffing CS 495.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
 Energy Results: Memory Assistant Arcade Game  Performance Results:  Response Time ▪ Memory assistant: 17.3 sec -> 1.5 sec ▪ Arcade game: 6 FPS -> 13.
MOBILE CLOUD COMPUTING
Computation Offloading
Computer System Architectures Computer System Software
A Survey of Mobile Cloud Computing Application Models
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
By Justin Cryer. Motherboard (ROM) In personal computers, a motherboard is the central printed circuit board and holds many of the crucial components.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
StratusLab is co-funded by the European Community’s Seventh Framework Programme (Capacities) Grant Agreement INFSO-RI Virtual Machine Isolation.
Advanced Topics StratusLab Tutorial (Orsay, France) 28 November 2012.
Accelerating image recognition on mobile devices using GPGPU
Types of Operating Systems
Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Page 1 Process Migration & Allocation Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this.
Harmony: A Run-Time for Managing Accelerators Sponsor: LogicBlox Inc. Gregory Diamos and Sudhakar Yalamanchili.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
CS603 Basics of underlying platforms January 9, 2002.
Programmability Hiroshi Nakashima Thomas Sterling.
Capt Froberg. Outline What is a computer? What components does a computer need? Physical “Cloud” What is a virtual computer?
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
Background Computer System Architectures Computer System Software.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Introduction to Mobile-Cloud Computing. What is Mobile Cloud Computing? an infrastructure where both the data storage and processing happen outside of.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Applied Operating System Concepts
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Clouds , Grids and Clusters
For Massively Parallel Computation The Chaotic State of the Art
Definition of Distributed System
Introduction
StratusLab Tutorial (Bordeaux, France)
Introduction to Operating System (OS)
Collaborative Offloading for Distributed Mobile-Cloud Apps
Multi-Processing in High Performance Computer Architecture:
Advanced Operating Systems
Parallel and Multiprocessor Architectures – Shared Memory
Operating System Concepts
Prof. Leonardo Mostarda University of Camerino
Operating System Concepts
Presentation transcript:

Smartphones as distributed system with extreme heterogeneity Lin Zhong Rice Efficient Computing Group (recg.org) Dept. of Electrical & Computer Engineering Rice University

Today’s smartphone 2 Application processor

rackspace

Heterogeneous multiprocessor 4 Application processor µ-controller Turducken-like systems

Heterogeneous body-area network 5

Smartphone Application processor µ-controller Cloud processor

Challenges to programming Resource disparity – ISA disparity 7 Application processor µ-controller Cloud processor

Challenges to programming Resource limitation on “small” processors – Virtual machine and coherent memory difficult 8 Application processor µ-controller Cloud processor

Challenges to programming Separation of hardware vendors, application developers, and users – Developer blind of external computing resources and runtime context 9 Application processor µ-controller Cloud processor

Challenges to programming Established programming model and OS 10 Application processor µ-controller Cloud processor

Existing solutions 11 Complete transparency No transparency Single ISA Prohibitively expensive High burden on application developers Virtual machine Turducken-like cohort systems Offloading systems (active disk, Hydra etc.) CPU+GPU systems mPlatform etc.

Reflex : Transparent programming of heterogeneous mobile systems Inspired by the heterogeneous distributed nervous system

Enough transparency 13 Reflex Single ISA Turducken-like cohort systems Offloading systems (active disk, Hydra etc.) Virtual machine CPU+GPU systems Complete transparency No transparency Ease of programming Execution efficiency mPlatform etc.

Key ideas Light weight virtualization of sensor data acquisition, timer, and memory management 14 Application processor µ-controller Cloud processor

Key ideas Distributed runtime for transparent message passing 15 Application processor µ-controller Cloud processor Reflex runtime

Key ideas Automatic code partition through a collaboration between runtime and compiler 16 Application processor µ-controller Cloud processor Reflex runtime

Key ideas Identify a small coherent memory segment – Maintain by message passing through the runtime 17 Application processor µ-controller Cloud processor Reflex runtime

Key ideas Type safety for dynamic process migration 18 Application processor µ-controller Cloud processor Reflex runtime

Reflex Prototype (board integration) Programmable accelerometer (TI MSP430) Wired sensor through UART port 19 Rice Orbit Sensor Nokia N810 Serial connection

Fall detection with N810 Average Power 100mW 20mW Legacy Reflex The secret: we do not fall very often 20

Coded as part of Smartphone program 21 class SenseletFall : public SenseletBase { public: SenseletFall () { _avg_energy = 0; }; void OnCreate() { RegisterSensorData(ACCEL, 50); }; void OnData(uint8_t *readings, uint16_t len) { uint16_t energy = readings[0]*readings[0] + \ readings[1]*readings[1] + \ readings[2]*readings[2]; //do a simple low-pass filtering _avg_energy = _avg_energy / 2 + energy / 2; // detect fall accident with the filtered energy if (_avg_energy > THRESHOLD) { theMainBody.FallAlert(); //RMI } void OnDestroy() { UnRegisterSensorData(ACCEL); }; private: uint16_t _avg_energy; };

22

Even accelerometer is power-hungry! 2mW 90mW 7mW Nokia N mW StandbyAccelerometerReadRead & simple calculation

Energy-proportional computing Energy consumption = a × Work 24 Work per unit time, e.g. CPU utilization and bandwidth utilization

Cruel reality: disproportionality Energy = f (Work) + C 25 Work per unit time, e.g. CPU utilization and bandwidth utilization

Cruel reality: disproportionality Energy = f (Work) + C 26 Work per unit time, e.g. CPU utilization and bandwidth utilization

Ongoing work Automatic code partition Global variables/memory to a small coherent shared memory Message passing to maintain the coherency 27