We read three more patters:
Task Parallelism
This pattern covers a strategy for implementing algorithms. Many algorithms can benefit in a parallel system by performing distinct tasks in parallel. For example, performing computations on every vertex in a graph presents the parallel opportunity of running a task on each vertex.
I have the most experience is running OS level processes and threads in parallel computing. This pattern requires finding the best granularity for a task and where to run a task, but I don't think you need to be a hardware expert to determine this. One only needs to know the relative costs of running tasks, such as over the network vs. locally.
Recursive Splitting
This strategy pattern covers algorithms that use recursion to find a solution. I thought this paper was the best of the three, as it had great examples and illustrations. The key to this pattern is producing more than one task per recursive task, as it allows for parallelism.
Discrete Event Pattern
The discrete event pattern is another strategy pattern covering using events in an asynchronous system. The order may matter, as events may cause other events through the system. This paper read and looked like a rough draft of a pattern, and as such was harder to follow.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment