experiment

class pydsef.experiment.Experiment(hostname, username, dist_sys, conf, port=18861, max_retries=10)[source]

Class to configure and run experiments.

connect()[source]

Establish an RPyC connection with the master node.

end()[source]

Finish the experiment and return the results gathered during the experiment.

exec_command(cmd, block=True)[source]

Executes a command on the master node. If block is True, wait until command finishes and return stdout, otherwise exit immediately and return (stdin, stdout, stderr)

make_timestamped_dir(name)[source]

Makes a directory with a timestamp that is used for storing logs and archives from an experiment.

pull_archives(files)[source]

Pulls archives created on the master node into a timestamped ‘archives’ directory on the Jupyter server.

push_files(files)[source]

Pushes files to the master node from the Jupyter server.

read()[source]

Read all output from the stdout and stderr of the RPyC server running on the master node.

run()[source]

Run the experiment.

set_archive(*files)[source]

Sets the names of files to be archived and the end of the experiment.

set_executable(path)[source]

Sets the name of the file with an Experiment Service.

start(exp_dict)[source]

Start an individual trial in an experiment.

transfer_files(files, push=True, path='')[source]

Transfers files between master node and the Jupyter server.

write_log(exp_id, stdout, stderr)[source]

Writes stdout and stderr to files in a timestamped ‘logs’ directory.