code: def bench_mp(tasks, workers, task_duration, warmup=True):
      logger.debug("benchmarking multiprocessing")
      pool = None
      if warmup:
          logger.debug("warming up")
          pool = mp.Pool(workers)
          pool.map(
              sleep_worker,
              [task_duration for x in range(tasks)],
              chunksize=1,
          )
          logger.debug("warm up finished")
  
      res, elapsed = timeit(
          pool.map,
          sleep_worker,
          [task_duration for x in range(tasks)],
          chunksize=1,
      )
  
      return elapsed
  
imports: import time
  import fiber
  import multiprocessing
  import logging
  import subprocess
  import argparse
  from pprint import pprint
label_desc: Use image node_id 6 for calling a global function with example usage: bench_mp(tasks, workers, task_duration, warmup) and returns: elapsed