Part III
Implicit Parallelism
In coarse-grained concurrent applications, such as the simplified Asteroids game illustrated in Chapter section 6, the main motivation is not necessarily to achieve parallel execution but rather to correctly and safely model components that are “logically autonomous”. These kinds of asynchronous, event-driven systems are the obvious candidates for capsule-oriented design. However, the capsule abstraction also adapts easily to other styles of parallel programming, while retaining Panini’s advantages of abstracting away the concurrency control mechanisms and ensuring data confinement.
9.1 Computing the constant Pi
9.2 Architecture and design
9.3 Implementation
9.4 Implicit concurrency
10 Leader-Follower Pattern
10.1 Creating Server/Client applications in Panini
10.2 Architecture and design
10.3 Implementation
10.4 Implicit concurrency
11 Pipeline Pattern
11.1 Overview of pipeline parallelism implementation
11.2 Architecture and design
11.3 Implementation
11.4 Implicit concurrency
12 Distributor Pattern