def run(self, *nodes):
nodes = nodes or self.nodes<EOL>self._prelude(*nodes)<EOL>@write_yaml_report<EOL>def _run():<EOL><INDENT>self._build_installer()<EOL>runner = functools.partial(run_on_host, self.campaign)<EOL>if self.campaign.network.max_concurrent_runs > <NUM_LIT:1>:<EOL><INDENT>pool = Pool(self.campaign.network.max_concurrent_runs)<EOL>pool.map(runner, nodes)<EOL><DEDENT>else:<EOL><INDENT>for node in nodes:<EOL><INDENT>runner(node)<EOL><DEDENT><DEDENT>return nodes<EOL><DEDENT>with pushd(self.campaign_path):<EOL><INDENT>_run()<EOL><DEDENT>
Execute benchmarks on every node specified in arguments.
        If none are given, then execute benchmarks on every nodes
        specified in the ``network.nodes`` campaign configuration.