start_processes(
         name="trainer",
         entrypoint=foo,
         args:{0:("bar0",), 1:("bar1",),
         envs:{0:{}, 1:{}},
         log_dir=log_dir
      )
  # invalid; envs missing for local rank 1
  start_processes(
     name="trainer",
     entrypoint=foo,
     args:{0:("bar0",), 1:("bar1",),
     envs:{0:{}},
     log_dir=log_dir
  )

  # ok; two copies of /usr/bin/touch: touch file1, touch file2
  start_processes(
     name="trainer",
     entrypoint="/usr/bin/touch",
     args:{0:("file1",), 1:("file2",),
     envs:{0:{}, 1:{}},
     log_dir=log_dir
   )

  # caution; arguments casted to string, runs:
  # echo "1" "2" "3" and echo "[1, 2, 3]"
  start_processes(
     name="trainer",
     entrypoint="/usr/bin/echo",
     args:{0:(1,2,3), 1:([1,2,3],),
     envs:{0:{}, 1:{}},
     log_dir=log_dir
   )

Parameters:
      * name (str) -- a human readable short name that describes