[Beowulf] Parallel memory

Mark Hahn hahn at physics.mcmaster.ca
Tue Oct 18 15:39:50 PDT 2005

> memory, if you do a memory access like that over openssi it will forward
> in a very slow manner like 2048 bytes. 

of course the correct answer is page size, since that's the granularity
at which a net-shm can hook app references.  (actually, the segv handler
*could* trap each faulting instruction and deliver the data in smaller
pieces.  it could even try to figure out when patching in a whole page 
would be more effective.  some of this sort of thing is done in papers
that involve "pointer swizzling" - various amounts of dynamic code patching,
as well.  but using pages means that further references have zero overhead,
which is always nice.)

> This is ok if you are streaming in some sort of way.

or at least high locality within the pages you do touch.

> Anyway you'll need to dramatically rewrite the application for it.

not at all.  the whole point of mmu-based net-shm is to present the app
with the illusion that the pages are just *there*.  you'll probably want 
to change your allocator so that you call netshm_alloc for a few big
chunks of distributed memory, and leave most other allocs local.

> Keep in mind such systems like openmosix and openssi are beginner projects,
> getting executed by big enthusiastic amateurs, who still own many machines 
> with only 10 mbit cards and therefore you really should worry about those
> 1-2 milliseconds it takes to get you that say 2k bytes of memory.

sadly, nothing in this sentence is correct.

More information about the Beowulf mailing list