Parallel patterns + Macro Data Flow for multi-core programming