forked from nils.hoelscher/RTSA-lab02-SchedTest
Better Task Sets and printing.
This commit is contained in:
parent
e98e7e9cb6
commit
7c9f6a55a5
|
@ -19,7 +19,7 @@ The tasksets are represented by a 2D array, where row i is a Task i and the colu
|
|||
|
||||
## Runing the Tests
|
||||
|
||||
Make sure you have at least python3, argparse and numpy installed.
|
||||
Make sure you have at least python3, argparse, numpy and tabulate installed.
|
||||
Argpoarse and Numpy can be installed via pip.
|
||||
|
||||
Use the SchedTest.py Script
|
||||
|
|
33
SchedTest.py
33
SchedTest.py
|
@ -1,9 +1,12 @@
|
|||
import argparse
|
||||
import numpy as np
|
||||
from tabulate import tabulate
|
||||
|
||||
import schedTests.LiuAndLaylandBound as LLB
|
||||
import schedTests.TimeDemandAnalysis as TDA
|
||||
import schedTests.HyperbolicBound as HB
|
||||
import include.TasksHelper as TH
|
||||
import task_sets.TaskSetGenerator as gen
|
||||
# This function Parses the Input Arguments
|
||||
|
||||
|
||||
|
@ -35,9 +38,10 @@ def main():
|
|||
# Parse Arguments
|
||||
args = parse_args()
|
||||
print(args.i)
|
||||
|
||||
np.set_printoptions(threshold=np.inf)
|
||||
# Read Tasksets from txt files
|
||||
tasksets = get_tasksets(args.i, args.n)
|
||||
#tasksets = gen.gen_np_taskset(100)
|
||||
print("Successfully parsed Task Sets")
|
||||
shape = tasksets.shape
|
||||
print("Nr. of Task Sets: " + str(shape[0]))
|
||||
|
@ -46,15 +50,18 @@ def main():
|
|||
# Starting the analysis
|
||||
print("Starting Liu and Layland bound analysis!")
|
||||
stubLLB = []
|
||||
for _ in range(shape[0]):
|
||||
stubU = []
|
||||
for k in range(shape[0]):
|
||||
stubLLB.append(False)
|
||||
stubU.append(TH.getTotalUtilization(tasksets[k], shape[1]))
|
||||
LLBresults = np.array(stubLLB)
|
||||
U = np.array(stubU)
|
||||
for i in range(shape[0]):
|
||||
if LLB.test(tasksets[i]):
|
||||
LLBresults[i] = True
|
||||
print("Task Set: " + str(i) +
|
||||
" fulfills necessary the Liu and Layland Bound!")
|
||||
print()
|
||||
# print("Task Set: " + str(i) +
|
||||
# " fulfills necessary the Liu and Layland Bound!")
|
||||
#print()
|
||||
|
||||
print("Starting Hyperbolic bound analysis!")
|
||||
stubHB = []
|
||||
|
@ -64,9 +71,9 @@ def main():
|
|||
for i in range(shape[0]):
|
||||
if HB.test(tasksets[i]):
|
||||
HBresults[i] = True
|
||||
print("Task Set: " + str(i) +
|
||||
" fulfills the sufficient Hyperbolic Bound!")
|
||||
print()
|
||||
# print("Task Set: " + str(i) +
|
||||
# " fulfills the sufficient Hyperbolic Bound!")
|
||||
#print()
|
||||
|
||||
print("Starting Time Demand Analysis!")
|
||||
stubTDA = []
|
||||
|
@ -76,7 +83,15 @@ def main():
|
|||
for i in range(shape[0]):
|
||||
if TDA.test(tasksets[i]) > 0:
|
||||
TDAresults[i] = True
|
||||
print("Task Set: " + str(i) + " is feasible by TDA analysis!")
|
||||
#print("Task Set: " + str(i) + " is feasible by TDA analysis!")
|
||||
|
||||
#print results
|
||||
headers = ["#", "U", "LLB", "HB", "TDA"]
|
||||
# Generate the table in fancy format.
|
||||
results = np.array((np.arange(shape[0]), U, LLBresults, HBresults, TDAresults)).T
|
||||
table = tabulate(results, headers, tablefmt="fancy_grid")
|
||||
print(table)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -13,7 +13,6 @@ import include.TasksHelper as TH
|
|||
# C_i is accessed as: tasks[i][2]
|
||||
# The number of tasks can be accessed as: tasks.shape[0]
|
||||
|
||||
|
||||
#The Time Demand Analysis Test
|
||||
def test(tasks):
|
||||
#Sorting Taskset by Period/Deadline
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,199 +1,177 @@
|
|||
6.2504383551,6.2504383551,0.0712695584018
|
||||
91.7301596676,91.7301596676,1.85973864123
|
||||
5.54218170236,5.54218170236,0.368699984512
|
||||
35.365405996,35.365405996,3.61197473745
|
||||
7.80223783742,7.80223783742,0.395892416097
|
||||
65.6532097008,65.6532097008,4.65778060945
|
||||
3.25455707226,3.25455707226,0.0688358070731
|
||||
91.8771630371,91.8771630371,10.1540122581
|
||||
9.84506928434,9.84506928434,0.689891296569
|
||||
82.9195512397,82.9195512397,12.9550003692
|
||||
1.55088526e+01,1.55088526e+01,7.72156853e-01
|
||||
1.32443479e+01,1.32443479e+01,2.58768434e-01
|
||||
5.13385122e+01,5.13385122e+01,1.87312465e+00
|
||||
6.29912342e+01,6.29912342e+01,2.38572270e+00
|
||||
2.70293102e+01,2.70293102e+01,2.15938076e+00
|
||||
5.02831001e+00,5.02831001e+00,3.96028055e-01
|
||||
2.12921765e+00,2.12921765e+00,7.74909311e-02
|
||||
7.73772838e+01,7.73772838e+01,7.19953850e-01
|
||||
8.33329504e+00,8.33329504e+00,1.42241801e+00
|
||||
8.57190280e+00,8.57190280e+00,2.68083582e-01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.072317640143
|
||||
91.7301596676,91.7301596676,1.8870877389
|
||||
5.54218170236,5.54218170236,0.374122043108
|
||||
35.365405996,35.365405996,3.665092013
|
||||
7.80223783742,7.80223783742,0.401714363393
|
||||
65.6532097008,65.6532097008,4.72627738312
|
||||
3.25455707226,3.25455707226,0.0698480983536
|
||||
91.8771630371,91.8771630371,10.3033359678
|
||||
9.84506928434,9.84506928434,0.700036756813
|
||||
82.9195512397,82.9195512397,13.1455150805
|
||||
2.09979589e+01,2.09979589e+01,6.89770055e-02
|
||||
1.25233211e+01,1.25233211e+01,1.83377181e+00
|
||||
1.36280373e+01,1.36280373e+01,2.99349676e-02
|
||||
2.25433452e+00,2.25433452e+00,3.70871085e-01
|
||||
9.32240731e+00,9.32240731e+00,1.16486721e-01
|
||||
1.72956043e+00,1.72956043e+00,6.87984604e-02
|
||||
4.26116749e+01,4.26116749e+01,1.46456666e+00
|
||||
6.09409904e+01,6.09409904e+01,3.74655568e+00
|
||||
1.95855461e+00,1.95855461e+00,1.40299437e-01
|
||||
1.63598431e+00,1.63598431e+00,7.16876062e-02
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0733657218842
|
||||
91.7301596676,91.7301596676,1.91443683656
|
||||
5.54218170236,5.54218170236,0.379544101704
|
||||
35.365405996,35.365405996,3.71820928856
|
||||
7.80223783742,7.80223783742,0.407536310688
|
||||
65.6532097008,65.6532097008,4.79477415679
|
||||
3.25455707226,3.25455707226,0.0708603896341
|
||||
91.8771630371,91.8771630371,10.4526596774
|
||||
9.84506928434,9.84506928434,0.710182217057
|
||||
82.9195512397,82.9195512397,13.3360297918
|
||||
1.49130537e+00,1.49130537e+00,3.44038118e-02
|
||||
3.31174110e+01,3.31174110e+01,3.48775733e-01
|
||||
2.62674473e+00,2.62674473e+00,2.87497642e-02
|
||||
4.10249954e+01,4.10249954e+01,1.66456256e+00
|
||||
4.64683943e+00,4.64683943e+00,1.38447452e+00
|
||||
1.68458588e+00,1.68458588e+00,1.10864542e-01
|
||||
8.48447150e+01,8.48447150e+01,4.69522180e-01
|
||||
9.89553147e+01,9.89553147e+01,1.82868637e+00
|
||||
1.09167882e+00,1.09167882e+00,4.25728855e-02
|
||||
4.66725394e+01,4.66725394e+01,4.57941525e+00
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0744138036254
|
||||
91.7301596676,91.7301596676,1.94178593423
|
||||
5.54218170236,5.54218170236,0.384966160299
|
||||
35.365405996,35.365405996,3.77132656411
|
||||
7.80223783742,7.80223783742,0.413358257984
|
||||
65.6532097008,65.6532097008,4.86327093046
|
||||
3.25455707226,3.25455707226,0.0718726809146
|
||||
91.8771630371,91.8771630371,10.6019833871
|
||||
9.84506928434,9.84506928434,0.720327677301
|
||||
82.9195512397,82.9195512397,13.5265445031
|
||||
6.96922598e+01,6.96922598e+01,1.43931215e+00
|
||||
6.03677545e+00,6.03677545e+00,1.07083225e+00
|
||||
3.19161564e+00,3.19161564e+00,6.56648312e-02
|
||||
3.66367174e+01,3.66367174e+01,2.10025808e+00
|
||||
1.83503233e+01,1.83503233e+01,9.01080376e-01
|
||||
5.32437015e+01,5.32437015e+01,1.35917908e-01
|
||||
1.11050191e+00,1.11050191e+00,1.53905294e-01
|
||||
6.60517675e+01,6.60517675e+01,1.00728825e+00
|
||||
8.06102833e+01,8.06102833e+01,1.09399043e+01
|
||||
3.72905853e+00,3.72905853e+00,8.52116540e-02
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0754618853666
|
||||
91.7301596676,91.7301596676,1.96913503189
|
||||
5.54218170236,5.54218170236,0.390388218895
|
||||
35.365405996,35.365405996,3.82444383966
|
||||
7.80223783742,7.80223783742,0.41918020528
|
||||
65.6532097008,65.6532097008,4.93176770412
|
||||
3.25455707226,3.25455707226,0.072884972195
|
||||
91.8771630371,91.8771630371,10.7513070968
|
||||
9.84506928434,9.84506928434,0.730473137544
|
||||
82.9195512397,82.9195512397,13.7170592144
|
||||
2.17145879e+00,2.17145879e+00,1.27340202e-01
|
||||
1.56005336e+01,1.56005336e+01,3.46224537e-01
|
||||
1.59821338e+01,1.59821338e+01,4.55091543e-01
|
||||
4.97496815e+00,4.97496815e+00,3.34436201e-01
|
||||
2.36282516e+01,2.36282516e+01,1.39983014e-02
|
||||
3.62109079e+00,3.62109079e+00,6.50996620e-01
|
||||
4.35442043e+01,4.35442043e+01,4.01774764e+00
|
||||
1.57128467e+00,1.57128467e+00,8.98780055e-02
|
||||
4.45411068e+00,4.45411068e+00,4.35463873e-01
|
||||
1.10837865e+01,1.10837865e+01,7.29961153e-01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0765099671078
|
||||
91.7301596676,91.7301596676,1.99648412956
|
||||
5.54218170236,5.54218170236,0.395810277491
|
||||
35.365405996,35.365405996,3.87756111521
|
||||
7.80223783742,7.80223783742,0.425002152575
|
||||
65.6532097008,65.6532097008,5.00026447779
|
||||
3.25455707226,3.25455707226,0.0738972634755
|
||||
91.8771630371,91.8771630371,10.9006308065
|
||||
9.84506928434,9.84506928434,0.740618597788
|
||||
82.9195512397,82.9195512397,13.9075739258
|
||||
9.88418030e+01,9.88418030e+01,4.57459064e+00
|
||||
7.64528144e+00,7.64528144e+00,1.08902944e+00
|
||||
5.20960721e+01,5.20960721e+01,3.60559302e+00
|
||||
5.34841412e+00,5.34841412e+00,3.94783079e-02
|
||||
2.46632007e+01,2.46632007e+01,8.79982811e-01
|
||||
7.81403020e+01,7.81403020e+01,4.59463155e+00
|
||||
8.49640118e+00,8.49640118e+00,2.82088559e-01
|
||||
1.14464457e+00,1.14464457e+00,1.02895100e-02
|
||||
2.22202166e+01,2.22202166e+01,3.28998671e+00
|
||||
2.76640866e+00,2.76640866e+00,4.14819952e-01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.077558048849
|
||||
91.7301596676,91.7301596676,2.02383322722
|
||||
5.54218170236,5.54218170236,0.401232336087
|
||||
35.365405996,35.365405996,3.93067839076
|
||||
7.80223783742,7.80223783742,0.430824099871
|
||||
65.6532097008,65.6532097008,5.06876125146
|
||||
3.25455707226,3.25455707226,0.074909554756
|
||||
91.8771630371,91.8771630371,11.0499545161
|
||||
9.84506928434,9.84506928434,0.750764058032
|
||||
82.9195512397,82.9195512397,14.0980886371
|
||||
1.34615498e+01,1.34615498e+01,3.18892920e-01
|
||||
1.00887405e+01,1.00887405e+01,1.09934163e+00
|
||||
6.24881168e+01,6.24881168e+01,1.41352807e+01
|
||||
8.29248100e+00,8.29248100e+00,7.13867539e-02
|
||||
1.30610430e+01,1.30610430e+01,5.30277925e-01
|
||||
1.65130236e+00,1.65130236e+00,2.46429855e-01
|
||||
4.13370175e+00,4.13370175e+00,3.10049518e-01
|
||||
1.12187457e+01,1.12187457e+01,5.71105752e-01
|
||||
2.06553878e+01,2.06553878e+01,2.71026204e-01
|
||||
1.90238432e+00,1.90238432e+00,6.40360142e-02
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0786061305902
|
||||
91.7301596676,91.7301596676,2.05118232489
|
||||
5.54218170236,5.54218170236,0.406654394682
|
||||
35.365405996,35.365405996,3.98379566631
|
||||
7.80223783742,7.80223783742,0.436646047166
|
||||
65.6532097008,65.6532097008,5.13725802513
|
||||
3.25455707226,3.25455707226,0.0759218460365
|
||||
91.8771630371,91.8771630371,11.1992782258
|
||||
9.84506928434,9.84506928434,0.760909518275
|
||||
82.9195512397,82.9195512397,14.2886033484
|
||||
5.53366175e+00,5.53366175e+00,7.74708363e-01
|
||||
2.00261055e+01,2.00261055e+01,1.04797941e+00
|
||||
9.55607174e+00,9.55607174e+00,7.68988059e-02
|
||||
1.35868249e+01,1.35868249e+01,7.86015477e-01
|
||||
2.16253233e+00,2.16253233e+00,2.35351552e-02
|
||||
9.87781144e+01,9.87781144e+01,1.62159932e+01
|
||||
4.94726087e+01,4.94726087e+01,6.94027663e+00
|
||||
1.58856356e+00,1.58856356e+00,1.85555032e-02
|
||||
1.60610651e+01,1.60610651e+01,5.42486596e-01
|
||||
7.83383088e+01,7.83383088e+01,1.10441566e+01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0796542123314
|
||||
91.7301596676,91.7301596676,2.07853142255
|
||||
5.54218170236,5.54218170236,0.412076453278
|
||||
35.365405996,35.365405996,4.03691294186
|
||||
7.80223783742,7.80223783742,0.442467994462
|
||||
65.6532097008,65.6532097008,5.2057547988
|
||||
3.25455707226,3.25455707226,0.076934137317
|
||||
91.8771630371,91.8771630371,11.3486019355
|
||||
9.84506928434,9.84506928434,0.771054978519
|
||||
82.9195512397,82.9195512397,14.4791180597
|
||||
3.73448069e+01,3.73448069e+01,1.94760116e+00
|
||||
1.08983205e+01,1.08983205e+01,1.11450419e+00
|
||||
8.38003640e+00,8.38003640e+00,2.07206816e-01
|
||||
1.50019532e+00,1.50019532e+00,9.18611172e-02
|
||||
4.06139828e+00,4.06139828e+00,2.44134569e-01
|
||||
4.43281269e+01,4.43281269e+01,3.16641835e+00
|
||||
1.57884941e+00,1.57884941e+00,4.73625296e-01
|
||||
2.01511810e+01,2.01511810e+01,1.50352853e+00
|
||||
5.67636724e+00,5.67636724e+00,1.48697031e-01
|
||||
1.54395865e+01,1.54395865e+01,2.67003216e-01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0807022940726
|
||||
91.7301596676,91.7301596676,2.10588052022
|
||||
5.54218170236,5.54218170236,0.417498511874
|
||||
35.365405996,35.365405996,4.09003021741
|
||||
7.80223783742,7.80223783742,0.448289941757
|
||||
65.6532097008,65.6532097008,5.27425157247
|
||||
3.25455707226,3.25455707226,0.0779464285975
|
||||
91.8771630371,91.8771630371,11.4979256452
|
||||
9.84506928434,9.84506928434,0.781200438763
|
||||
82.9195512397,82.9195512397,14.669632771
|
||||
2.89200064e+00,2.89200064e+00,5.54365271e-03
|
||||
9.07164676e+01,9.07164676e+01,3.12680041e+00
|
||||
7.56555746e+01,7.56555746e+01,4.09560858e+00
|
||||
1.96931766e+00,1.96931766e+00,2.17248262e-02
|
||||
6.75396492e+01,6.75396492e+01,1.32805806e+00
|
||||
5.76676490e+01,5.76676490e+01,4.32783205e-02
|
||||
6.03944113e+00,6.03944113e+00,5.32803326e-01
|
||||
6.36946189e+01,6.36946189e+01,1.49550785e+01
|
||||
1.21772192e+01,1.21772192e+01,1.81861567e+00
|
||||
4.07351882e+01,4.07351882e+01,9.19291507e+00
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0817503758138
|
||||
91.7301596676,91.7301596676,2.13322961788
|
||||
5.54218170236,5.54218170236,0.42292057047
|
||||
35.365405996,35.365405996,4.14314749296
|
||||
7.80223783742,7.80223783742,0.454111889053
|
||||
65.6532097008,65.6532097008,5.34274834613
|
||||
3.25455707226,3.25455707226,0.078958719878
|
||||
91.8771630371,91.8771630371,11.6472493548
|
||||
9.84506928434,9.84506928434,0.791345899006
|
||||
82.9195512397,82.9195512397,14.8601474823
|
||||
2.42830202e+00,2.42830202e+00,3.30622963e-02
|
||||
3.91190214e+00,3.91190214e+00,6.21099147e-01
|
||||
6.84228318e+00,6.84228318e+00,6.04213534e-02
|
||||
1.12207447e+01,1.12207447e+01,1.37528215e+00
|
||||
4.22758764e+01,4.22758764e+01,2.60243387e+00
|
||||
8.82301652e+01,8.82301652e+01,7.30172704e+00
|
||||
6.95369682e+01,6.95369682e+01,1.15636731e+01
|
||||
2.81130846e+01,2.81130846e+01,2.54788178e-01
|
||||
2.77354107e+00,2.77354107e+00,1.84669235e-01
|
||||
6.39770625e+01,6.39770625e+01,1.02337373e+01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.082798457555
|
||||
91.7301596676,91.7301596676,2.16057871555
|
||||
5.54218170236,5.54218170236,0.428342629065
|
||||
35.365405996,35.365405996,4.19626476851
|
||||
7.80223783742,7.80223783742,0.459933836348
|
||||
65.6532097008,65.6532097008,5.4112451198
|
||||
3.25455707226,3.25455707226,0.0799710111584
|
||||
91.8771630371,91.8771630371,11.7965730645
|
||||
9.84506928434,9.84506928434,0.80149135925
|
||||
82.9195512397,82.9195512397,15.0506621936
|
||||
6.21957754e+01,6.21957754e+01,2.38515498e+00
|
||||
7.87374931e+01,7.87374931e+01,1.54069109e+01
|
||||
3.29725862e+00,3.29725862e+00,4.74691530e-02
|
||||
2.46973108e+00,2.46973108e+00,9.54097082e-02
|
||||
1.07418225e+00,1.07418225e+00,2.13902920e-03
|
||||
3.00134738e+00,3.00134738e+00,3.63560940e-01
|
||||
3.56686250e+00,3.56686250e+00,8.88205339e-01
|
||||
4.91637875e+00,4.91637875e+00,2.52271508e-01
|
||||
1.88779331e+01,1.88779331e+01,1.06991365e+00
|
||||
1.71979326e+01,1.71979326e+01,1.94028317e+00
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0838465392963
|
||||
91.7301596676,91.7301596676,2.18792781321
|
||||
5.54218170236,5.54218170236,0.433764687661
|
||||
35.365405996,35.365405996,4.24938204406
|
||||
7.80223783742,7.80223783742,0.465755783644
|
||||
65.6532097008,65.6532097008,5.47974189347
|
||||
3.25455707226,3.25455707226,0.0809833024389
|
||||
91.8771630371,91.8771630371,11.9458967742
|
||||
9.84506928434,9.84506928434,0.811636819494
|
||||
82.9195512397,82.9195512397,15.2411769049
|
||||
1.47263660e+00,1.47263660e+00,9.03479312e-02
|
||||
2.60426109e+01,2.60426109e+01,9.40828010e-02
|
||||
3.05962718e+01,3.05962718e+01,1.49822171e+00
|
||||
4.23819603e+00,4.23819603e+00,3.53412180e-01
|
||||
7.50102167e+00,7.50102167e+00,9.00924983e-01
|
||||
2.34936625e+01,2.34936625e+01,1.92206784e+00
|
||||
3.98836823e+00,3.98836823e+00,5.21585966e-02
|
||||
2.23989395e+01,2.23989395e+01,4.47222735e+00
|
||||
9.48057119e+01,9.48057119e+01,1.57159168e+01
|
||||
3.91474817e+01,3.91474817e+01,5.17734565e+00
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0848946210375
|
||||
91.7301596676,91.7301596676,2.21527691088
|
||||
5.54218170236,5.54218170236,0.439186746257
|
||||
35.365405996,35.365405996,4.30249931961
|
||||
7.80223783742,7.80223783742,0.47157773094
|
||||
65.6532097008,65.6532097008,5.54823866714
|
||||
3.25455707226,3.25455707226,0.0819955937194
|
||||
91.8771630371,91.8771630371,12.0952204839
|
||||
9.84506928434,9.84506928434,0.821782279737
|
||||
82.9195512397,82.9195512397,15.4316916162
|
||||
3.85414025e+00,3.85414025e+00,2.71885153e-01
|
||||
1.85282324e+00,1.85282324e+00,1.26020176e-02
|
||||
7.06459146e+01,7.06459146e+01,8.60044082e+00
|
||||
8.30730707e+00,8.30730707e+00,5.50474130e-02
|
||||
8.15084542e+01,8.15084542e+01,7.53815023e-01
|
||||
6.21281836e+00,6.21281836e+00,1.97354535e+00
|
||||
1.37860417e+01,1.37860417e+01,3.01173375e-01
|
||||
6.61921846e+01,6.61921846e+01,5.74977941e+00
|
||||
1.70527493e+01,1.70527493e+01,3.70337592e+00
|
||||
1.32407849e+00,1.32407849e+00,1.07912460e-01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0859427027787
|
||||
91.7301596676,91.7301596676,2.24262600855
|
||||
5.54218170236,5.54218170236,0.444608804853
|
||||
35.365405996,35.365405996,4.35561659516
|
||||
7.80223783742,7.80223783742,0.477399678235
|
||||
65.6532097008,65.6532097008,5.61673544081
|
||||
3.25455707226,3.25455707226,0.0830078849999
|
||||
91.8771630371,91.8771630371,12.2445441936
|
||||
9.84506928434,9.84506928434,0.831927739981
|
||||
82.9195512397,82.9195512397,15.6222063276
|
||||
1.49361618e+00,1.49361618e+00,1.73037660e-01
|
||||
1.01991221e+00,1.01991221e+00,1.52666949e-01
|
||||
2.73783531e+00,2.73783531e+00,4.34900715e-02
|
||||
1.50564546e+00,1.50564546e+00,1.90887937e-04
|
||||
4.39420842e+01,4.39420842e+01,9.56918101e+00
|
||||
1.21164339e+01,1.21164339e+01,1.07895431e+00
|
||||
3.75260090e+01,3.75260090e+01,3.26476596e+00
|
||||
2.80427361e+01,2.80427361e+01,2.77552650e+00
|
||||
1.52527137e+00,1.52527137e+00,7.88658249e-02
|
||||
4.21601526e+00,4.21601526e+00,6.06906381e-01
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0869907845199
|
||||
91.7301596676,91.7301596676,2.26997510621
|
||||
5.54218170236,5.54218170236,0.450030863449
|
||||
35.365405996,35.365405996,4.40873387072
|
||||
7.80223783742,7.80223783742,0.483221625531
|
||||
65.6532097008,65.6532097008,5.68523221448
|
||||
3.25455707226,3.25455707226,0.0840201762804
|
||||
91.8771630371,91.8771630371,12.3938679032
|
||||
9.84506928434,9.84506928434,0.842073200225
|
||||
82.9195512397,82.9195512397,15.8127210389
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0880388662611
|
||||
91.7301596676,91.7301596676,2.29732420388
|
||||
5.54218170236,5.54218170236,0.455452922044
|
||||
35.365405996,35.365405996,4.46185114627
|
||||
7.80223783742,7.80223783742,0.489043572826
|
||||
65.6532097008,65.6532097008,5.75372898814
|
||||
3.25455707226,3.25455707226,0.0850324675609
|
||||
91.8771630371,91.8771630371,12.5431916129
|
||||
9.84506928434,9.84506928434,0.852218660468
|
||||
82.9195512397,82.9195512397,16.0032357502
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0890869480023
|
||||
91.7301596676,91.7301596676,2.32467330154
|
||||
5.54218170236,5.54218170236,0.46087498064
|
||||
35.365405996,35.365405996,4.51496842182
|
||||
7.80223783742,7.80223783742,0.494865520122
|
||||
65.6532097008,65.6532097008,5.82222576181
|
||||
3.25455707226,3.25455707226,0.0860447588414
|
||||
91.8771630371,91.8771630371,12.6925153226
|
||||
9.84506928434,9.84506928434,0.862364120712
|
||||
82.9195512397,82.9195512397,16.1937504615
|
||||
1.93818526e+01,1.93818526e+01,1.34046147e+00
|
||||
1.43195828e+00,1.43195828e+00,1.46533905e-01
|
||||
1.85282833e+01,1.85282833e+01,4.95182331e-01
|
||||
1.59664605e+01,1.59664605e+01,5.89676042e-01
|
||||
4.32806685e+00,4.32806685e+00,6.35912761e-01
|
||||
4.37941864e+00,4.37941864e+00,9.33790277e-01
|
||||
1.93193024e+01,1.93193024e+01,2.06300397e+00
|
||||
2.10651923e+00,2.10651923e+00,2.09964122e-01
|
||||
1.27761543e+00,1.27761543e+00,9.35389103e-02
|
||||
2.47374306e+01,2.47374306e+01,3.09288263e+00
|
||||
;
|
||||
;end
|
|
@ -0,0 +1,101 @@
|
|||
import numpy as np
|
||||
import random
|
||||
|
||||
|
||||
###
|
||||
# Task set generation.
|
||||
###
|
||||
|
||||
# Main functions.
|
||||
|
||||
def gen_tasksets(num_tasks, num_tasksets, min_period, max_period, utilization,
|
||||
rounded=False):
|
||||
"""Generate task sets.
|
||||
Variables:
|
||||
num_tasks: number of tasks per set
|
||||
num_tasksets: number of sets
|
||||
min_period: minimal period
|
||||
max_period: maximal period
|
||||
utilization: desired utilization
|
||||
rounded: flag to round periods to integers
|
||||
"""
|
||||
# Create periods.
|
||||
tasksets_periods = generate_periods_loguniform(
|
||||
num_tasks, num_tasksets, min_period, max_period, rounded)
|
||||
# Create utilizations.
|
||||
tasksets_utilizations = generate_utilizations_uniform(
|
||||
num_tasks, num_tasksets, utilization)
|
||||
# Create tasksets by matching both of the above.
|
||||
tasksets = []
|
||||
tasksetsnp = []
|
||||
for i in range(num_tasksets):
|
||||
taskset = []
|
||||
for j in range(num_tasks):
|
||||
task = {
|
||||
'execution': (tasksets_periods[i][j]
|
||||
* tasksets_utilizations[i][j]),
|
||||
'period': tasksets_periods[i][j],
|
||||
'deadline': tasksets_periods[i][j]
|
||||
}
|
||||
taskset.append(task)
|
||||
tasksets.append(taskset)
|
||||
tasksetsnp.append(np.array((tasksets_periods[0],tasksets_periods[0], np.array(tasksets_periods[0])*np.array(tasksets_utilizations[0]))).T)
|
||||
return np.array(tasksetsnp)
|
||||
|
||||
def generate_utilizations_uniform(num_tasks, num_tasksets, utilization):
|
||||
"""Generate utilizations with UUNIFAST.
|
||||
Variables:
|
||||
num_tasks: number of tasks per set
|
||||
num_tasksets: number of sets
|
||||
utilization: desired utilization in (0,1]
|
||||
"""
|
||||
def uunifast(num_tasks, utilization):
|
||||
"""UUNIFAST utilization pulling."""
|
||||
utilizations = []
|
||||
cumulative_utilization = utilization
|
||||
for i in range(1, num_tasks):
|
||||
# Randomly set next utilization.
|
||||
cumulative_utilization_next = (
|
||||
cumulative_utilization
|
||||
* random.random() ** (1.0/(num_tasks-i)))
|
||||
utilizations.append(
|
||||
cumulative_utilization - cumulative_utilization_next)
|
||||
# Compute remaining utilization.
|
||||
cumulative_utilization = cumulative_utilization_next
|
||||
utilizations.append(cumulative_utilization_next)
|
||||
# Return list of utilizations.
|
||||
return utilizations
|
||||
# Return one list of utilizations for each task set.
|
||||
return [uunifast(num_tasks, utilization) for i in range(num_tasksets)]
|
||||
|
||||
|
||||
# help functions
|
||||
|
||||
def generate_periods_loguniform(num_tasks, num_tasksets, min_period,
|
||||
max_period, rounded=False):
|
||||
"""Generate log-uniformly distributed periods to create tasks.
|
||||
Variables:
|
||||
num_tasks: number of tasks per set
|
||||
num_tasksets: number of sets
|
||||
min_period: minimal period
|
||||
max_period: maximal period
|
||||
rounded: flag to round periods to integers
|
||||
"""
|
||||
# Create random periods.
|
||||
periods = np.exp(np.random.uniform(
|
||||
low=np.log(min_period),
|
||||
high=np.log(max_period),
|
||||
size=(num_tasksets, num_tasks)))
|
||||
# Make list out of them
|
||||
if rounded: # round periods to nearest integer
|
||||
return np.rint(periods).tolist()
|
||||
else:
|
||||
return periods.tolist()
|
||||
|
||||
|
||||
def gen_np_taskset(NrTasks):
|
||||
tasksets = []
|
||||
for i in range(55,101,3):
|
||||
tasksets.append(gen_tasksets(NrTasks,1,1,100,i/100)[0])
|
||||
return np.array(tasksets)
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,199 @@
|
|||
6.2504383551,6.2504383551,0.0712695584018
|
||||
91.7301596676,91.7301596676,1.85973864123
|
||||
5.54218170236,5.54218170236,0.368699984512
|
||||
35.365405996,35.365405996,3.61197473745
|
||||
7.80223783742,7.80223783742,0.395892416097
|
||||
65.6532097008,65.6532097008,4.65778060945
|
||||
3.25455707226,3.25455707226,0.0688358070731
|
||||
91.8771630371,91.8771630371,10.1540122581
|
||||
9.84506928434,9.84506928434,0.689891296569
|
||||
82.9195512397,82.9195512397,12.9550003692
|
||||
;
|
||||
6.2504383551,6.2504383551,0.072317640143
|
||||
91.7301596676,91.7301596676,1.8870877389
|
||||
5.54218170236,5.54218170236,0.374122043108
|
||||
35.365405996,35.365405996,3.665092013
|
||||
7.80223783742,7.80223783742,0.401714363393
|
||||
65.6532097008,65.6532097008,4.72627738312
|
||||
3.25455707226,3.25455707226,0.0698480983536
|
||||
91.8771630371,91.8771630371,10.3033359678
|
||||
9.84506928434,9.84506928434,0.700036756813
|
||||
82.9195512397,82.9195512397,13.1455150805
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0733657218842
|
||||
91.7301596676,91.7301596676,1.91443683656
|
||||
5.54218170236,5.54218170236,0.379544101704
|
||||
35.365405996,35.365405996,3.71820928856
|
||||
7.80223783742,7.80223783742,0.407536310688
|
||||
65.6532097008,65.6532097008,4.79477415679
|
||||
3.25455707226,3.25455707226,0.0708603896341
|
||||
91.8771630371,91.8771630371,10.4526596774
|
||||
9.84506928434,9.84506928434,0.710182217057
|
||||
82.9195512397,82.9195512397,13.3360297918
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0744138036254
|
||||
91.7301596676,91.7301596676,1.94178593423
|
||||
5.54218170236,5.54218170236,0.384966160299
|
||||
35.365405996,35.365405996,3.77132656411
|
||||
7.80223783742,7.80223783742,0.413358257984
|
||||
65.6532097008,65.6532097008,4.86327093046
|
||||
3.25455707226,3.25455707226,0.0718726809146
|
||||
91.8771630371,91.8771630371,10.6019833871
|
||||
9.84506928434,9.84506928434,0.720327677301
|
||||
82.9195512397,82.9195512397,13.5265445031
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0754618853666
|
||||
91.7301596676,91.7301596676,1.96913503189
|
||||
5.54218170236,5.54218170236,0.390388218895
|
||||
35.365405996,35.365405996,3.82444383966
|
||||
7.80223783742,7.80223783742,0.41918020528
|
||||
65.6532097008,65.6532097008,4.93176770412
|
||||
3.25455707226,3.25455707226,0.072884972195
|
||||
91.8771630371,91.8771630371,10.7513070968
|
||||
9.84506928434,9.84506928434,0.730473137544
|
||||
82.9195512397,82.9195512397,13.7170592144
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0765099671078
|
||||
91.7301596676,91.7301596676,1.99648412956
|
||||
5.54218170236,5.54218170236,0.395810277491
|
||||
35.365405996,35.365405996,3.87756111521
|
||||
7.80223783742,7.80223783742,0.425002152575
|
||||
65.6532097008,65.6532097008,5.00026447779
|
||||
3.25455707226,3.25455707226,0.0738972634755
|
||||
91.8771630371,91.8771630371,10.9006308065
|
||||
9.84506928434,9.84506928434,0.740618597788
|
||||
82.9195512397,82.9195512397,13.9075739258
|
||||
;
|
||||
6.2504383551,6.2504383551,0.077558048849
|
||||
91.7301596676,91.7301596676,2.02383322722
|
||||
5.54218170236,5.54218170236,0.401232336087
|
||||
35.365405996,35.365405996,3.93067839076
|
||||
7.80223783742,7.80223783742,0.430824099871
|
||||
65.6532097008,65.6532097008,5.06876125146
|
||||
3.25455707226,3.25455707226,0.074909554756
|
||||
91.8771630371,91.8771630371,11.0499545161
|
||||
9.84506928434,9.84506928434,0.750764058032
|
||||
82.9195512397,82.9195512397,14.0980886371
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0786061305902
|
||||
91.7301596676,91.7301596676,2.05118232489
|
||||
5.54218170236,5.54218170236,0.406654394682
|
||||
35.365405996,35.365405996,3.98379566631
|
||||
7.80223783742,7.80223783742,0.436646047166
|
||||
65.6532097008,65.6532097008,5.13725802513
|
||||
3.25455707226,3.25455707226,0.0759218460365
|
||||
91.8771630371,91.8771630371,11.1992782258
|
||||
9.84506928434,9.84506928434,0.760909518275
|
||||
82.9195512397,82.9195512397,14.2886033484
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0796542123314
|
||||
91.7301596676,91.7301596676,2.07853142255
|
||||
5.54218170236,5.54218170236,0.412076453278
|
||||
35.365405996,35.365405996,4.03691294186
|
||||
7.80223783742,7.80223783742,0.442467994462
|
||||
65.6532097008,65.6532097008,5.2057547988
|
||||
3.25455707226,3.25455707226,0.076934137317
|
||||
91.8771630371,91.8771630371,11.3486019355
|
||||
9.84506928434,9.84506928434,0.771054978519
|
||||
82.9195512397,82.9195512397,14.4791180597
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0807022940726
|
||||
91.7301596676,91.7301596676,2.10588052022
|
||||
5.54218170236,5.54218170236,0.417498511874
|
||||
35.365405996,35.365405996,4.09003021741
|
||||
7.80223783742,7.80223783742,0.448289941757
|
||||
65.6532097008,65.6532097008,5.27425157247
|
||||
3.25455707226,3.25455707226,0.0779464285975
|
||||
91.8771630371,91.8771630371,11.4979256452
|
||||
9.84506928434,9.84506928434,0.781200438763
|
||||
82.9195512397,82.9195512397,14.669632771
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0817503758138
|
||||
91.7301596676,91.7301596676,2.13322961788
|
||||
5.54218170236,5.54218170236,0.42292057047
|
||||
35.365405996,35.365405996,4.14314749296
|
||||
7.80223783742,7.80223783742,0.454111889053
|
||||
65.6532097008,65.6532097008,5.34274834613
|
||||
3.25455707226,3.25455707226,0.078958719878
|
||||
91.8771630371,91.8771630371,11.6472493548
|
||||
9.84506928434,9.84506928434,0.791345899006
|
||||
82.9195512397,82.9195512397,14.8601474823
|
||||
;
|
||||
6.2504383551,6.2504383551,0.082798457555
|
||||
91.7301596676,91.7301596676,2.16057871555
|
||||
5.54218170236,5.54218170236,0.428342629065
|
||||
35.365405996,35.365405996,4.19626476851
|
||||
7.80223783742,7.80223783742,0.459933836348
|
||||
65.6532097008,65.6532097008,5.4112451198
|
||||
3.25455707226,3.25455707226,0.0799710111584
|
||||
91.8771630371,91.8771630371,11.7965730645
|
||||
9.84506928434,9.84506928434,0.80149135925
|
||||
82.9195512397,82.9195512397,15.0506621936
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0838465392963
|
||||
91.7301596676,91.7301596676,2.18792781321
|
||||
5.54218170236,5.54218170236,0.433764687661
|
||||
35.365405996,35.365405996,4.24938204406
|
||||
7.80223783742,7.80223783742,0.465755783644
|
||||
65.6532097008,65.6532097008,5.47974189347
|
||||
3.25455707226,3.25455707226,0.0809833024389
|
||||
91.8771630371,91.8771630371,11.9458967742
|
||||
9.84506928434,9.84506928434,0.811636819494
|
||||
82.9195512397,82.9195512397,15.2411769049
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0848946210375
|
||||
91.7301596676,91.7301596676,2.21527691088
|
||||
5.54218170236,5.54218170236,0.439186746257
|
||||
35.365405996,35.365405996,4.30249931961
|
||||
7.80223783742,7.80223783742,0.47157773094
|
||||
65.6532097008,65.6532097008,5.54823866714
|
||||
3.25455707226,3.25455707226,0.0819955937194
|
||||
91.8771630371,91.8771630371,12.0952204839
|
||||
9.84506928434,9.84506928434,0.821782279737
|
||||
82.9195512397,82.9195512397,15.4316916162
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0859427027787
|
||||
91.7301596676,91.7301596676,2.24262600855
|
||||
5.54218170236,5.54218170236,0.444608804853
|
||||
35.365405996,35.365405996,4.35561659516
|
||||
7.80223783742,7.80223783742,0.477399678235
|
||||
65.6532097008,65.6532097008,5.61673544081
|
||||
3.25455707226,3.25455707226,0.0830078849999
|
||||
91.8771630371,91.8771630371,12.2445441936
|
||||
9.84506928434,9.84506928434,0.831927739981
|
||||
82.9195512397,82.9195512397,15.6222063276
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0869907845199
|
||||
91.7301596676,91.7301596676,2.26997510621
|
||||
5.54218170236,5.54218170236,0.450030863449
|
||||
35.365405996,35.365405996,4.40873387072
|
||||
7.80223783742,7.80223783742,0.483221625531
|
||||
65.6532097008,65.6532097008,5.68523221448
|
||||
3.25455707226,3.25455707226,0.0840201762804
|
||||
91.8771630371,91.8771630371,12.3938679032
|
||||
9.84506928434,9.84506928434,0.842073200225
|
||||
82.9195512397,82.9195512397,15.8127210389
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0880388662611
|
||||
91.7301596676,91.7301596676,2.29732420388
|
||||
5.54218170236,5.54218170236,0.455452922044
|
||||
35.365405996,35.365405996,4.46185114627
|
||||
7.80223783742,7.80223783742,0.489043572826
|
||||
65.6532097008,65.6532097008,5.75372898814
|
||||
3.25455707226,3.25455707226,0.0850324675609
|
||||
91.8771630371,91.8771630371,12.5431916129
|
||||
9.84506928434,9.84506928434,0.852218660468
|
||||
82.9195512397,82.9195512397,16.0032357502
|
||||
;
|
||||
6.2504383551,6.2504383551,0.0890869480023
|
||||
91.7301596676,91.7301596676,2.32467330154
|
||||
5.54218170236,5.54218170236,0.46087498064
|
||||
35.365405996,35.365405996,4.51496842182
|
||||
7.80223783742,7.80223783742,0.494865520122
|
||||
65.6532097008,65.6532097008,5.82222576181
|
||||
3.25455707226,3.25455707226,0.0860447588414
|
||||
91.8771630371,91.8771630371,12.6925153226
|
||||
9.84506928434,9.84506928434,0.862364120712
|
||||
82.9195512397,82.9195512397,16.1937504615
|
||||
;
|
||||
;end
|
Reference in New Issue