Parallel and distributed computing 2019