Lock-free parallel dynamic programming