coexistence of shared-memory and message-passing in the programming of parallel