MEDEA: A Hybrid Shared-memory/Message-passing Multiprocessor NoC-based Architecture