Scheduling for Energy Performance and Reliability Yavuz Yetim Princeton University.

Slides:



Advertisements
Similar presentations
Energy-Optimal Software Partitioning in Heterogeneous
Advertisements

EE5900 Advanced Embedded System For Smart Infrastructure
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
4. Workload directed adaptive SMP multicores
Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures Pree Thiengburanathum Advanced computer architecture Oct 24,
Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.
Lecture # 2 : Process Models
Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical strokes, with two spaces on either side Disclaimer.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Institute of Networking and Multimedia, National Taiwan University, Jun-14, 2014.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
Time Slicing in Mobile TV Broadcast Networks with Arbitrary Channel Bit Rates Cheng-Hsin Hsu Joint work with Dr. Mohamed Hefeeda April 23, 2009 Simon Fraser.
Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of.
Decision Making: An Introduction 1. 2 Decision Making Decision Making is a process of choosing among two or more alternative courses of action for the.
Software Architecture of High Efficiency Video Coding for Many-Core Systems with Power- Efficient Workload Balancing Muhammad Usman Karim Khan, Muhammad.
Imprecise Computing Yavuz Yetim. Overview Motivation Background Definition and Causes of Imprecision Solution Approaches Discussion of Two Methods Future.
Scheduling for Power, Reliability and Performance Yavuz Yetim Princeton University.
An Introduction To PARALLEL PROGRAMMING Ing. Andrea Marongiu
SWE Introduction to Software Engineering
VERTAF: An Application Framework for Design and Verification of Embedded Real-Time Software Pao-Ann Hsiung, Shang-Wei Lin, Chih-Hao Tseng, Trong-Yen Lee,
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
System-Wide Energy Minimization for Real-Time Tasks: Lower Bound and Approximation Xiliang Zhong and Cheng-Zhong Xu Dept. of Electrical & Computer Engg.
CprE 458/558: Real-Time Systems
How to Turn on The Coding in MANETs Chris Ng, Minkyu Kim, Muriel Medard, Wonsik Kim, Una-May O’Reilly, Varun Aggarwal, Chang Wook Ahn, Michelle Effros.
ECE 510 Brendan Crowley Paper Review October 31, 2006.
Task Alloc. In Dist. Embed. Systems Murat Semerci A.Yasin Çitkaya CMPE 511 COMPUTER ARCHITECTURE.
Power Issues in On-chip Interconnection Networks Mojtaba Amiri Nov. 5, 2009.
Software System Engineering: A tutorial
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Low-Power Wireless Sensor Networks
Thread Criticality Predictors for Dynamic Performance, Power, and Resource Management in Chip Multiprocessors Abhishek Bhattacharjee and Margaret Martonosi.
Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat.
Progress Report 2014/02/12. Previous in IPDPS’14 Energy-efficient task scheduling on per- core DVFS architecture ◦ Batch mode  Tasks with arrival time.
Abhilash Thekkilakattil, Radu Dobrin, Sasikumar Punnekkat Mälardalen Real-time Research Center, Mälardalen University Västerås, Sweden Towards Preemption.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Embedded System Lab. 김해천 The TURBO Diaries: Application-controlled Frequency Scaling Explained.
Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments Ilhyun Lee Cherry K. Owen Haesun K. Lee The University of Texas.
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
Presented By Dr. Mohsen Alardhi College of Technological Studies, Kuwait April 19 th,2009.
PART 1 Introduction 1. Layers of Abstraction 2. Turing Machine 3. Layer Transformation 4. Descriptions of Layers.
Introduction to Operating Systems Prepared by: Dhason Operating Systems.
Xi He Golisano College of Computing and Information Sciences Rochester Institute of Technology Rochester, NY THERMAL-AWARE RESOURCE.
A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults Ching-Chih Han, Kang G. Shin, and Jian Wu.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Optimization in Engineering Design 1 Introduction to Non-Linear Optimization.
Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy.
Physically Aware HW/SW Partitioning for Reconfigurable Architectures with Partial Dynamic Reconfiguration Sudarshan Banarjee, Elaheh Bozorgzadeh, Nikil.
Research Word has a broad spectrum of meanings –“Research this topic on ….” –“Years of research has produced a new ….”
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Introduction to Computer Programming using Fortran 77.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
Parallel programs Inf-2202 Concurrent and Data-intensive Programming Fall 2016 Lars Ailo Bongo
Embedded System Scheduling
SDN challenges Deployment challenges
ICS 3UI - Introduction to Computer Science
Software Design.
Jacob R. Lorch Microsoft Research
Operating Systems : Overview
Fault-Tolerant NoC-based Manycore system: Reconfiguration & Scheduling
Software Design Methodology
Direct digital control systems &Software
Sensitivity Analysis and
Chapter 1 Introduction.
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Operating Systems : Overview
Function of Operating Systems
Progress Report 2013/08/08.
Presentation transcript:

Scheduling for Energy Performance and Reliability Yavuz Yetim Princeton University

Why 3D* Management ? Perfect solution is not required eg: video, sound apps, games, … Utilize efficient algorithms** designed for unreliable systems Better trade-off Easier and faster design Less necessity for verification Introduction of reliability to the problem * Energy-Performance-Reliability ** [Kim, Shanbhag]

An Example Algorithm* Requires a certain limit on unreliability Cannot manage hardware for each new application Another layer of management required * [Kim, Shanbhag]

Resource Management What are the resources? – Cores: Frequency Power Reliability What are the users of those resources? – Threads Error Rate Workload Finish Time SCHEDULE THREADS ON RESOURCES WITH CORRECT TIMING

Scheduling Objective – Can be either of Energy (Our choice) Performance (To constraints: Deadline) Reliability (To constraints: Expected Number of Errors) Constraints – Mutual exclusion – Sequencing – Expected Number of Errors – Deadline

Scheduling Constraints Thread 1: Thread 2: Tasks t1t2t3 t1 t2 t3 t4 Core 1 (f) : Core 2 (0.5 f) : t1 t2 t3 t4 : 2: 4 Time

Scheduling Objective Current energy model (only busy time): – Thread migration + P busy * T busy + P idle * T idle ALL FORMULATED IN INTEGER LINEAR PROGRAMMING

Novelties of this Approach A systematic scheduling solution in ILP to a system with: Heterogeneous Cores Threads having different requirements Inter-thread dependency Thread migration overhead (both as energy and time) Gain from energy sacrificing either of Performance Reliability to the limit imposed by the software ?

How is this useful ? Size: Speed Darkness: Reliability Numbers: Power Size: Workload Darkness: ENE Numbers: Deadline initA() calculateA() initC() initD() calculateC() calculateD() initE() calculateE() calculateCE() 1000 ms800 ms700 ms 50W150W 75W50W formGraph() optimize()

Related Background Multiprocessor scheduling under precedence constraints: Polyhedral results [Coll, Riberio, Souza] – ILP formulation of the basic multiprocessor scheduling No definition of a thread (thread specific parameters are not valid: Performance, Reliability, etc…) – Mathematical result No interpretation of the concept – No reliability An ILP Formulation for Task Scheduling on Heterogeneous Chip Multiprocessors [Tosun, Mansouri, Kandemir, Ozturk] – 3D approach to the problem No definition of a thread (thread specific parameters are not valid: Performance, Reliability, etc…) Unrealistic Reliability Model Unrealistic Reliability Parameters – No direction about how to deploy the system

Future Work Improved Imprecision Model – A better statistical model – Imprecision defined on data Dynamic control – In case statistics are not enough Online management of cores – Online modification of core parameters (eg: DVFS) Software Language Support

Conclusion Different perspective to a known problem Managing complexity of HW/SW interface – Satisfying needs of the layers with abstraction Mathematically and systematically neat approach General solution with a detailed model

Thank you Questions ??? Questions ???