A Dynamic Approach To Deterministic Parallel Programming