The TPL Dataflow .Net library to break blocks of codes into what Shih called dataflow blocks. Dataflow blocks can act like agents, an instrumental concept in programming for parallel computing.
Blocks can send messages to one another in predetermined patterns. The input for one block can be the output for another. Unlike traditional programs, they do not execute synchronously. Multiple agents can run at once as long as each agent has its required input.
"This model of doing things is often referred to as data flow parallelism. In essence you are creating a computational network through which data will eventually flow," Shih said.
TPL Dataflow has a number of predefined blocks, or primitives, for handling tasks such as buffering data, broadcasting data, filtering data, joining two different flows of data, or transforming data in some way. Developers can also build their own blocks.
One session attendee, who wished to remain anonymous, noted that the concepts being previewed were "dead-on" in their attack of how to fully harness multicore processors. But he also worried that the presentation glossed over too many implementation details, which may have given attendees a false impression that running these technologies on their own systems may be easier than it actually turns out to be.