SOFTWARE / HARDWARE PARTITIONING TECHNIQUES SHaPES: A New Approach.

Slides:



Advertisements
Similar presentations
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Advertisements

Load Balancing Parallel Applications on Heterogeneous Platforms.
Hadi Goudarzi and Massoud Pedram
Lecture 6: Job Shop Scheduling Introduction
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of.
Planning under Uncertainty
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Chapter 2: Model of scheduling problem Components of any model: Decision variables –What we can change to optimize the system, i.e., model output Parameters.
Genetic Algorithms for multiple resource constraints Production Scheduling with multiple levels of product structure By : Pupong Pongcharoen (Ph.D. Research.
CS107 Introduction to Computer Science
Requirements Analysis Lecture #3 David Andrews
System Partitioning Kris Kuchcinski
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
What we will cover…  CPU Scheduling  Basic Concepts  Scheduling Criteria  Scheduling Algorithms  Evaluations 1-1 Lecture 4.
Deterministic Scheduling
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
CHAPTER 19 Scheduling Operations Management, Eighth Edition, by William J. Stevenson Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Optimal Scheduling for ICU Patients SIDDHANT BHATT STEVE BOYLE ERICA CUNNINGHAM.
Task Alloc. In Dist. Embed. Systems Murat Semerci A.Yasin Çitkaya CMPE 511 COMPUTER ARCHITECTURE.
Column Generation Approach for Operating Rooms Planning Mehdi LAMIRI, Xiaolan XIE and ZHANG Shuguang Industrial Engineering and Computer Sciences Division.
1 Chapter 24 Developing Efficient Algorithms. 2 Executing Time Suppose two algorithms perform the same task such as search (linear search vs. binary search)
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
Scheduling policies for real- time embedded systems.
Image segmentation Prof. Noah Snavely CS1114
Chapter 5B: Hardware/Software Codesign / Partitioning EECE **** Embedded System Design.
Spring 2015 Mathematics in Management Science Critical Path Scheduling Critical Paths & Times Backflow Algorithm Critical Times PL Critical Path Algorithm.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
6. Application mapping 6.1 Problem definition
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
Outline Introduction Minimizing the makespan Minimizing total flowtime
Scheduling. Scheduling: The allocation of resources over time to accomplish specific tasks. Demand scheduling: A type of scheduling whereby customers.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
Real-Time systems By Dr. Amin Danial Asham.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Introduction to Real-Time Systems
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 3.
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: Distributed System Co- Synthesis Part of HW/SW Codesign of Embedded Systems Course.
Production SchedulingP.C. Chang, IEM, YZU. 1 How to schedule ?? How to find 1. an efficient Heuristic? 2. the optimal solution?
CSE 421 Algorithms Richard Anderson Lecture 8 Greedy Algorithms: Homework Scheduling and Optimal Caching.
Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 C1C1 C3C3 C4C4 Turret lathes Vertical mills Center lathes Drills From “Fundamentals of.
16 Scheduling (focus on sequencing; FCFS, SPT, EDD pages , and Johnson’s rule pages ) Homework; 6, 7, 11.
CHAPTER 8 Operations Scheduling
Lecture 8: Dispatch Rules
assemble-to-order (ATO) A system that produces standard modules to be
Real-time Software Design
Greedy Algorithms.
Apollo Weize Sun Feb.17th, 2017.
Richard Anderson Autumn 2015 Lecture 8 – Greedy Algorithms II
CSCI1600: Embedded and Real Time Software
Greedy Algorithms: Homework Scheduling and Optimal Caching
Richard Anderson Lecture 6 Greedy Algorithms
8 Job Sequencing & Operations Scheduling CHAPTER Arranged by
Richard Anderson Autumn 2016 Lecture 7
Richard Anderson Lecture 7 Greedy Algorithms
Richard Anderson Winter 2019 Lecture 8 – Greedy Algorithms II
Topic 15 Job Shop Scheduling.
Richard Anderson Autumn 2016 Lecture 8 – Greedy Algorithms II
Richard Anderson Winter 2019 Lecture 7
Richard Anderson Autumn 2015 Lecture 7
Richard Anderson Autumn 2019 Lecture 7
Richard Anderson Autumn 2019 Lecture 8 – Greedy Algorithms II
Presentation transcript:

SOFTWARE / HARDWARE PARTITIONING TECHNIQUES SHaPES: A New Approach

Background  The allocation of a system’s functionality into hardware and software components has a significant impact on total system cost.  Partitioning algorithms usually target one of the following types of systems:  Single-processor, single-ASIC (or FPGA) SOC  Multiple processing element (PE), distributed heterogeneous system

Background  The three main sub-problems that must be solved when determining the hardware-software partitioning of a system:  Functional Clustering – cluster system functionality into a set of tasks  Allocation – allocate a task to either hardware or software  Scheduling – schedule tasks to ensure correct timing  These problems are independent

Background  These are hard problems!  Allocation and scheduling are NP-hard  There’s an exponential number of different possible clusters  Huh?  NP-hard means superpolynomial time (e.g. O(2^N))  We’ll have to use a heuristics based approach if we want to get a solution in our lifetime

Background  Heuristic-based solutions have their own problems  Random Search: takes a long time  Iterative Improvement: quality of final solution proportional to quality of initial revision  Constructive: yields good solutions, good execution time, etc., but scheduling is a bi-product, not the main focus.

Who you gonna call? SHaPES “Software-Hardware Partitioning For Embedded Systems”

Formulating The Problem  This approach assumes a single microprocessor and single ASIC SOC as the target platform  Looks at the partitioning problem as a real-time scheduling problem… we’re scheduling a set of periodic and sporadic tasks  Tasks are implemented either completely in hardware or software

Formulating The Problem  Implementation Costs We Care About:  Hardware Area  Power Consumption  Timing Constraints  But, a scheduling problem can’t model size and power constraints!

Formulating The Problem  Hard-timing constraints modeled as follows:  Processing Time (p j ): How long it takes a task to execute on the microprocessor uninterupted  Release Time (r j ): The earliest moment as which a task can begin execution  Deadline (d j ): The time by which the task should be completed  Weight (w j ): The importance of a task

Formulating The Problem  Under this model, all tasks start out initially in software. Rejecting a task implies it should be implemented in hardware.  Since hardware is always assumed to be fast- enough for a task, you could cheat and reject all tasks, but that’s not realistic

Formulating The Problem  Violations are modeled as “costs;” the further past the deadline a task completes and the higher the weight of the task, the higher the penalty  Delegating a task to hardware is also modeled as a cost, called the “rejection cost,” represented by e j

Formulating The Problem  Thus, the crux of the problem is: Partition the set of tasks such that the sum of costs incurred by overtime software tasks and the rejection costs incurred by implementing a task in hardware are minimized

Formulating The Problem  But, sometimes a task has to wait around for other tasks to complete before they can start!  These dependencies are accounted for and are referred to as “precedence constraints” in the paper.

Solving The Scheduling Problem  Scheduling a set of jobs to minimize overall tardiness is an old problem (older than you)  Some simple approaches are:  Earliest Due Date (EDD)  Shortest Processing Time First (SPT)  This paper, however, uses ATC or Apparent Tardiness Cost

Solving The Scheduling Problem  Tasks are scheduled in non-increasing priority with priority defined as:

Solving The Scheduling Problem  Note that the formula includes the processing time of the subsequent task  Thus, that value is replaced with kp, where p is the average execution time, and k is a look-ahead factor whose value depends on how many tasks are completing late.

Solving The Scheduling Problem  ATC dispatching is basically a proportion of the weight to the execution time, scaled by how much time you still have to schedule the task  Thus, the priority of a task increases the closer you are to its deadline  Good News: The algorithm still works pretty well even if your processing time estimates contain errors (but that’s another paper)

Dealing With Idleness  Basic Idea: ATC designates a task that should be run next, but its release time has not yet been reached. The system will have to sit idle until that time is reached.  Solution: Scale the priority of a task proportional to this idleness:

Rubber Hits The Road  Start with all tasks initially in software partition  At a given time t, take the task with the largest ATC  Multiply its weight by its tardiness (completion time – deadline)  If the above cost is greater than its rejection cost, reject it to hardware and pick another task

Rubber Hits The Road  Repeat this until you have an ordered set of software tasks, and a set of tasks that have been rejected to hardware.  Re-run the algorithm for the hardware tasks with appropriate processing times.  If you have no rejected hardware tasks, you’re done!  If you do have rejected hardware tasks, you need to pick different hardware and start over.

Questions