Basic concepts of parallel computing