def METHOD_NAME(config: Config):
    """Run complete benchmark given a configuration"""
    args = config.args
    if args.multiprocessing_method == "forkserver":
        import multiprocessing.forkserver as f
        f.ensure_running()
    with dask.config.set(
        {"distributed.worker.multiprocessing-method": args.multiprocessing_method}
    ):
        if args.scheduler_file is not None or args.scheduler_address is not None:
            run_client_from_existing_scheduler(args, config)
        else:
            run_create_client(args, config)