Monday, 10 November 2008

Initial Parallel Processing Research

Today I had a look at Parallel Processing, in order to at least gain a basic understanding of the principles involved, to then bear in mind when researching Volume Rendering techniques.

Important things to consider in parallel processing code design are:

* Load Balancing - Spreading processing out as evenly as possible between all the available processors, to avoid any of them being idle.
* Granularity - The balance between processing data and communicating with other processors. Low granularity (little communication) is more efficient for an individual processor in terms of the amount of data processed, but is more likely to create idle time as processors wait for each other to communicate.
* Data Dependency - Identifying which data needs to be used in some way by more than one processor, and how to handle it. Data could be sent between processors when ready (distributed memory), or the processors must synchronise reading/writing operations on the same area of memory (shared memory).

The next task is to research Volume Rendering further and consider the methods in relation to Parallel Processing.

No comments: