/
global_info.py
68 lines (51 loc) · 1.37 KB
/
global_info.py
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
65
66
67
68
# test files
import socket
import json
import bases
# this is a small test wf
def taskgraph(name):
wf = bases.wfgraph(name)
w0 = bases.mod('w0', 25)
w1 = bases.mod('w1', 12)
w2 = bases.mod('w2', 24)
w0.host_id = 'c0'
w1.host_id = 'c1'
w3 = bases.mod('w3', 20)
w4 = bases.mod('w4', 64)
bases.mod_join(w0, w2, 100)
bases.mod_join(w1, w2, 200)
bases.mod_join(w2, w3, 180)
bases.mod_join(w2, w4, 400)
wf.add(w0)
wf.add(w1)
wf.add(w2)
wf.add(w3)
wf.add(w4)
return wf
# test network
def network(name):
net = bases.netgraph(name)
c0 = bases.node('c0', 10)
c1 = bases.node('c1', 12)
c2 = bases.node('c2', 25)
c3 = bases.node('c3', 26)
bases.node_join(c0, c1, 16)
bases.node_join(c0, c3, 50)
bases.node_join(c0, c2, 10)
bases.node_join(c1, c3, 20)
bases.node_join(c1, c2, 40)
net.add(c0)
net.add(c1)
net.add(c2)
net.add(c3)
return net
if __name__=='__main__':
myworkflow = taskgraph('wf')
mynetwork = network('net')
w0motif = myworkflow.suc_extract('w0')
print (w0motif)
w0info = bases.infodict(w0motif)
print (w0info)
print ('workflow size:%d, network size:%d' % (myworkflow.size(), mynetwork.size()))
# with open('w0motif.json', mode='w', encoding='utf-8') as f:
# json.dump( motifinfo, f, indent=2 )