Support clocks for sync objects

A race still may happen after a few test set runs (in case the same slab object will be used), since completion variables are not handled yet.
it does not need to be atomic, as cpu is exclusively owned by the thread