/
SysDescr.py
64 lines (56 loc) · 1.92 KB
/
SysDescr.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
import Servernode
import Socket
import Numanode
import Core
#This class sets up the system model.
#TODO: change to read system config from xml file or similar
class SysDescr(object):
totalCores = 0
def __init__(self):
self.servernodes = []
noOfServers = 6
noOfSockets = 3
noOfNumanodes = 2
noOfCores = 8
nodeCounter = 0
coreCounter = 0
for m in range(noOfServers):
snode = Servernode.Servernode(m)
for n in range(noOfSockets):
socket = Socket.Socket(n)
for o in range(noOfNumanodes):
node = Numanode.Numanode(nodeCounter)
nodeCounter += 1
for p in range(noOfCores):
core = Core.Core(coreCounter)
coreCounter += 1
node.addCore(core)
socket.addNumanode(node)
snode.addSocket(socket)
self.servernodes.append(snode)
self.totalCores = coreCounter+1
def getNodeByID(self, ID):
for sn in self.servernodes:
for s in sn.sockets:
for n in s.numanodes:
if n.ID == ID:
return n
def getNodeByCoreID(self, ID):
for sn in self.servernodes:
for s in sn.sockets:
for n in s.numanodes:
for c in n.cores:
if c.ID == ID:
return n
def printMe(self):
print "Servers: "
for s in self.servernodes:
print ("Server ID: "+str(s.ID))
for k in s.sockets:
print("Socket: ")+str(k.ID)
for n in k.numanodes:
print("Numanode: "+str(n.ID))
for c in n.cores:
print ("Core: "+str(c.ID)),
print("")
print("")