Parallel and Multi-core systems