code: private void startThreads(Configuration conf, String traceIn, Path ioPath,
        Path scratchDir, CountDownLatch startFlag) throws IOException {
      monitor = createJobMonitor();
      submitter = createJobSubmitter(monitor,
          conf.getInt(GRIDMIX_SUB_THR,
            Runtime.getRuntime().availableProcessors() + 1),
          conf.getInt(GRIDMIX_QUE_DEP, 5),
          new FilePool(conf, ioPath));
      factory = createJobFactory(submitter, traceIn, scratchDir, conf, startFlag);
      monitor.start();
      submitter.start();
      factory.start();
    }
docs: Create each component in the pipeline and start it.
  @param conf Configuration data, no keys specific to this context
  @param traceIn Either a Path to the trace data or &quot;-&quot; for
  stdin
  @param ioPath Path from which input data is read
  @param scratchDir Path into which job output is written
  @param startFlag Semaphore for starting job trace pipeline