https://www.arzinbooks.com/product-5760/introduction-to-parallel-computing