Fixed bugs the state initialization of multisize estimation
This commit is contained in:
parent
f6471aeb28
commit
663bf8a061
@ -268,7 +268,8 @@ def init_request_windows(number_of_states, max_window_size):
|
||||
:return: The initialized request windows data structure.
|
||||
:rtype: list(deque)
|
||||
"""
|
||||
return number_of_states * [deque([], max_window_size)]
|
||||
return [deque([], max_window_size)
|
||||
for _ in range(number_of_states)]
|
||||
|
||||
|
||||
@contract
|
||||
@ -284,12 +285,12 @@ def init_variances(window_sizes, number_of_states):
|
||||
:return: The initialized variances data structure.
|
||||
:rtype: list(list(dict))
|
||||
"""
|
||||
data = dict(zip(window_sizes, len(window_sizes) * [1.0]))
|
||||
variances = []
|
||||
for i in range(number_of_states):
|
||||
variances.append([])
|
||||
for j in range(number_of_states):
|
||||
variances[i].append(dict(data))
|
||||
variances[i].append(dict(zip(window_sizes,
|
||||
len(window_sizes) * [1.0])))
|
||||
return variances
|
||||
|
||||
|
||||
@ -306,12 +307,12 @@ def init_deque_structure(window_sizes, number_of_states):
|
||||
:return: The initialized 3 level deque data structure.
|
||||
:rtype: list(list(dict))
|
||||
"""
|
||||
data = dict((size, deque([], size)) for size in window_sizes)
|
||||
structure = []
|
||||
for i in range(number_of_states):
|
||||
structure.append([])
|
||||
for j in range(number_of_states):
|
||||
structure[i].append(dict(data))
|
||||
structure[i].append(dict((size, deque([], size))
|
||||
for size in window_sizes))
|
||||
return structure
|
||||
|
||||
|
||||
|
@ -110,3 +110,19 @@ class Core(TestCase):
|
||||
def test_issue_command_deterministic(self):
|
||||
self.assertEqual(c.issue_command_deterministic([1]), False)
|
||||
self.assertEqual(c.issue_command_deterministic([]), True)
|
||||
|
||||
def test_mhod(self):
|
||||
from pprint import pprint
|
||||
state_config = [0.99]
|
||||
otf = 0.2
|
||||
window_sizes = [30, 40, 50, 60, 70, 80, 90, 100]
|
||||
bruteforce_step = 0.2
|
||||
learning_steps = 30
|
||||
time_step = 300
|
||||
migration_time = 20.
|
||||
state = c.init_state(window_sizes, 2)
|
||||
utilization = [0.859]
|
||||
|
||||
pprint(state)
|
||||
pprint(c.mhod(state_config, otf, window_sizes, bruteforce_step, learning_steps,
|
||||
time_step, migration_time, utilization, state))
|
||||
|
Loading…
x
Reference in New Issue
Block a user