-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathexample.ml
More file actions
70 lines (54 loc) · 2.16 KB
/
example.ml
File metadata and controls
70 lines (54 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
open Format
open Printf
open Def
open Tools
open Schedule
open Checkpoints
open Time
open Dag
(* A default DAG to try the code as it comes along. This is a binary tree.*)
let bintree_default =
let ntasks = 50 in
let tabTaskInit = Array.make ntasks {id=0;w=5.;c=1.;r=1.} in
let tabParentsInit = Array.make ntasks [] in
let tabChildrenInit = Array.make ntasks [] in
let ind_parent = ref 0 in
let card_child = ref 0 in
for i = 1 to ntasks -1 do
tabTaskInit.(i) <- {id=i;w=5.;c=1.;r=1.};
if !card_child >= 2 then (incr ind_parent; card_child := 0);
incr card_child;
tabParentsInit.(i) <- [!ind_parent];
tabChildrenInit.(!ind_parent) <- i :: tabChildrenInit.(!ind_parent);
done;
let temp = { tabTask = tabTaskInit; sources = [0]; tabParents = tabParentsInit; tabChildren = tabChildrenInit; weightSucc = Array.make ntasks 0.;} in
computeWS temp
let _ =
let wf1 = dfs bintree_default in
let t1 = schedTime {lambda=0.01; d=1.; ntasks=50; expe_number=0 ; c_number=0; r_number=0;} bintree_default wf1 in
Printf.printf "t_dfs = %f\n" t1
let _ =
let wf_temp = bfs bintree_default in
(* let wf2 = ckptall bintree_default wf_temp in*)
let t2 = schedTime {lambda=0.01; d=1.; ntasks=50; expe_number=0 ; c_number=0; r_number=0;} bintree_default wf_temp in
Printf.printf "t_bfs(ck=all) = %f\n" t2
(*let () = *)
(* let dag = make_dag Sys.argv.(1) Sys.argv.(2) in*)
(* let wf_temp = bfs dag in*)
(* let wf2 = ckptall dag wf_temp in*)
(* let t2 = schedTime {lambda=0.01; d=1.; ntasks=20; expe_number=0 ; c_number=0; r_number=0;} dag wf2 in*)
(* Printf.printf "t_bfs(ck=all) = %f\n" t2*)
(*let _ =*)
(* let wf2 = dfs bintree_default in*)
(* let t2 = schedTime {lambda=0.01; d=1.} bintree_default wf2 in*)
(* Printf.printf "t_dfs = %f\n" t2*)
(*let _ =*)
(* let wf_temp = dfs bintree_default in*)
(* let wf2 = ckptall bintree_default wf_temp in*)
(* let t2 = schedTime {lambda=0.01; d=1.} bintree_default wf2 in*)
(* Printf.printf "t_dfs(ck=all) = %f\n" t2*)
(*let _ =*)
(* let wf_temp = dfs bintree_default in*)
(* let wf2 = ckptper bintree_default wf_temp 3. in*)
(* let t2 = schedTime {lambda=0.01; d=1.} bintree_default wf2 in*)
(* Printf.printf "t_dfs(ck=%d) = %f\n" 3 t2*)