Hi again,
I'm still working on my project, and having now successfully written occam code for a single Transputer, I'm now ready to branch out to distributing it over a network. Now I find myself facing a familiar problem.
When writing single-transputer programs, you use a procedure signature like this one:
PROC Foo (CHAN OF SP fs, ts, []INT free.memory)
where free.memory is an array representing all of the memory available to the Transputer that isn't already claimed by something else in your program. It's yours to do with as you wish, and it automatically scales itself to the amount of memory your
Transputer truly has available.
Unfortunately this convenient feature doesn't seem to be available to multiprocessor programs. (This is probably because the configuration system allows you to declare "logical" processors that occupy the same physical processor, and it's not clear which
of those would rightfully claim the real processor's free memory.)
Is anyone aware of a way to give the Occam code running on one Transputer in a network access to leftover free memory? I can understand INMOS's concern about logical processors, but I'm not doing anything fancy: I just want one logical processor per
physical processor, so giving all of the free memory to just that one processor makes sense.
A search of this newsgroup for the phrase "free memory", like this one
https://groups.google.com/g/comp.sys.transputer/search?q=%22free%20memory%22 turns up a lot of people wondering whether there's a way to do what I need to do. So, if you can't make sense of what I'm asking about here, try this message from 1994:
https://groups.google.com/g/comp.sys.transputer/c/AKo3xwAUZqQ/m/sgYV7u88ca0J
Unfortunately none of the people who're asking the same question as me seem to have got any answer. Maybe since those days, though, someone's come up with a technique?
Thanks for any help,
--Tom
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)