Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Less is more or less more -- Y_Plentyn on #LinuxGER


computers / comp.sys.transputer / Has anyone solved the multiprocessor memory size mystery?

SubjectAuthor
* Has anyone solved the multiprocessor memory size mystery?Tom Stepleton
`- Re: Has anyone solved the multiprocessor memory size mystery?Mike B.

1
Has anyone solved the multiprocessor memory size mystery?

<4be8e1cb-1444-438d-a2fd-e58592b7800fn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=111&group=comp.sys.transputer#111

  copy link   Newsgroups: comp.sys.transputer
X-Received: by 2002:a0c:8041:0:b0:4af:b13b:2624 with SMTP id 59-20020a0c8041000000b004afb13b2624mr9153713qva.92.1667182127541;
Sun, 30 Oct 2022 19:08:47 -0700 (PDT)
X-Received: by 2002:a05:622a:1316:b0:39c:e8e6:7038 with SMTP id
v22-20020a05622a131600b0039ce8e67038mr8856948qtk.262.1667182127361; Sun, 30
Oct 2022 19:08:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.transputer
Date: Sun, 30 Oct 2022 19:08:47 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=82.39.238.122; posting-account=l3olFwkAAAB7_YlbF47jpoRgdTkZ-iGF
NNTP-Posting-Host: 82.39.238.122
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4be8e1cb-1444-438d-a2fd-e58592b7800fn@googlegroups.com>
Subject: Has anyone solved the multiprocessor memory size mystery?
From: steple...@gmail.com (Tom Stepleton)
Injection-Date: Mon, 31 Oct 2022 02:08:47 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3046
 by: Tom Stepleton - Mon, 31 Oct 2022 02:08 UTC

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

Re: Has anyone solved the multiprocessor memory size mystery?

<e66b0f1a-8f7f-462d-aa28-6fc08cd181cbn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=112&group=comp.sys.transputer#112

  copy link   Newsgroups: comp.sys.transputer
X-Received: by 2002:a05:620a:440e:b0:6f6:2a11:c497 with SMTP id v14-20020a05620a440e00b006f62a11c497mr11786130qkp.213.1667294864646;
Tue, 01 Nov 2022 02:27:44 -0700 (PDT)
X-Received: by 2002:a05:620a:2627:b0:6b8:c8c3:78f9 with SMTP id
z39-20020a05620a262700b006b8c8c378f9mr12086735qko.641.1667294864478; Tue, 01
Nov 2022 02:27:44 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.transputer
Date: Tue, 1 Nov 2022 02:27:44 -0700 (PDT)
In-Reply-To: <4be8e1cb-1444-438d-a2fd-e58592b7800fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=62.178.31.116; posting-account=SFOqlgkAAAAFnei08Ol39AT5SoPJtook
NNTP-Posting-Host: 62.178.31.116
References: <4be8e1cb-1444-438d-a2fd-e58592b7800fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e66b0f1a-8f7f-462d-aa28-6fc08cd181cbn@googlegroups.com>
Subject: Re: Has anyone solved the multiprocessor memory size mystery?
From: michael_...@yahoo.com (Mike B.)
Injection-Date: Tue, 01 Nov 2022 09:27:44 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2747
 by: Mike B. - Tue, 1 Nov 2022 09:27 UTC

Hi!

There is no memory size mystery. Simply read here:

http://transputer.net/prog/72-tds-275-02/otdsug1.pdf

4.2 occam programs

The array memory contains the free memory remaining on the transputer evaluation board after the program code has been loaded and the workspace allocated.
It is calculated by subtracting the area occupied by the program code and data from the value specified in the IBOARDSIZE host environment variable.

See also 12.4 Memory allocation for single processor and please note: It's different in mixed language programming.

> and it automatically scales itself to the amount of memory your Transputer truly has available.

Nothing here is automatically. Simply subtracted. IBOARDSIZE is only for the root transputer. If the value is wrong, the program will not check it.

In 5.2 Configuration model/5.3 Hardware description you find the memsize node attribute. It's for statically checking that all programs/processes can be mapped (icollect).

To have access to this value at runtime simply use a parameter for your worker process.
To determine the first free memory for a single worker process you can create a dedicated section with one variable and place it at the end of all other sections. But this is occam compiler version depend.

For the occam D7205A toolset see page 472 in the document link. #PRAGMA LINKAGE

If more than one process is mapped it gets more complex and depends on the mapping order. No idea how deterministic the occam collector will do that. Maybe it's even documented.

Kind regards
Mike

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor