Multicore community





Microsoft Forums

Intel's Forum

Intel's Multicore Community



Intel Multicore

NVidia Multicore GPU



.Net Parallel Extensions

Intel's TBB




AsyncOp Logger

Intel thread analysis

Intel VTune



Asaf Shelly























2 / 2

Multiprocessing Design Patterns

There are many design patterns today that deal with multiprocessing and parallel computing. These are considered to be the most complicated issues when designing a system and therefore many patterns have evolved to help us. To this day the majority of design patterns where created to help us avoid the pitfalls of parallel computing. In other words we try to make our single process design work in a parallelized system.

The design patterns section brought here is doing something completely different. A good design for a parallelized system starts with a change in mindset from serial programming to parallel programming. Based on this 'thinking in parallel' mindset and on the Multiprocessing Traps & Pitfalls section we can come up with new ways to do our work. Just like any design pattern we can reinvent it all every time again and again or we can extract methodologies. These are the design patterns that you see here in this section.

We start with the basic synchronization objects for those of us that migrated from synchronous programming to asynchronous programming (all of us?).