Eric,
For example, splitting is not feasible if:
. you have a large region ( hundreds of megabytes) that you access in small
sections (kilobytes or less) possibly with variable size and shape
. you cannot decompose the region into multiple windows because
you don't know in advance how (might depend on dynamic load balancing)
At the same time, the application is able to guarantee that there
is no concurrent overlapping acceses, for example due to the physical nature
of the problem -- "if I work on molecule A, then there is no any other
process that could possibly update the array element potential(5, 9001, 6107)",
and is not willing to pay the cost of locking.
Jarek