mirror of
https://github.com/logos-blockchain/logos-blockchain-simulations.git
synced 2026-02-07 14:53:09 +00:00
add session 2.1
This commit is contained in:
parent
ff5baa4bfe
commit
d5d94ca3e5
@ -11,7 +11,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
parser.add_argument("--exp-id", type=int, required=True, help="Experiment ID (>=1)")
|
||||
parser.add_argument(
|
||||
"--session-id", type=int, required=True, help="Session ID (>=1)"
|
||||
"--session-id", type=float, required=True, help="Session ID (>=1)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--queue-type",
|
||||
|
||||
@ -11,7 +11,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
parser.add_argument("--exp-id", type=int, required=True, help="Experiment ID (>=1)")
|
||||
parser.add_argument(
|
||||
"--session-id", type=int, required=True, help="Session ID (>=1)"
|
||||
"--session-id", type=float, required=True, help="Session ID (>=1)"
|
||||
)
|
||||
parser.add_argument("--indir", type=str, required=True, help="input directory")
|
||||
parser.add_argument(
|
||||
|
||||
@ -12,7 +12,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
parser.add_argument("--exp-id", type=int, required=True, help="Experiment ID (>=1)")
|
||||
parser.add_argument(
|
||||
"--session-id", type=int, required=True, help="Session ID (>=1)"
|
||||
"--session-id", type=float, required=True, help="Session ID (>=1)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--csv-path", type=str, required=True, help="input CSV file path"
|
||||
|
||||
@ -18,6 +18,7 @@ class ExperimentID(Enum):
|
||||
class SessionID(Enum):
|
||||
SESSION_1 = 1
|
||||
SESSION_2 = 2
|
||||
SESSION_2_1 = 2.1
|
||||
|
||||
|
||||
EXPERIMENT_TITLES: dict[ExperimentID, str] = {
|
||||
@ -57,6 +58,8 @@ def build_parameter_sets(
|
||||
return __build_session_1_parameter_sets(exp_id, queue_type)
|
||||
case SessionID.SESSION_2:
|
||||
return __build_session_2_parameter_sets(exp_id, queue_type)
|
||||
case SessionID.SESSION_2_1:
|
||||
return __build_session_2_1_parameter_sets(exp_id, queue_type)
|
||||
case _:
|
||||
raise ValueError(f"Unknown session ID: {session_id}")
|
||||
|
||||
@ -247,3 +250,71 @@ def __build_session_2_parameter_sets(
|
||||
)
|
||||
|
||||
return sets
|
||||
|
||||
|
||||
def __build_session_2_1_parameter_sets(
|
||||
exp_id: ExperimentID, queue_type: TemporalMixType
|
||||
) -> list[ParameterSet]:
|
||||
sets: list[ParameterSet] = []
|
||||
|
||||
for num_nodes in [20, 200, 2000]:
|
||||
peering_degree_list = [4, 6, 8]
|
||||
min_queue_size_list = [10, 50, 100]
|
||||
transmission_rate_list = [1, 10, 100]
|
||||
num_sent_msgs = 1000
|
||||
num_senders_list = [num_nodes // 10, num_nodes // 5, num_nodes // 2]
|
||||
num_iterations = 20
|
||||
|
||||
match exp_id:
|
||||
case ExperimentID.EXPERIMENT_1:
|
||||
for (
|
||||
peering_degree,
|
||||
min_queue_size,
|
||||
transmission_rate,
|
||||
) in itertools.product(
|
||||
peering_degree_list,
|
||||
min_queue_size_list,
|
||||
transmission_rate_list,
|
||||
):
|
||||
sets.append(
|
||||
ParameterSet(
|
||||
num_nodes=num_nodes,
|
||||
peering_degree=peering_degree,
|
||||
min_queue_size=min_queue_size,
|
||||
transmission_rate=transmission_rate,
|
||||
num_sent_msgs=1,
|
||||
num_senders=1,
|
||||
queue_type=queue_type,
|
||||
num_iterations=num_iterations,
|
||||
)
|
||||
)
|
||||
case ExperimentID.EXPERIMENT_4:
|
||||
for (
|
||||
peering_degree,
|
||||
min_queue_size,
|
||||
transmission_rate,
|
||||
num_senders,
|
||||
) in itertools.product(
|
||||
peering_degree_list,
|
||||
min_queue_size_list,
|
||||
transmission_rate_list,
|
||||
num_senders_list,
|
||||
):
|
||||
sets.append(
|
||||
ParameterSet(
|
||||
num_nodes=num_nodes,
|
||||
peering_degree=peering_degree,
|
||||
min_queue_size=min_queue_size,
|
||||
transmission_rate=transmission_rate,
|
||||
num_sent_msgs=num_sent_msgs,
|
||||
num_senders=num_senders,
|
||||
queue_type=queue_type,
|
||||
num_iterations=num_iterations,
|
||||
)
|
||||
)
|
||||
case _:
|
||||
raise NotImplementedError(
|
||||
f"Experiment {exp_id} not implemented for session 2"
|
||||
)
|
||||
|
||||
return sets
|
||||
|
||||
@ -48,6 +48,8 @@ class TestParameterSet(TestCase):
|
||||
(ExperimentID.EXPERIMENT_4, SessionID.SESSION_1): pow(3, 6),
|
||||
(ExperimentID.EXPERIMENT_1, SessionID.SESSION_2): pow(3, 4),
|
||||
(ExperimentID.EXPERIMENT_4, SessionID.SESSION_2): pow(3, 6),
|
||||
(ExperimentID.EXPERIMENT_1, SessionID.SESSION_2_1): pow(3, 4),
|
||||
(ExperimentID.EXPERIMENT_4, SessionID.SESSION_2_1): pow(3, 5),
|
||||
}
|
||||
for queue_type in TemporalMixType:
|
||||
for (exp_id, session_id), expected_cnt in cases.items():
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user