High Performance Computing asynchronous algorithms GPU Computing parallel algorithms performance modeling