2024-08-08 15:14:30 +09:00

42 lines
1.4 KiB
Python

import argparse
from protocol.temporalmix import TemporalMixType
from queuesim.paramset import ExperimentID, SessionID
from queuesim.queuesim import run_session
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Measure the message dissemination time with various configurations.",
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
parser.add_argument("--exp-id", type=int, required=True, help="Experiment ID (>=1)")
parser.add_argument(
"--session-id", type=float, required=True, help="Session ID (>=1)"
)
parser.add_argument(
"--queue-type",
type=str,
required=True,
help=f"Queue type: {' | '.join([t.value for t in TemporalMixType])}",
)
parser.add_argument("--num-workers", type=int, required=True, help="num workers")
parser.add_argument("--outdir", type=str, required=True, help="output directory")
parser.add_argument(
"--from-paramset",
type=int,
required=False,
default=1,
help="A parameter set ID (>=1) to start from",
)
args = parser.parse_args()
run_session(
ExperimentID(args.exp_id),
SessionID(args.session_id),
TemporalMixType(args.queue_type),
args.num_workers,
args.outdir,
args.from_paramset,
)
print("All simulations completed!")