Chapter 4

Multicore Software Architectures

Abstract

Once we have chosen a multicore processor we need to determine the software architecture to implement on the multicore processor. After exploring some basic software architectures for multicore, we can put together a set of building blocks that can be used for different multicore applications and use a decision tree approach to deciding what building blocks make sense for a given application.

Keywords

Master; peer; pipelined; decision tree

Software architectures for multicore are varied, depending on the application. But all architectures should take into consideration these concurrency factors:

• Decomposition; consider how the application can be decomposed into task and data parallelism

Get Multicore Software Development Techniques now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.