Integer programming approaches to simultaneous scheduling and register allocation on the C6X Andrew Gilpin, Rebecca Hutchinson April 12, 2005.

Slides:



Advertisements
Similar presentations
ECE 667 Synthesis and Verification of Digital Circuits
Advertisements

Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
ECE-777 System Level Design and Automation Hardware/Software Co-design
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.
Interconnect throughput modeling. Important network performance metrics Throughput – Point to point (link bandwidth + end host software overheads) – Aggregate.
Constraint Programming for Compiler Optimization March 2006.
Optimal Instruction Scheduling for Multi-Issue Processors using Constraint Programming Abid M. Malik and Peter van Beek David R. Cheriton School of Computer.
Progress in Linear Programming Based Branch-and-Bound Algorithms
Scenario Trees and Metaheuristics for Stochastic Inventory Routing Problems DOMinant Workshop, Molde, Norway, September , 2009 Lars Magnus Hvattum.
Greedy Algorithms Basic idea Connection to dynamic programming
OPTIMAL FSMD PARTITIONING FOR LOW POWER Nainesh Agarwal and Nikitas Dimopoulos Electrical and Computer Engineering University of Victoria.
Multi-Project Reticle Floorplanning and Wafer Dicing Andrew B. Kahng 1 Ion I. Mandoiu 2 Qinke Wang 1 Xu Xu 1 Alex Zelikovsky 3 (1) CSE Department, University.
School of Computer Science A Global Progressive Register Allocator David Ryan Koes Seth Copen Goldstein Carnegie Mellon University
Improving Market-Based Task Allocation with Optimal Seed Schedules IAS-11, Ottawa. September 1, 2010 G. Ayorkor Korsah 1 Balajee Kannan 1, Imran Fanaswala.
Carnegie Mellon 1 Optimal Scheduling “in a lifetime” for the SPIRAL compiler Frédéric de Mesmay Theodoros Strigkos based on Y. Voronenko’s idea.
Quality-Aware Segment Transmission Scheduling in Peer-to-Peer Streaming Systems Cheng-Hsin Hsu Senior Research Scientist Deutsche Telekom R&D Lab USA Los.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
2005 International Symposium on Code Generation and Optimization Progressive Register Allocation for Irregular Architectures David Koes
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
CS541 Advanced Networking 1 Introduction to Optimization Neil Tang 2/23/2009.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Article Title: Optimization model for resource assignment problems of linear construction projects ShuShun Liu & ChangJung Wang, National Yunlin University.
Operations Research Models
Task Alloc. In Dist. Embed. Systems Murat Semerci A.Yasin Çitkaya CMPE 511 COMPUTER ARCHITECTURE.
ISE420 Algorithmic Operations Research Asst.Prof.Dr. Arslan M. Örnek Industrial Systems Engineering.
Embedded System Design Framework for Minimizing Code Size and Guaranteeing Real-Time Requirements Insik Shin, Insup Lee, & Sang Lyul Min CIS, Penn, USACSE,
Orchestration by Approximation Mapping Stream Programs onto Multicore Architectures S. M. Farhad (University of Sydney) Joint work with Yousun Ko Bernd.
Operations Research Lecturer Eng. Ahmed H. Abo absa 2 nd Semester ITGD4207 University of Palestine.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
Can Cloud Computing be Used for Planning? An Initial Study Authors: Qiang Lu*, You Xu†, Ruoyun Huang†, Yixin Chen† and Guoliang Chen* from *University.
Static Translation of Stream Programs S. M. Farhad School of Information Technology The University of Sydney.
Interconnect Performance Modeling. Performance modeling Given an interconnect topology, routing, and other parameters, predict the interconnect performance.
CMPE 511 Computer Architecture A Faster Optimal Register Allocator Betül Demiröz.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Scheduling Optimization in Wireless MESH Networks with Power Control and Rate Adaptation SECON 2006 Antonio Capone and Giuliana Carello Keon Jang 2007.
1 Distributed and Optimal Motion Planning for Multiple Mobile Robots Yi Guo and Lynne Parker Center for Engineering Science Advanced Research Computer.
Hsing-Chih Chang Chien Hung-Chih Ou Tung-Chieh Chen Ta-Yu Kuan Yao-Wen Chang Double Patterning Lithography-Aware Analog Placement.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
Contingency-Constrained PMU Placement in Power Networks
FORS 8450 Advanced Forest Planning Lecture 5 Relatively Straightforward Stochastic Approach.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
What is operation research? - The first formal activities of operation research (OR) where initiates in England during world war Π. - following the end.
DTM and Reliability High temperature greatly degrades reliability
Operations Research The OR Process. What is OR? It is a Process It assists Decision Makers It has a set of Tools It is applicable in many Situations.
Rounding scheme if r * j  1 then r j := 1  When the number of processors assigned in the continuous solution is between 0 and 1 for each task, the speed.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
Optimal Superblock Scheduling Using Enumeration Ghassan Shobaki, CS Dept. Kent Wilken, ECE Dept. University of California, Davis
September 28, 2000 Improved Simultaneous Data Reconciliation, Bias Detection and Identification Using Mixed Integer Optimization Methods Presented by:
Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy.
Outline Motivation and Contributions Related Works ILP Formulation
Physically Aware HW/SW Partitioning for Reconfigurable Architectures with Partial Dynamic Reconfiguration Sudarshan Banarjee, Elaheh Bozorgzadeh, Nikil.
Operations Research Models and Methods Advanced Operations Research Reference: Operations Research Models and Methods, Operations Research Models and Methods,
Efficient Point Coverage in Wireless Sensor Networks Jie Wang and Ning Zhong Department of Computer Science University of Massachusetts Journal of Combinatorial.
XGRouter: high-quality global router in X-architecture with particle swarm optimization Frontiers of Computer Science, 2015, 9(4):576–594 Genggeng LIU,
Problem Solving.  Similar to Solving Math Word Problem  Read the Problem  Decide how to go about Solving the Problem  Solve the Problem  Test the.
Geraint Palmer Optimisation using Linear Programming.
Progress Report—11/13 宗慶. Problem Statement Find kernels of large and sparse linear systems over GF(2)
CPU SCHEDULING.
Chapter1 Fundamental of Computer Design
Greedy Algorithms Basic idea Connection to dynamic programming
Page Replacement.
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
“Rate-Optimal” Resource-Constrained Software Pipelining
Research: Past, Present and Future
Presentation transcript:

Integer programming approaches to simultaneous scheduling and register allocation on the C6X Andrew Gilpin, Rebecca Hutchinson April 12, 2005

Project Outline Formulate scheduling as an ILP. Sanity check formulation using CPLEX to solve. Translate Pegasus format to ILP; translate CPLEX solution back to Pegasus. Formulate and incorporate register allocation into the ILP and translation.

ILP Formulation (examples of basic constraints)

ILP Formulation (examples of dealing with the crosspath)

Modeling implications in ILP

Implementation Progress Formulation complete, implementation halfway done Taking advantage of new technology –Latest version of CPLEX allows “warm- starts” –Allows us to use list-scheduling solution to “seed” the ILP, hopefully yielding faster solve times Hopefully we can extend this model to include register allocation as well

Proposed evaluation Compare schedule lengths of our algorithm to schedule sizes from Leuper’s algorithm –Test data: functions in test.c Also compare compile times –We expect to be slower, but how much? Compare running times in simulator

References Wilken, Liu, and Heffernan. “Optimal Instruction Scheulding Using Integer Programming.” PLDI Chang, Chen, and King. “Using Integer Linear Programming for Instruction Scheduling and Register Allocation in Multi-issue Processors.” Computers and Mathematics with Applications, Vol 34(9):1-14. Goodwin and Wilken. “Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming.” Software-Practice and Experience, Vol 26(8), , August Texas Instruments: TMS320C62xx CPU and Instruction Set Reference Guide, www.ti.com/sc/c6x