Practical parallel computing