class_docstr: Extending DDPSpawnStrategy to support launch subprocesses with optimized env variables.
  
  Instead of using python multiprocessing.spawn, this strategy use subprocess.Popen to start
  a new process in order to run mulit-instance training in a jupyter notebook.
code: def _configure_launcher(self):
      self._launcher = _DDPSubprocessLauncher(self)
  
imports: import cloudpickle
  import os
  import multiprocessing
  import subprocess
  import sys
  import uuid
  import json
  from typing import Any, Optional, Callable
  from tempfile import TemporaryDirectory
  import pytorch_lightning
  from bigdl.nano.pytorch.strategies.ddp_spawn import DDPSpawnStrategy, _DDPSpawnLauncher
  from bigdl.nano.utils.common import schedule_processors
  from bigdl.nano.utils.common import invalidInputError
  from bigdl.nano.pytorch.dispatcher import _get_patch_status
  import logging
label_desc: Use image node_id 1 for calling the DDPSubprocessStrategy obj's underlying member method code with example usage: obj._configure_launcher() without return types