Franciszek Seredynski, Damian Kurdej Polish Academy of Sciences and Polish-Japanese Institute of Information Technology APPLYING LEARNING CLASSIFIER SYSTEMS.

Slides:



Advertisements
Similar presentations
Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: feasible, i.e. satisfying the.
Advertisements

Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Coverage by Directional Sensors Jing Ai and Alhussein A. Abouzeid Dept. of Electrical, Computer and Systems Engineering Rensselaer Polytechnic Institute.
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Distributed Process Scheduling Summery Distributed Process Scheduling Summery BY:-Yonatan Negash.
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
The Complexity of the Network Design Problem Networks, 1978 Classic Paper Reading
Regulatory Network (Part II) 11/05/07. Methods Linear –PCA (Raychaudhuri et al. 2000) –NIR (Gardner et al. 2003) Nonlinear –Bayesian network (Friedman.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
The Theory of NP-Completeness
AN ADAPTIVE PLANNER BASED ON LEARNING OF PLANNING PERFORMANCE Kreshna Gopal & Thomas R. Ioerger Department of Computer Science Texas A&M University College.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Analysis of Algorithms CS 477/677
Online Data Gathering for Maximizing Network Lifetime in Sensor Networks IEEE transactions on Mobile Computing Weifa Liang, YuZhen Liu.
A Local Facility Location Algorithm Supervisor: Assaf Schuster Denis Krivitski Technion – Israel Institute of Technology.
On the Task Assignment Problem : Two New Efficient Heuristic Algorithms.
1 of 16 June 21, 2000 Schedulability Analysis for Systems with Data and Control Dependencies Paul Pop, Petru Eles, Zebo Peng Department of Computer and.
DAC 2001: Paper 18.2 Center for Embedded Computer Systems, UC Irvine Center for Embedded Computer Systems University of California, Irvine
1 of 14 1 / 18 An Approach to Incremental Design of Distributed Embedded Systems Paul Pop, Petru Eles, Traian Pop, Zebo Peng Department of Computer and.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Embedded System Design Framework for Minimizing Code Size and Guaranteeing Real-Time Requirements Insik Shin, Insup Lee, & Sang Lyul Min CIS, Penn, USACSE,
MACHINE LEARNING. What is learning? A computer program learns if it improves its performance at some task through experience (T. Mitchell, 1997) A computer.
Distributed Process Management1 Learning Objectives Distributed Scheduling Algorithms Coordinator Elections Orphan Processes.
1 Algorithms for Bandwidth Efficient Multicast Routing in Multi-channel Multi-radio Wireless Mesh Networks Hoang Lan Nguyen and Uyen Trang Nguyen Presenter:
Omar Darwish.  Load balancing is the process of improving the performance of a parallel and distributed system through a redistribution of load among.
Scheduling Parallel Task
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Efficient Direct Density Ratio Estimation for Non-stationarity Adaptation and Outlier Detection Takafumi Kanamori Shohei Hido NIPS 2008.
Bold Stroke January 13, 2003 Advanced Algorithms CS 539/441 OR In Search Of Efficient General Solutions Joe Hoffert
Artificial Neural Networks (ANN). Output Y is 1 if at least two of the three inputs are equal to 1.
Mehdi Kargar Aijun An York University, Toronto, Canada Keyword Search in Graphs: Finding r-cliques.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Static Process Schedule Csc8320 Chapter 5.2 Yunmei Lu
Meta Optimization Improving Compiler Heuristics with Machine Learning Mark Stephenson, Una-May O’Reilly, Martin Martin, and Saman Amarasinghe MIT Computer.
Software Project Management
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
1 Customer-Aware Task Allocation and Scheduling for Multi-Mode MPSoCs Lin Huang, Rong Ye and Qiang Xu CHhk REliable computing laboratory (CURE) The Chinese.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 08, 2005 Session 16.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
1 Andreea Chis under the guidance of Frédéric Desprez and Eddy Caron Scheduling for a Climate Forecast Application ANR-05-CIGC-11.
Doshisha Univ., Kyoto, Japan CEC2003 Adaptive Temperature Schedule Determined by Genetic Algorithm for Parallel Simulated Annealing Doshisha University,
Mehdi Kargar Aijun An York University, Toronto, Canada Keyword Search in Graphs: Finding r-cliques.
Immune Genetic Algorithms for Optimization of Task Priorities and FlexRay Frame Identifiers Soheil Samii 1, Yanfei Yin 1,2, Zebo Peng 1, Petru Eles 1,
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
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.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
1 Lic Presentation Memory Aware Task Assignment and Scheduling for Multiprocessor Embedded Systems Radoslaw Szymanek / Embedded System Design
Learning Classifier Systems (Introduction) Muhammad Iqbal Evolutionary Computation Research Group School of Engineering and Computer Science Victoria University.
OPTIMIZING DSP SCHEDULING VIA ADDRESS ASSIGNMENT WITH ARRAY AND LOOP TRANSFORMATION Chun Xue, Zili Shao, Ying Chen, Edwin H.-M. Sha Department of Computer.
1 Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible b locally optimal.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
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.
Static Process Scheduling
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa 2016/3/111 Shang-Chi Wu.
Approximating ATSP by Relaxing Connectivity Ola Svensson.
Greedy Technique.
A Study of Group-Tree Matching in Large Scale Group Communications
A Dynamic Critical Path Algorithm for Scheduling Scientific Workflow Applications on Global Grids e-Science IEEE 2007 Report: Wei-Cheng Lee
Parallel Programming in C with MPI and OpenMP
Presentation transcript:

Franciszek Seredynski, Damian Kurdej Polish Academy of Sciences and Polish-Japanese Institute of Information Technology APPLYING LEARNING CLASSIFIER SYSTEMS for MULTIPROCESSOR SCHEDULING PROBLEM MULTIPROCESSOR SCHEDULING PROBLEM

Motivations New scheduling algorithms are proposed near every day In the light of –NP-hard compliteness of the scheduling problem, and –No free lunch theorem concerning metaheuristics this situation may last forever, at least till the moment of appearing quantum computers Can we use the knowledge gained from the experience with already known scheduling algorithms (hypeheuristics approach) ? We will use GA-based Learning classifier systems (LCS) to extract some knowledge and use it in the scheduling process

 Multiprocessor Scheduling Problem  The idea of LCS  The concept of LCS-based scheduling  Experimental results  Conclusions

4 Multiprocessor system: undirected, unweighted graph G s =(V s,E s ), called a system graph. Parallel program: weighted, directed, acyclic graph G P =, called a precedence task graph or a program graph. The purpose of the scheduling is to distribute the tasks among the processors in such a way that the precedence constraints are preserved and the response time T (the total execution time) is minimized. T = f (allocation, scheduling_policy = const) Examples of a precedence task graph (a) and a system graph (b). t1t1 t1t1 t3t3 t3t3 t2t2 t2t t4t4 t4t4 P1P1 P1P1 P3P3 P3P3 P4P4 P4P4 P2P2 P2P2 a) b)

Problem formulation Given a set of program graph instances Given a multiprocessor system Given a number of scheduling algorithms (heuristics) solving instances of the scheduling problem with some efficiency Is it possible to train LCS system to match a given instance of the scheduling problem with the best for it scheduling algorithm (to minimize the total exectution time) from a set of scheduling algorithms ?

I dea of GA-based Learning Classifier System (LCS) Learning Classifier System Evaluation system Decision system System for discovery of new rules Environment

I dea of Learning Classifier System (LCS) Learning Classifier System System for discovery of new rules Decision system Evaluation system Environment Environment state or message e.g.10100

I dea of Learning Classifier System (LCS) Learning Classifier System System for discovery of new rules Decision system Evaluation system Environment action e.g. Turn right Environment state e.g.10100

I dea of Learning Classifier System (LCS) Learning Classifier System System for discovery of new rules Decision system Evaluation system Environment reward e.g. 120 action e.g. Turn right Environment state e.g.10100

Classifier (rule) in classical LCS The structure of a classifier –Condtition part C –Action A –Strength S Strength S –Used when a classifier is selected from a set of classifiers to perform an action –Used when GA creates new rules #011: 01 : 43 C A S

Classifier in XCS C: condition part a: action p: expected reward e: prediction error f: fitness exp: experience of classifier ts: remembers recent time when GA was applied to this classifier as: expected population size [A], in which appears classifier num: numerosity of classifier 010##0#####: ,504 0, , C a p ε fts exp as num

XCS Environment Detector 0011 Population [P] C : a : p: e: f #011:01:43:.01:99 #0##:11:11:.13:9 001#:01:27:.05:52 #0#1:11:18:.24:3 11##:00:32:.02:92 1#01:10:24:.17:15... Match set [M] C : a : p: e: f #011:01:43:.01:99 #0##:11:11:.13:9 001#:01:27:.05:52 #0#1:11:18:.24:3 Action set [A] C : a : p: e: f #011:01:43:.01:99 001#:01:27:.05:52 Action set [A] -1 C : a : p: e: f 11##:00:32:.02:92 Efector 01 cover Prediction array PA , Enforcement GA Subsumption ρ σ a

Features of XCS Creates population of classifiers Pr ocesses messages received from environment Applies GA to evolve classifiers Sends action to environment Learns, generalizes and modifies the set of classifiers

Our problem Given 200 program graph instances created on the base of the 15-tree graph: training set Each instance is a tree with different random task and communication weights Two processor system is considered Given 5 scheduling heuristics We want to train LCS system to select in the best way the scheduling heuristic to solve given set of instance of the scheduling problem to provide the best possible solutions ?

Set of list algorithms ISH (Insert Scheduling Heuristic) MCP (Modified Critical Path) STF (Shortest Time First) LTF (Longest Time First) own list algorithm: priority of a task depends on a size of the subgraph We know how works each algorithm (response time) on the set of scheduling instances

XCS-based scheduling system 1.XCS receives information about an instance of the scheduling problem Program graph + System graph XCS 1.

XCS-based scheduling system 1.XCS receives information about an instance of the scheduling problem 2.XCS selects the best available heuristic Program graph + System graph XCS scheduling algorithm 1. 2.

XCS-based scheduling system 1.XCS receives information about an instance of the scheduling problem 2.XCS selects the best heuristic from the set of available heuristics 3.Program graph and a system graph become input data of scheduling algorithm Program graph + System graph XCS scheduling algorithm

XCS-based scheduling system 1.XCS receives information about an instance of the scheduling problem 2.XCS selects the best heuristic from the set of available heuristics 3.Program graph and a system graph become input data of scheduling algorithm 4.Scheduling algorithm delivers a solution Program graph + System graph XCS scheduling algorithm Gantt diagram

Program graph signature: the basic information concerning program graph LCS receives from environment a signature of program graph The signature codes some static properties of program graph – comm/comp – the averaged communication to computation time for a program graph (3 bits) – information about distribution of tasks with a given computational requirements (12 bits) – information about distribution of communication time requirements to communicate between tasks (12 bits) – Information about critical path based on evaluation of comp/comm (16bits) The length of the signature: 43 bits

Distribution of tasks with a given computational requirements/ distribution of communication time requirements

Coding information concerning critical path based on evaluation of comp/comm Computing ratios on critical path : ratios[0] = 1/4, ratios[1] = 5/3, ratios[2] = 1/3 Normaliza tion : ratios[0] = 3/27, coding as 01, ratios[1] = 20/27, coding as 11, ratios[2] = 4/27, coding as 01. Coding signal concerning critical path:

Training LCS: number of correct matching scheduling algorithms to instances as function of number of training cycles

Training LCS: population size of rules as function of a number of cycles

Training: summary of experiments Nontrained system correctly matched heuristics with scheduling instances in 40-50% cases The system was able to learn to match correctly in 100% heuristics to instances It means that information about the matching process was extracted during the learning process Classifiers contain this information and during the learning process the process of generalization of rules was observed Learning process is a costly process, but the gained information can be used in the scheduling

LCS-based scheduling system: normal operation mode Modification of instances (program graphs) from training set: testing set All computation and communication weights were scailed by 10 Next, weights of k tasks or communications were changed by constant d

Experiment: k=1, d=1

Experiment: k=2, d=2

Experiment: k=3, d=3

Normal operation mode: summary of experiments Number of correct matching heuristics to scheduling instances Number k of mod ified weights (tasks or communications) Difference d between initial weight value and the value after modification 90% 11 80% 22 75% 33

Conclusions LCS has been proposed to learn optimal matching scheduling algorithms to instances Instances were represented by specially signatures During the learning process the knowledge about matching was extracted in the shape of LCS rules, and next generalized Creating signatures is one of the most crucial issues in the proposed approach Performance of the system depends also on many parameters of LCS We believe that encouraging results of experiments open new possibilities in developing hyperheuristics