Improve mbatchd response time after mbatchd restart

Parallel restart is a mechanism to minimize the LSF downtime (i.e., not responding to user requests) for mbatchd restart. The root mbatchd is forked, creating a child mbatchd process to help with mbatchd restart performance. The child mbatchd processes regular start up logic, including reading configuration files and replaying events. Meanwhile, the old mbatchd can respond to client commands (bsub, bjobs, etc.), handle job scheduling and status updates, dispatching, and updating new events to event files. When complete, the child mbatchd process takes over as master mbatchd, and the old master mbatchd process dies.

While the new mbatchd is initializing, the old mbatchd is still able to respond to client commands. badmin showstatus will display the parallel restart status. It helps the administrator know that there is a background mbatchd (by PID) doing a parallel restart.

Use badmin mbdrestart -p to enable parallel restart.