process -> thread

to support debugging of the problems on BlueJoule, convert the worker subprocesses into worker threads, to get better exception handling.