Skip to content

Commit

Permalink
adding a DMM execution model class
Browse files Browse the repository at this point in the history
  • Loading branch information
Ravenwater committed Dec 7, 2024
1 parent e001d70 commit c5ff98c
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions energysim/execution/dmm_cluster.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from tabulate import tabulate


class DistributedMemoryCluster:
def __init__(self, name: str):
self.name = name
self.compute = 0
self.memory_read = 0
self.memory_write = 0
self.network_read = 0
self.network_write = 0
self.storage_read = 0
self.storage_write = 0


def report(self):
print('Name: ' + self.name)
total_compute = self.compute
total_memory = self.memory_read + self.memory_write
total_network = self.network_read + self.network_write
total_storage = self.storage_read + self.storage_write
total_energy = total_compute + total_memory + total_network + total_storage

data = [["event", "pJ", "%"],
["Compute", total_compute, 100 * total_compute/total_energy],
["Memory", total_memory, 100 * total_memory/total_energy],
["Network", total_network, 100 * total_network / total_energy],
["Storage", total_storage, 100 * total_storage / total_energy]
]

print(tabulate(data, headers="firstrow", floatfmt=".1f"))

0 comments on commit c5ff98c

Please sign in to comment.