Title: Franciszek Seredynski, Damian Kurdej
1APPLYING LEARNING CLASSIFIER SYSTEMS for
MULTIPROCESSOR SCHEDULING PROBLEM
- Franciszek Seredynski, Damian Kurdej
- Polish Academy of Sciences and
- Polish-Japanese Institute of Information
Technology
2Motivations
- 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
3Plan of the presentation
- Multiprocessor Scheduling Problem
- The idea of LCS
- The concept of LCS-based scheduling
- Experimental results
- Conclusions
4Mutiprocessor scheduling problem
Examples of a precedence task graph (a) and a
system graph (b).
a) b)
Multiprocessor system undirected, unweighted
graph Gs(Vs,Es), called a system graph.
Parallel program weighted, directed, acyclic
graph GPltVP,EPgt, 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)
4
5 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 ?
6Idea of GA-based Learning Classifier System (LCS)
Learning Classifier System
System for discovery of new rules
Evaluation system
Decision system
Environment
7Idea of Learning Classifier System (LCS)
Learning Classifier System
System for discovery of new rules
Decision system
Evaluation system
Environment state or message e.g.10100
Environment
8Idea of Learning Classifier System (LCS)
Learning Classifier System
System for discovery of new rules
Decision system
Evaluation system
action e.g. Turn right
Environment state e.g.10100
Environment
9Idea of Learning Classifier System (LCS)
Learning Classifier System
System for discovery of new rules
Decision system
Evaluation system
reward e.g. 120
action e.g. Turn right
Environment state e.g.10100
Environment
10Classifier (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
11Classifier in XCS
a
e
exp
as
01000 1000 2,504 0,77 499 19924
146,76 109
C
p
f
ts
num
- 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
12XCS
Environment
5.
1.
a
s
2.
4.
3.
9.
8.
GA
Subsumption
7.
cover
Enforcement
6.
?
13Features of XCS
- Creates population of classifiers
- Processes messages received from environment
- Applies GA to evolve classifiers
- Sends action to environment
- Learns, generalizes and modifies the set of
classifiers
14Our 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 ?
15Set 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
16 XCS-based scheduling system
- XCS receives information about an instance of
the scheduling problem
XCS
1.
Program graph System graph
17 XCS-based scheduling system
- XCS receives information about an instance of
the scheduling problem - XCS selects the best available heuristic
XCS
1.
Program graph System graph
2.
scheduling algorithm
18 XCS-based scheduling system
- XCS receives information about an instance of
the scheduling problem - XCS selects the best heuristic from the set of
available heuristics - Program graph and a system graph become input
data of scheduling algorithm
XCS
1.
Program graph System graph
2.
3.
scheduling algorithm
19 XCS-based scheduling system
- XCS receives information about an instance of
the scheduling problem - XCS selects the best heuristic from the set of
available heuristics - Program graph and a system graph become input
data of scheduling algorithm - Scheduling algorithm delivers a solution
XCS
1.
Program graph System graph
2.
3.
scheduling algorithm
4.
Gantt diagram
20Program 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
21Distribution of tasks with a given computational
requirements/distribution of communication time
requirements
22Coding information concerning critical path based
on evaluation of comp/comm
- Computing ratios on critical path
- ratios0 1/4, ratios1 5/3, ratios2
1/3 - Normalization
- ratios0 3/27, coding as 01,
- ratios1 20/27,coding as 11,
- ratios2 4/27, coding as 01.
- Coding signal concerning critical path
0111010000000000
23Training LCS number of correct matching
scheduling algorithms to instances as function of
number of training cycles
24Training LCS population size of rules as
function of a number of cycles
25Training 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
26LCS-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
27Experiment k1, d1
28Experiment k2, d2
29Experiment k3, d3
30Normal operation mode summary of experiments
Number of correct matching heuristics to scheduling instances Number k of modified weights (tasks or communications) Difference d between initial weight value and the value after modification
90 1 1
80 2 2
75 3 3
31Conclusions
- 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