Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1663 pj 1
VALUE SCHEDULER SUITE
2
---------------------
3
 
4
by Paolo Gai 2001
5
 
6
---------------------
7
 
8
NOTE (2004/07/05): This version of crunch WAS working with an old version of
9
shark. it should not be too difficult to make it working on the new
10
versions. But be aware that the Scheduling Modules interface has
11
changed...
12
 
13
---------------------
14
 
15
This is a set of programs I wrote for the assignments in the Malardalens
16
University, Sweden.
17
 
18
The assignment for the students was the creation of a value scheduler that
19
can handle overload.
20
 
21
---------------------------------------------------------------------------
22
 
23
Directories:
24
 
25
- This directoty should contain only this file and a makefile that should
26
  help in the creation of the applications.
27
 
28
- The LOAD directory contains a little application that can be used to
29
  generate some random load composed by a set of HARD and VALUE tasks with
30
  different execution time.
31
 
32
- The CRUNCH directory contains all the source code of the value schedulers
33
  done by me and by the students, plus an application called CRUNCH used
34
  to test the performance of the schedulers.
35
 
36
- The OUT directory contains all the compiled CRUNCH applications.
37
  Every bynary image contains the CRUNCH application configured with
38
  different scheduling algorithms.
39
 
40
---------------------------------------------------------------------------
41
 
42
LOAD GENERATION
43
 
44
The load generation produces a .dat file suited for the CRUNCH
45
application. The produced file contains a set of hard periodic tasks and
46
a set of value tasks.
47
 
48
The load generation can be tuned in various ways, and a set of small
49
C programs are provided to step-by-step generate the load.
50
 
51
Start: Length of the load pattern
52
---------------------------------
53
First, we need the length of the load pattern. This information has
54
to be given in the LENGTH.DAT configuration file (that file contains only
55
the number of seconds that the load should cope.
56
 
57
Step 1: Generation of the Shape of the hard periodic load
58
---------------------------------------------------------
59
Given the LENGTH.DAT file, we need to produce a random shape for the
60
Periodic load.
61
 
62
The random shape is the limit of bandwith that a certain time can be
63
available for creating hard tasks. Hard task creation is disabled
64
if the currently used bandwidth is higher than the limit.
65
 
66
The random shape is contained into the SHAPE.DAT file. The file contains
67
a sequence of numbers in the form: <time> <b>,
68
where <time> is the time in seconds to wich refers the threshold,
69
and <b> is the maximum bandwidth that can be used after <time>.
70
The data is ordered by time.
71
 
72
Step 2: Generation of the Hard Task pattern
73
-------------------------------------------
74
Given the Shape of the pattern to be created, a small application
75
really generates the load that will be handled by the CRUNCH application.
76
The output of this phase is contained into the file HPATTERN.DAT.
77
 
78
Step 3: Generation of the Value pattern
79
---------------------------------------
80
Starting from the informations contained into the SHAPE.DAT, step 3
81
produces an aperiodic load.
82
 
83
The load is formed by a set of different tasks with different wcets and
84
dline.
85
 
86
a first set (called random) is really random with random periods and wcets
87
 
88
a second set (called bad) creates a set of big tasks with long dline and
89
a set of tasks with short dline, similar to the pattern used by Baruah
90
(in any case it remains offline.
91
 
92
Step 4: Creation of the file for the value scheduler
93
----------------------------------------------------
94
Finally, the step4 takes as imput the outputs from step3 and step2 toi create
95
the initialization file for crunch...