add train balancer through Semaphore