fix: adjust Codex logging cooldown, insert polling backoff on download completion, define default Codex experiment

This commit is contained in:
gmega 2025-02-14 12:14:52 -03:00
parent 68ee1bad87
commit f336df8da7
No known key found for this signature in database
GPG Key ID: 6290D34EAD824B18
6 changed files with 12 additions and 11 deletions

View File

@ -130,7 +130,7 @@ class CodexDownloadHandle(DownloadHandle):
completion = self.completion()
return completion.downloaded == completion.total
return await_predicate(_predicate, timeout)
return await_predicate(_predicate, timeout, polling_interval=1)
@property
def node(self) -> Node:

View File

@ -74,7 +74,7 @@ class CodexExperimentConfig(ExperimentBuilder[CodexDisseminationExperiment]):
)
logging_cooldown: int = Field(
gt=0,
ge=0,
default=0,
description="Time to wait after the last download completes before tearing down the experiment.",
)

View File

@ -83,7 +83,7 @@ class ExperimentEnvironment(ExperimentComponent):
def await_ready(self, timeout: float = 0) -> bool:
"""Awaits for all components to be ready, or until a timeout is reached."""
logging.info(
f"Awaiting for components to be ready:\n {'\n'.join(self._component_names(self.not_ready))}"
f"Awaiting for components to be ready:\n {self._component_names(self.not_ready, sep='\n')}"
)
if not await_predicate(self.is_ready, timeout, self.polling_interval):
@ -110,8 +110,8 @@ class ExperimentEnvironment(ExperimentComponent):
return components[: self.ping_max]
@staticmethod
def _component_names(components: List[ExperimentComponent]) -> str:
return ", ".join(str(component) for component in components)
def _component_names(components: List[ExperimentComponent], sep: str = ", ") -> str:
return sep.join(str(component) for component in components)
def run(self, experiment: Experiment):
"""Runs the :class:`Experiment` within this :class:`ExperimentEnvironment`."""

View File

@ -84,7 +84,7 @@ class DelugeExperimentConfig(ExperimentBuilder[DelugeDisseminationExperiment]):
)
logging_cooldown: int = Field(
gt=0,
ge=0,
default=0,
description="Time to wait after the last download completes before tearing down the experiment.",
)

View File

@ -4,7 +4,8 @@ codex_experiment:
seeders: ${SEEDERS}
file_size: ${FILE_SIZE}
repetitions: ${REPETITIONS}
logging_cooldown: 10
# No need for cooldown as Codex takes forever to remove files, so there's plenty of time to log stuff. :-)
logging_cooldown: 0
nodes:
network_size: ${NETWORK_SIZE}

View File

@ -1,9 +1,9 @@
experiment:
networkSize: 5
networkSize: 10
fileSize: "100MB"
seeders: 1
seederSets: 1
repetitions: 1
seeders: 4
seederSets: 4
repetitions: 10
blockTTL: 360000
blockMaintenanceInterval: 360000