'Semi-Asynchronous': A New Scheduler in Distributed Computing