The Pulled-Macro-Dataflow Model: An Execution Model for Multicore Shared-Memory Computers