The controlled logical clock--a global time for trace-based software monitoring of parallel applications in workstation clusters