The RTLD_DEEPBIND issue (#111) around Tensorflow shows one issue of using threads where workers must be using compatible libraries to the main server or otherwise it needs workarounds. Another problem of using threads is that if a worker throws an non-recoverable error such as a segmentation fault, the entire server crashes.
Having the ability to run workers as separate processes (could be either/or or a mix of processes and threads) helps alleviate this
The RTLD_DEEPBIND issue (#111) around Tensorflow shows one issue of using threads where workers must be using compatible libraries to the main server or otherwise it needs workarounds. Another problem of using threads is that if a worker throws an non-recoverable error such as a segmentation fault, the entire server crashes.
Having the ability to run workers as separate processes (could be either/or or a mix of processes and threads) helps alleviate this