Sourcebook of parallel computing