Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"The greatest warriors are the ones who fight for peace." -- Holly Near


devel / comp.arch / Re: addressing and protection, was Paper about ISO C

SubjectAuthor
* Paper about ISO Cclamky
+- Re: Paper about ISO CBGB
+* Re: Paper about ISO CDavid Brown
|+* Re: Paper about ISO CBGB
||+* Re: Paper about ISO CMitchAlsup
|||+* Re: Paper about ISO CMitchAlsup
||||`* Re: Paper about ISO CBranimir Maksimovic
|||| `* Re: Paper about ISO CGeorge Neuner
||||  +- Re: Paper about ISO CBranimir Maksimovic
||||  `* Re: Paper about ISO CEricP
||||   `* Re: Paper about ISO CIvan Godard
||||    `* Re: Paper about ISO CEricP
||||     `* Re: Paper about ISO CMitchAlsup
||||      +* Re: Paper about ISO CBGB
||||      |`* Re: Paper about ISO CStephen Fuld
||||      | +* Re: Paper about ISO CIvan Godard
||||      | |+* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | ||+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |||+- Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |||+* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | ||||`- Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | |||`- Re: addressing and protection, was Paper about ISO CBill Findlay
||||      | ||`* Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | || +- Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | || `- Re: addressing and protection, was Paper about ISO CBranimir Maksimovic
||||      | |`* Re: addressing and protection, was Paper about ISO CEricP
||||      | | +* Re: addressing and protection, was Paper about ISO CStefan Monnier
||||      | | |`- Re: addressing and protection, was Paper about ISO CEricP
||||      | | `* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  |+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  ||`* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  || `* Re: addressing and protection, was Paper about ISO CJohn Dallman
||||      | |  ||  +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  ||  |+- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  |+* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  ||  ||`* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  || `* Re: addressing and protection, was Paper about ISO CAnton Ertl
||||      | |  ||  ||  `- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  |`* Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | |  ||  | +- Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | |  ||  | `- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  `- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  |`* Re: addressing and protection, was Paper about ISO CJohn Dallman
||||      | |  | +* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |`* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | | `* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |  |+* Re: addressing and protection, was Paper about ISO CStefan Monnier
||||      | |  | |  ||+- Re: addressing and protection, was Paper about ISO CChris M. Thomasson
||||      | |  | |  ||+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |  |||`- Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  ||+* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  |||`* Re: addressing and protection, was Paper about ISO CEricP
||||      | |  | |  ||| `- Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |  ||`- Re: addressing and protection, was Paper about ISO CJohn Dallman
||||      | |  | |  |`- Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  `* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |   +- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |   `* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |    +* Address space consumption (was: addressing and protection, was Paper about ISO CStefan Monnier
||||      | |  | |    |`- Re: Address space consumption (was: addressing and protection, wasMitchAlsup
||||      | |  | |    +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |    |`- Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |    `* Re: addressing and protection, was Paper about ISO CGeorge Neuner
||||      | |  | |     `* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |      +* Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |      |`* Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |      | `- Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |      `* Re: addressing and protection, was Paper about ISO CStefan Monnier
||||      | |  | |       +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       |`* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |  | |       | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |`* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |       | | `* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |  `* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |  | |       | |   +- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |   +- Re: addressing and protection, was Paper about ISO Cclamky
||||      | |  | |       | |   `* Re: addressing and protection, was Paper about ISO CGeorge Neuner
||||      | |  | |       | |    +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    |`* Re: addressing and protection, was Paper about ISO CGeorge Neuner
||||      | |  | |       | |    | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | |+* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |       | |    | ||+* Re: educational computation, was addressing and protection, was Paper about ISO John Levine
||||      | |  | |       | |    | |||`* Re: educational computation, was addressing and protection, was PaperIvan Godard
||||      | |  | |       | |    | ||| `- Re: educational computation, was addressing and protection, was PaperTerje Mathisen
||||      | |  | |       | |    | ||`* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | || `* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | ||  +- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | ||  `- Re: addressing and protection, was Paper about ISO CDavid Brown
||||      | |  | |       | |    | |+- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | |`* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | | |+- Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |       | |    | | |`* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | | | +* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |       | |    | | | |+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | | | ||`- Re: addressing and protection, was Paper about ISO CJimBrakefield
||||      | |  | |       | |    | | | |`* Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |       | |    | | | | `* Re: addressing and protection, was Paper about ISO CTim Rentsch
||||      | |  | |       | |    | | | |  `- Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |       | |    | | | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | | | `- Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |       | |    | | `- Re: addressing and protection, was Paper about ISO CAnne & Lynn Wheeler
||||      | |  | |       | |    | `- Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    `* Re: what is cheap these days, addressing and protection, was Paper about ISO CJohn Levine
||||      | |  | |       | +* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |       | +* Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |       | `* Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |       +* RAM size (was: addressing and protection, was Paper about ISO C)Anton Ertl
||||      | |  | |       `- Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | `* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |  +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  `* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | `* Re: Paper about ISO CBGB
||||      `- Re: Paper about ISO CEricP
|||+* Re: Paper about ISO CBranimir Maksimovic
|||+* Re: Paper about ISO CThomas Koenig
|||+* Re: Paper about ISO Cantispam
|||`- Re: Paper about ISO CQuadibloc
||+* Re: Paper about ISO CThomas Koenig
||`* Re: Paper about ISO CDavid Brown
|+* Re: Paper about ISO CThomas Koenig
|`* Re: Paper about ISO CVictor Yodaiken
`* Re: Paper about ISO CKent Dickey

Pages:123456789101112131415161718192021222324252627282930313233
Re: addressing and protection, was Paper about ISO C

<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20882&group=comp.arch#20882

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:283:: with SMTP id z3mr10937637qtw.324.1633899561761;
Sun, 10 Oct 2021 13:59:21 -0700 (PDT)
X-Received: by 2002:a05:6820:253:: with SMTP id b19mr16517231ooe.28.1633899561502;
Sun, 10 Oct 2021 13:59:21 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 10 Oct 2021 13:59:21 -0700 (PDT)
In-Reply-To: <memo.20211010211900.12252R@jgd.cix.co.uk>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:a04c:e5b9:d39:d382;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:a04c:e5b9:d39:d382
References: <sjvesb$a36$1@dont-email.me> <memo.20211010211900.12252R@jgd.cix.co.uk>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 10 Oct 2021 20:59:21 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 17
 by: MitchAlsup - Sun, 10 Oct 2021 20:59 UTC

On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:
> In article <sjvesb$a36$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>
> > The design of the PBO ABI puts the responsibility of the GBR reload
> > onto the called function, which in turn is only needed in certain
> > cases: ...
> > Function pointers which are also non-leaf and/or access global
> > variables.
> How does the compiler know, when compiling a function, if it will be
> called via a pointer?
<
More importantly, why should it even know ?
<
double *trans_table[4] = {sin, cos, tan, atan};
....
x = trans_tasble[i](arg);
>
> John

Re: addressing and protection, was Paper about ISO C

<sjvls1$11i$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20884&group=comp.arch#20884

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-2fa2-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 21:27:29 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sjvls1$11i$1@newsreader4.netcologne.de>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
Injection-Date: Sun, 10 Oct 2021 21:27:29 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-2fa2-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:2fa2:0:7285:c2ff:fe6c:992d";
logging-data="1074"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Sun, 10 Oct 2021 21:27 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Sunday, October 10, 2021 at 1:39:45 PM UTC-5, Thomas Koenig wrote:
>> John Dallman <j...@cix.co.uk> schrieb:
>> > In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>> >
>> >> 32-bits, could comfortably fit one program
>> >> Maybe several of them, if they are "fairly modest"
>> >> 48 or 64 bits, could likely fit thousands of program instances.
>> >
>> >> This is excluding programs which reserve absurdly large address
>> >> ranges "because they can", but I consider this to be an aberration
>> >> rather than something which should be encouraged.
>> >
>> > Some programs do need to be able to handle sets of data, in RAM, that are
>> > too large to fit into 32-bit addressing. There aren't huge numbers of
>> > them, but they definitely exist.
>> Compuational fluid dynamics.
>>
>> With today's problems, with 32-bit addressing (well, usually less
>> than that) you can just go home.
><
> A decade ago (can it be that long) I was doing 1D CFD on intake and
> exhaust systems for automotive engines.

That's hardly CFD these days :-) 1D unsteady, I assume?

> These applications would
> sometimes run for several days (24/7) on my 6 core system, but
> never used "that much memory". The operating mesh had hundreds of
> thousands of boundary constraints (mostly pipe walls).

Most of the CPU time was spent doing some wildly non-linear
things, I assume?

><
> Perhaps 2D CFD and 3D CFD exponentiate my experience.......

Most serious CFD is 3D. A good rule of thumb for finite volume
is that you need 4 to 8 GB per core these days. A 32-core system
will then need between 64 and 128 GB.

The workstation below my desk at work has 512 GB main memory, but
I rarely use that. This is for a finite element code which has
has an option for direct solvers. They are far more stable than
the iterative ones, but _very_ memory hungry if the problem
is big. Still, 256GB would in all probability have been enough.

Re: addressing and protection, was Paper about ISO C

<sjvm48$qtp$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20885&group=comp.arch#20885

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 16:31:47 -0500
Organization: A noiseless patient Spider
Lines: 79
Message-ID: <sjvm48$qtp$1@dont-email.me>
References: <sjvesb$a36$1@dont-email.me>
<memo.20211010211900.12252R@jgd.cix.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Oct 2021 21:31:52 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="4849fb37e647683af19c4c339cd968fb";
logging-data="27577"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19H9KdU0SETZIatwMNedKsc"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:eYoeIc/7hECqA4QSx7HAENngYmU=
In-Reply-To: <memo.20211010211900.12252R@jgd.cix.co.uk>
Content-Language: en-US
 by: BGB - Sun, 10 Oct 2021 21:31 UTC

On 10/10/2021 3:18 PM, John Dallman wrote:
> In article <sjvesb$a36$1@dont-email.me>, cr88192@gmail.com (BGB) wrote:
>
>> The design of the PBO ABI puts the responsibility of the GBR reload
>> onto the called function, which in turn is only needed in certain
>> cases: ...
>> Function pointers which are also non-leaf and/or access global
>> variables.
>
> How does the compiler know, when compiling a function, if it will be
> called via a pointer?
>

In this case, it is because the code-generator does a graph-walk and
marks the function as having had its address taken before this point.

This in turn works because my compiler does all of the code generation
for a program at the same time in the back-end, rather than using object
files and a linker.

This has the advantage that, at code-generation time, it is possible to
check whether or not something is reachable via searching a global graph
structure representing the program (and whether or not it can be
potentially accessible from outside the current binary).

For separate compilation and static libraries, it uses a format I call
RIL3, which is basically a stack-based bytecode IR (along vaguely
similar lines to .NET bytecode).

The RIL3 format is essentially a single linear stack machine, which
itself builds all of the metadata via stack operations. By high-level
analogy, it is sort of like if PostScript was used to drive an OpenGL
style API which in turn builds a bunch of compiler metadata, ...

In effect, the RIL3 loader is a fairly naive bytecode interpreter
(albeit, at this stage, the bytecode format is not Turing complete).

I had at one point considered a fancier RIL variant that would have
added PostScript style block-structuring and a Turing-complete execution
model, but didn't go that direction. In the years since then, I have
come to the opinion that having a Turing complete interpreter as a
compiler IR loader would probably not be a particularly great idea (my
younger self was more into this sorta stuff though).

So, Front End:
Preprocess;
Parse;
Translate AST -> RIL3;
Optionally dump RIL3 to a file.

Back End:
Load RIL3 modules, translating function bytecode into a 3AC format;
Determine what is reachable, ...
Pass to determine memory model (estimates section sizes, ...)
Several mock-up code-generation passes;
Needed to sort out things like branch displacements and reg alloc;
Final code-generation pass (generates actual binary code);
Layout sections within binary image;
Apply symbolic relocations, generate base reloc table;
Generate a PE/COFF (PEL) image (albeit lacking the MZ stub);
LZ compress PE image;
Store output binary.

Some things could be better, some amount is from historical vestigial
structures.

Note that some things, such as ASM files and inline ASM, will typically
be passed through the RIL3 stage essentially as big ASCII text blobs (or
string literals), with a bytecode op that is like "Yeah, that big blob
of text on the top of the stack here, that is a blob of ASM code..." (at
the top-level, the ASM blob is popped off the stack and added as its own
"global object", or inside a function, emits a 3AC IR op that invokes
the ASM parser on the given string literal).

....

Re: addressing and protection, was Paper about ISO C

<sjvmfi$ssv$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20887&group=comp.arch#20887

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 16:37:50 -0500
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <sjvmfi$ssv$1@dont-email.me>
References: <sjvesb$a36$1@dont-email.me>
<memo.20211010211900.12252R@jgd.cix.co.uk>
<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Oct 2021 21:37:54 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="4849fb37e647683af19c4c339cd968fb";
logging-data="29599"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/BT71WtMc9mVlO1tbEXrLw"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:bHGX0Eji+pVCzWadmcT97ZfrS70=
In-Reply-To: <fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
Content-Language: en-US
 by: BGB - Sun, 10 Oct 2021 21:37 UTC

On 10/10/2021 3:59 PM, MitchAlsup wrote:
> On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:
>> In article <sjvesb$a36$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>>
>>> The design of the PBO ABI puts the responsibility of the GBR reload
>>> onto the called function, which in turn is only needed in certain
>>> cases: ...
>>> Function pointers which are also non-leaf and/or access global
>>> variables.
>> How does the compiler know, when compiling a function, if it will be
>> called via a pointer?
> <
> More importantly, why should it even know ?
> <
> double *trans_table[4] = {sin, cos, tan, atan};
> ...
> x = trans_tasble[i](arg);

I guess this points out a potential drawback of the design:
Taking the address of a function in one place may cause it to get slower
everywhere else...

>>
>> John

Re: addressing and protection, was Paper about ISO C

<eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20888&group=comp.arch#20888

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:255:: with SMTP id c21mr11244547qtx.35.1633901958577;
Sun, 10 Oct 2021 14:39:18 -0700 (PDT)
X-Received: by 2002:a4a:9581:: with SMTP id o1mr16123288ooi.61.1633901958376;
Sun, 10 Oct 2021 14:39:18 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 10 Oct 2021 14:39:18 -0700 (PDT)
In-Reply-To: <sjvls1$11i$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:a04c:e5b9:d39:d382;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:a04c:e5b9:d39:d382
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 10 Oct 2021 21:39:18 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 52
 by: MitchAlsup - Sun, 10 Oct 2021 21:39 UTC

On Sunday, October 10, 2021 at 4:27:30 PM UTC-5, Thomas Koenig wrote:
> MitchAlsup <Mitch...@aol.com> schrieb:
> > On Sunday, October 10, 2021 at 1:39:45 PM UTC-5, Thomas Koenig wrote:
> >> John Dallman <j...@cix.co.uk> schrieb:
> >> > In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
> >> >
> >> >> 32-bits, could comfortably fit one program
> >> >> Maybe several of them, if they are "fairly modest"
> >> >> 48 or 64 bits, could likely fit thousands of program instances.
> >> >
> >> >> This is excluding programs which reserve absurdly large address
> >> >> ranges "because they can", but I consider this to be an aberration
> >> >> rather than something which should be encouraged.
> >> >
> >> > Some programs do need to be able to handle sets of data, in RAM, that are
> >> > too large to fit into 32-bit addressing. There aren't huge numbers of
> >> > them, but they definitely exist.
> >> Compuational fluid dynamics.
> >>
> >> With today's problems, with 32-bit addressing (well, usually less
> >> than that) you can just go home.
> ><
> > A decade ago (can it be that long) I was doing 1D CFD on intake and
> > exhaust systems for automotive engines.
> That's hardly CFD these days :-) 1D unsteady, I assume?
<
I certainly had to use many-many surfaces to adequately model velocity
stacks--so something 9" long had 45 individual set of diameters.
<
> > These applications would
> > sometimes run for several days (24/7) on my 6 core system, but
> > never used "that much memory". The operating mesh had hundreds of
> > thousands of boundary constraints (mostly pipe walls).
> Most of the CPU time was spent doing some wildly non-linear
> things, I assume?
> ><
> > Perhaps 2D CFD and 3D CFD exponentiate my experience.......
<
> Most serious CFD is 3D.
<
I can certainly agree with this notion, however, I had Free ($0.00) access
to a 1D modeler that was already setup to do "about" what I wanted to do
(including the combustion physics); so I used what was easily available.
<
> A good rule of thumb for finite volume
> is that you need 4 to 8 GB per core these days. A 32-core system
> will then need between 64 and 128 GB.
>
> The workstation below my desk at work has 512 GB main memory, but
> I rarely use that. This is for a finite element code which has
> has an option for direct solvers. They are far more stable than
> the iterative ones, but _very_ memory hungry if the problem
> is big. Still, 256GB would in all probability have been enough.

Re: addressing and protection, was Paper about ISO C

<jwvczoctu50.fsf-monnier+comp.arch@gnu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20889&group=comp.arch#20889

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 18:07:23 -0400
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
<eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="ea854c6557f0a3f80f99bedbeb616fcd";
logging-data="1041"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Mws4G5KeNXz1Oag7RXof3"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:6aZ4inZT+eVBaYV593NkLhXDrKg=
sha1:SNfM6AiKbycURxV5dpIAlHiXw5o=
 by: Stefan Monnier - Sun, 10 Oct 2021 22:07 UTC

>> >> > Some programs do need to be able to handle sets of data, in RAM, that are
>> >> > too large to fit into 32-bit addressing. There aren't huge numbers of
>> >> > them, but they definitely exist.

I find this discussion quite surprising. On the one hand, I'm still
using the i386 port of Debian on most/all of my machines, so clearly all
my applications fit within that 32bit address space, but I'd have expected it's
quite common for numerical simulations to need a fair bit more.

After all, my Firefox process often gets in the GB range, my Emacs needs
at least as much RAM as the size of the files it edits (and log files >4GB
aren't that rare), and even smartphones come with 8GB these days.

So is it really still rare(ish) to pass the 4GB limit?

Stefan

Re: addressing and protection, was Paper about ISO C

<sjvpa4$4ip$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20890&group=comp.arch#20890

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!aioe.org!ux6ld97kLXxG8kVFFLnoWg.user.46.165.242.75.POSTED!not-for-mail
From: chris.m....@gmail.com (Chris M. Thomasson)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 15:26:12 -0700
Organization: Aioe.org NNTP Server
Message-ID: <sjvpa4$4ip$1@gioia.aioe.org>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
<eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
<jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="4697"; posting-host="ux6ld97kLXxG8kVFFLnoWg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
 by: Chris M. Thomasson - Sun, 10 Oct 2021 22:26 UTC

On 10/10/2021 3:07 PM, Stefan Monnier wrote:
>>>>>> Some programs do need to be able to handle sets of data, in RAM, that are
>>>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
>>>>>> them, but they definitely exist.
>
> I find this discussion quite surprising. On the one hand, I'm still
> using the i386 port of Debian on most/all of my machines, so clearly all
> my applications fit within that 32bit address space, but I'd have expected it's
> quite common for numerical simulations to need a fair bit more.
>
> After all, my Firefox process often gets in the GB range, my Emacs needs
> at least as much RAM as the size of the files it edits (and log files >4GB
> aren't that rare), and even smartphones come with 8GB these days.
>
> So is it really still rare(ish) to pass the 4GB limit?
>

Volumetric renders on very large stacks can be very memory intensive.
Say a 2048^3 volume.

Re: addressing and protection, was Paper about ISO C

<dc85fc5a-cc47-46fb-9981-73c73d99a7c8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20891&group=comp.arch#20891

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:b741:: with SMTP id h62mr12664682qkf.505.1633905845069;
Sun, 10 Oct 2021 15:44:05 -0700 (PDT)
X-Received: by 2002:aca:5f09:: with SMTP id t9mr15826354oib.157.1633905844831;
Sun, 10 Oct 2021 15:44:04 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 10 Oct 2021 15:44:04 -0700 (PDT)
In-Reply-To: <jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:a04c:e5b9:d39:d382;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:a04c:e5b9:d39:d382
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
<jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dc85fc5a-cc47-46fb-9981-73c73d99a7c8n@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 10 Oct 2021 22:44:05 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 35
 by: MitchAlsup - Sun, 10 Oct 2021 22:44 UTC

On Sunday, October 10, 2021 at 5:07:25 PM UTC-5, Stefan Monnier wrote:
> >> >> > Some programs do need to be able to handle sets of data, in RAM, that are
> >> >> > too large to fit into 32-bit addressing. There aren't huge numbers of
> >> >> > them, but they definitely exist.
> I find this discussion quite surprising. On the one hand, I'm still
> using the i386 port of Debian on most/all of my machines, so clearly all
> my applications fit within that 32bit address space, but I'd have expected it's
> quite common for numerical simulations to need a fair bit more.
>
> After all, my Firefox process often gets in the GB range, my Emacs needs
> at least as much RAM as the size of the files it edits (and log files >4GB
> aren't that rare), and even smartphones come with 8GB these days.
>
> So is it really still rare(ish) to pass the 4GB limit?
<
When virtual memory is working well, 4GB can hold a lot of processes.
<
We used to run cycle-accurate CPU simulations giving the CPU 4GB
of physical memory on machines with ¼GB of actual memory running
a full UNIX workload on top of the simulations we ran.
<
On the other hand, many workloads have "workarounds" that are perfectly
adequate for the application at hand. CRAY used to get CPU/machine
orders for systems where the numeric performance was behind NEC
supercomputers, but where the CRAY I/O system could sustain more
I/O (double buffered data stream I/O) and thus attack larger problems
than the NEC machines.
>
>
> Stefan

Re: addressing and protection, was Paper about ISO C

<sjvqgu$4nf$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20892&group=comp.arch#20892

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 15:46:53 -0700
Organization: A noiseless patient Spider
Lines: 53
Message-ID: <sjvqgu$4nf$1@dont-email.me>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Oct 2021 22:46:54 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="dc865e5e7797645de87cfd9356c90c02";
logging-data="4847"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19oS4x9CiuljI1oYbqRsxTN"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:MXvum+HWgsW1Xyu8GtxGUvPdqPA=
In-Reply-To: <sjvls1$11i$1@newsreader4.netcologne.de>
Content-Language: en-US
 by: Ivan Godard - Sun, 10 Oct 2021 22:46 UTC

On 10/10/2021 2:27 PM, Thomas Koenig wrote:
> MitchAlsup <MitchAlsup@aol.com> schrieb:
>> On Sunday, October 10, 2021 at 1:39:45 PM UTC-5, Thomas Koenig wrote:
>>> John Dallman <j...@cix.co.uk> schrieb:
>>>> In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>>>>
>>>>> 32-bits, could comfortably fit one program
>>>>> Maybe several of them, if they are "fairly modest"
>>>>> 48 or 64 bits, could likely fit thousands of program instances.
>>>>
>>>>> This is excluding programs which reserve absurdly large address
>>>>> ranges "because they can", but I consider this to be an aberration
>>>>> rather than something which should be encouraged.
>>>>
>>>> Some programs do need to be able to handle sets of data, in RAM, that are
>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
>>>> them, but they definitely exist.
>>> Compuational fluid dynamics.
>>>
>>> With today's problems, with 32-bit addressing (well, usually less
>>> than that) you can just go home.
>> <
>> A decade ago (can it be that long) I was doing 1D CFD on intake and
>> exhaust systems for automotive engines.
>
> That's hardly CFD these days :-) 1D unsteady, I assume?
>
>> These applications would
>> sometimes run for several days (24/7) on my 6 core system, but
>> never used "that much memory". The operating mesh had hundreds of
>> thousands of boundary constraints (mostly pipe walls).
>
> Most of the CPU time was spent doing some wildly non-linear
> things, I assume?
>
>> <
>> Perhaps 2D CFD and 3D CFD exponentiate my experience.......
>
> Most serious CFD is 3D. A good rule of thumb for finite volume
> is that you need 4 to 8 GB per core these days. A 32-core system
> will then need between 64 and 128 GB.
>
> The workstation below my desk at work has 512 GB main memory, but
> I rarely use that. This is for a finite element code which has
> has an option for direct solvers. They are far more stable than
> the iterative ones, but _very_ memory hungry if the problem
> is big. Still, 256GB would in all probability have been enough.
>

That's what- 40 bits? So a 64-bit shared address space can accommodate
2^24 of such apps, concurrently?

Clearly inadequate.

Re: addressing and protection, was Paper about ISO C

<sjvqml$4nf$2@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20893&group=comp.arch#20893

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 15:49:59 -0700
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <sjvqml$4nf$2@dont-email.me>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<b2fe4fe7-8939-4a36-9f27-4b90d1b8ded7n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Oct 2021 22:49:58 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="dc865e5e7797645de87cfd9356c90c02";
logging-data="4847"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1985i3IRFT/y7HjKYLtqhdL"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:uriPu/6wTNJbGoJ+6rRTxYoxYf4=
In-Reply-To: <b2fe4fe7-8939-4a36-9f27-4b90d1b8ded7n@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Sun, 10 Oct 2021 22:49 UTC

On 10/10/2021 11:54 AM, MitchAlsup wrote:
> On Sunday, October 10, 2021 at 1:33:59 PM UTC-5, John Dallman wrote:
>> In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>>
>>> 32-bits, could comfortably fit one program
>>> Maybe several of them, if they are "fairly modest"
>>> 48 or 64 bits, could likely fit thousands of program instances.
>>> This is excluding programs which reserve absurdly large address
>>> ranges "because they can", but I consider this to be an aberration
>>> rather than something which should be encouraged.
> <
>> Some programs do need to be able to handle sets of data, in RAM, that are
>> too large to fit into 32-bit addressing. There aren't huge numbers of
>> them, but they definitely exist.
> <
> In a 64-bit virtual address space, the user should be able to create holes
> in the virtual address space as large as 2^62 (I might be argued down to
> 2^60). Certainly no OS needs to grow bigger than 2^53......

Why?

Re: addressing and protection, was Paper about ISO C

<sjvran$jea$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20894&group=comp.arch#20894

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 16:00:38 -0700
Organization: A noiseless patient Spider
Lines: 96
Message-ID: <sjvran$jea$1@dont-email.me>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me>
<ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<967daf46-d627-4db5-9e5f-0584ac00a539n@googlegroups.com>
<jlN7J.12573$fZ.8007@fx06.iad> <c0nvlg9c4v1u2m4t9601rb02u7i6g1b3pg@4ax.com>
<aTZ7J.138342$F26.9781@fx44.iad> <sjprtg$259$1@dont-email.me>
<E0%7J.9319$7U3.7165@fx24.iad>
<2aab69d6-197a-4c3d-ba4c-0ac9c84a51fen@googlegroups.com>
<sjqfoo$9ef$1@dont-email.me> <sjrckv$jdf$1@dont-email.me>
<sjrgir$5v7$1@dont-email.me> <LPC8J.32586$PE4.19@fx11.iad>
<sjuvp5$u65$1@dont-email.me>
<3789ed37-18c9-4f40-bab8-7ee162d1d8f6n@googlegroups.com>
<sjv9g7$40u$1@dont-email.me>
<aaeda881-47ab-4af7-8e8d-773f0b5fe405n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 10 Oct 2021 23:00:39 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="dc865e5e7797645de87cfd9356c90c02";
logging-data="19914"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+NaSAAnDOmMifUyCfTWBQj"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:1rl+fUy8Vuv4Ygvhj7H4Mz2B5yY=
In-Reply-To: <aaeda881-47ab-4af7-8e8d-773f0b5fe405n@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Sun, 10 Oct 2021 23:00 UTC

On 10/10/2021 11:47 AM, MitchAlsup wrote:
> On Sunday, October 10, 2021 at 12:56:25 PM UTC-5, Ivan Godard wrote:
>> On 10/10/2021 9:57 AM, MitchAlsup wrote:
>>> On Sunday, October 10, 2021 at 10:10:31 AM UTC-5, Ivan Godard wrote:
>>>> On 10/10/2021 7:31 AM, EricP wrote:
>>>>> Ivan Godard wrote:
>>>>>> On 10/8/2021 11:25 PM, Stephen Fuld wrote:
>>>>>>>
>>>>>>> OK. This is generally called "Single Address Space". This is used
>>>>>>> by such systems as the IBM System i, and the Mill.
>>>>>>>
>>>>>>>> Granted, this does have the (fairly obvious) property that most
>>>>>>>> traditional schemes for memory protection, ..., kinda go out the
>>>>>>>> window when one has multiple logical processes within the same
>>>>>>>> address space (as do the traditional distinctions between threads
>>>>>>>> and processes).
>>>>>>>
>>>>>>> Not necessarily. Just because multiple logical processes exist
>>>>>>> within the same address space, doesn't mean that each process has
>>>>>>> legal access to all the addresses within that space.
>>>>>>
>>>>>> An address space tells you what you can name; a protection domain
>>>>>> tells you whether naming it does you any good.
>>>>>
>>>>> What exactly is the distinction between a single address space
>>>>> with page protection that allows multiple threads in that address space
>>>>> access to some of those pages, and multiple address spaces with multiple
>>>>> threads that allows access to some of those pages.
>>>>>
>>>>> Because it sure sounds like the difference is just whether or not there is
>>>>> a page-table-base pointer change on process switch, and if the TLB
>>>>> supports ASID's Address Space ID's then there is no performance difference.
>>>>>
>>>>> In other words, one page table with PTE's with fancy per-thread protection
>>>>> keys that change when threads switch, is the same as multiple page tables
>>>>> with PTE's with simple protection that map different memory sections.
>>>>>
>>>>> Where is the functional distinction?
>>>>> What can one do that the other can't?
>>> <
>>>> A single address space permits VMAX (typically 2^64) of virtual total,
>>>> system wide, for all processes. A multiple address space permits TMAX
>>>> (typically 2^16 or so)*VMAX total of virtual, system wide.
>>> <
>>> Mc 88200 supported 2×VMAX {code and data could be in different VASs.}
>>> Nobody used it that way.
>>> Everybody used it as ½×VMAX {lower ½ was user upper ½ was supervisor}.
>>>>
>>>> That's the historical reason that mapping is used: so a 16-bit system
>>>> could have more that 16 bits worth of combined system and appp code
>>>> running. 64-bit spaces are not (yet) constraining enough to need
>>>> multiple spaces..
>>> <
>>> PDP-11/70 had 16-bit user code+data and 16-bit supervisor code+data VASs.
>>> And LD-From and ST-To instructions access.
>>> <
>>> I am coming around to this means of accessing another VAS; indeed, this seems
>>> to be the cleanest way to implement ADA rendezvous where the caller and the
>>> acceptor can be in different address spaces, running at different priorities, on
>>> different cores, possibly different machines (i.e., over a network).
>>> <
>>> Acceptor has access to the callers VAS+arguments and can write acceptor
>>> results back to callers VAS+results.
>>> <
>>> About the only thing this does not provide is access across different virtual
>>> machines--at least directly.
>>>
>> How do you bound the access to only the argument (var. result) regions?
> <
> I am expecting ADA to be reasonable (i.e., ADA), here. During argument evaluation
> ADA will not create a dope vector that exceeds the actual passed data area (checked
> on the way out). During use of argument the acceptor will not violate (checked on the
> way in) the dope vector constraints.

Not asking what *will* get checked; asking what *can avoid* being
checked, inadvertently or maliciously. What prevents accessing (in or
out) out side what is described by the dope vector? Or are you assuming
that nothing but correctly compiled code can run, a la Unisys?
>>
>> How do you pass an object by reference? (e.g. an out-of-regs shared buffer)
> <
> Argument passed as in normal ABI (other than the caller knowing the call is to an
> accept), the caller evaluates arguments just like any other call. The process of
> rendezvous passes a Root pointer and a pointer to the <now stored> caller register
> file in places (control registers) only an acceptor is taught where to look (by the
> compiler). I may make access to these control registers raise exceptions if not
> in an Accept (it is not hard to tell). (I probably should........)
>

Is there both root and upper bound? How does the extent get into the TLB
for a bounds check? What is the granularity? How do I pass the buffer
pointed to by an argument? How do I pass all 10k nodes of a tree rooted
in a pointer passed as an argument?

Detailed description please.

Re: addressing and protection, was Paper about ISO C

<sjvt1h$i90$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20896&group=comp.arch#20896

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 18:29:49 -0500
Organization: A noiseless patient Spider
Lines: 64
Message-ID: <sjvt1h$i90$1@dont-email.me>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 10 Oct 2021 23:29:53 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="084e653876a6bd3544ce6ae536a535a3";
logging-data="18720"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX188jcFCJZplciPld84Kep9m"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:2kwLyS4E3qbUkcgmfDYoTcr9PNs=
In-Reply-To: <sjvqgu$4nf$1@dont-email.me>
Content-Language: en-US
 by: BGB - Sun, 10 Oct 2021 23:29 UTC

On 10/10/2021 5:46 PM, Ivan Godard wrote:
> On 10/10/2021 2:27 PM, Thomas Koenig wrote:
>> MitchAlsup <MitchAlsup@aol.com> schrieb:
>>> On Sunday, October 10, 2021 at 1:39:45 PM UTC-5, Thomas Koenig wrote:
>>>> John Dallman <j...@cix.co.uk> schrieb:
>>>>> In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB)
>>>>> wrote:
>>>>>
>>>>>> 32-bits, could comfortably fit one program
>>>>>> Maybe several of them, if they are "fairly modest"
>>>>>> 48 or 64 bits, could likely fit thousands of program instances.
>>>>>
>>>>>> This is excluding programs which reserve absurdly large address
>>>>>> ranges "because they can", but I consider this to be an aberration
>>>>>> rather than something which should be encouraged.
>>>>>
>>>>> Some programs do need to be able to handle sets of data, in RAM,
>>>>> that are
>>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
>>>>> them, but they definitely exist.
>>>> Compuational fluid dynamics.
>>>>
>>>> With today's problems, with 32-bit addressing (well, usually less
>>>> than that) you can just go home.
>>> <
>>> A decade ago (can it be that long) I was doing 1D CFD on intake and
>>> exhaust systems for automotive engines.
>>
>> That's hardly CFD these days :-)  1D unsteady, I assume?
>>
>>> These applications would
>>> sometimes run for several days (24/7) on my 6 core system, but
>>> never used "that much memory". The operating mesh had hundreds of
>>> thousands of boundary constraints (mostly pipe walls).
>>
>> Most of the CPU time was spent doing some wildly non-linear
>> things, I assume?
>>
>>> <
>>> Perhaps 2D CFD and 3D CFD exponentiate my experience.......
>>
>> Most serious CFD is 3D.   A good rule of thumb for finite volume
>> is that you need 4 to 8 GB per core these days.  A 32-core system
>> will then need between 64 and 128 GB.
>>
>> The workstation below my desk at work has 512 GB main memory, but
>> I rarely use that.  This is for a finite element code which has
>> has an option for direct solvers.  They are far more stable than
>> the iterative ones, but _very_ memory hungry if the problem
>> is big.  Still, 256GB would in all probability have been enough.
>>
>
> That's what- 40 bits? So a 64-bit shared address space can accommodate
> 2^24 of such apps, concurrently?
>
> Clearly inadequate.

Yeah, even the current 48-bit addressing scheme in BJX2 would be able to
accommodate 100 program instances this size.

For "typical sized" programs that would fit within a 32-bit machine, one
could reasonably fit upward of 120,000 of them in a single address
space, or roughly about 8 million Doom instances...

Re: addressing and protection, was Paper about ISO C

<sjvt49$hum$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20897&group=comp.arch#20897

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Sun, 10 Oct 2021 16:31:21 -0700
Organization: A noiseless patient Spider
Lines: 71
Message-ID: <sjvt49$hum$1@dont-email.me>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 10 Oct 2021 23:31:21 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="5fc23c2261a727827cc7c4e4821a3fb8";
logging-data="18390"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aRZlAclbRoIvtfcYzgkdniH04nkr3unA="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:jaU1WtHruJVftcZBkeGC5MvO3p4=
In-Reply-To: <sjvqgu$4nf$1@dont-email.me>
Content-Language: en-US
 by: Stephen Fuld - Sun, 10 Oct 2021 23:31 UTC

On 10/10/2021 3:46 PM, Ivan Godard wrote:
> On 10/10/2021 2:27 PM, Thomas Koenig wrote:
>> MitchAlsup <MitchAlsup@aol.com> schrieb:
>>> On Sunday, October 10, 2021 at 1:39:45 PM UTC-5, Thomas Koenig wrote:
>>>> John Dallman <j...@cix.co.uk> schrieb:
>>>>> In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB)
>>>>> wrote:
>>>>>
>>>>>> 32-bits, could comfortably fit one program
>>>>>> Maybe several of them, if they are "fairly modest"
>>>>>> 48 or 64 bits, could likely fit thousands of program instances.
>>>>>
>>>>>> This is excluding programs which reserve absurdly large address
>>>>>> ranges "because they can", but I consider this to be an aberration
>>>>>> rather than something which should be encouraged.
>>>>>
>>>>> Some programs do need to be able to handle sets of data, in RAM,
>>>>> that are
>>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
>>>>> them, but they definitely exist.
>>>> Compuational fluid dynamics.
>>>>
>>>> With today's problems, with 32-bit addressing (well, usually less
>>>> than that) you can just go home.
>>> <
>>> A decade ago (can it be that long) I was doing 1D CFD on intake and
>>> exhaust systems for automotive engines.
>>
>> That's hardly CFD these days :-)  1D unsteady, I assume?
>>
>>> These applications would
>>> sometimes run for several days (24/7) on my 6 core system, but
>>> never used "that much memory". The operating mesh had hundreds of
>>> thousands of boundary constraints (mostly pipe walls).
>>
>> Most of the CPU time was spent doing some wildly non-linear
>> things, I assume?
>>
>>> <
>>> Perhaps 2D CFD and 3D CFD exponentiate my experience.......
>>
>> Most serious CFD is 3D.   A good rule of thumb for finite volume
>> is that you need 4 to 8 GB per core these days.  A 32-core system
>> will then need between 64 and 128 GB.
>>
>> The workstation below my desk at work has 512 GB main memory, but
>> I rarely use that.  This is for a finite element code which has
>> has an option for direct solvers.  They are far more stable than
>> the iterative ones, but _very_ memory hungry if the problem
>> is big.  Still, 256GB would in all probability have been enough.
>>
>
> That's what- 40 bits? So a 64-bit shared address space can accommodate
> 2^24 of such apps, concurrently?
>
> Clearly inadequate.

I don't think the question of whether 64 bits is adequate (it is), but
for how long into the future will it be adequate, and secondarily, when
it does become inadequate, how big a change, hardware and software, will
be required to deal with it?

Remember, not allowing a large enough address space is considered by
many to be the biggest mistake in computer architecture. :-(

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Address space consumption (was: addressing and protection, was Paper about ISO C)

<jwv1r4stpvc.fsf-monnier+comp.arch@gnu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20898&group=comp.arch#20898

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: Address space consumption (was: addressing and protection, was Paper about ISO C)
Date: Sun, 10 Oct 2021 19:51:07 -0400
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <jwv1r4stpvc.fsf-monnier+comp.arch@gnu.org>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me>
<sjvt49$hum$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="ea854c6557f0a3f80f99bedbeb616fcd";
logging-data="10099"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/RMYgazl6ActkGylYVWjZ2"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:1gfkOIgAby+uLhtqNnVvlMzTVQo=
sha1:0NCd59o8Yp1GLHjRlyAP3TCxqIU=
 by: Stefan Monnier - Sun, 10 Oct 2021 23:51 UTC

> I don't think the question of whether 64 bits is adequate (it is), but for
> how long into the future will it be adequate, and secondarily, when it does
> become inadequate, how big a change, hardware and software, will be required
> to deal with it?
> Remember, not allowing a large enough address space is considered by many to
> be the biggest mistake in computer architecture. :-(

I wonder, indeed. It seems that the amount of RAM per CPU has been
growing fairly slowly of late. Even for those applications which
require >4GB of memory, many of them could still fairly easily be
reorganized into separate processes that each fit within 4GB (tho the
effort would make no sense currently).

I suspect that we should be able to live within 64bit per-process for
a very long time to come. The question being mostly whether the
convenience of a single address space shared between all those
processes/threads will be enough to justify moving to longer pointers,
or if instead compilers will at that time be able to hide easily enough
those details and offer the illusion of a single shared memory space
while dividing the application into a set of separate processes running
in separate address spaces.

I sometimes have dreams of machines that evolved back into systems with
far pointers (128bit, or even just URLs) and near pointers (e.g 32bit,
just to refer to the last-level cache, everything above that is accessed
as "disk blocks").

Stefan

Re: addressing and protection, was Paper about ISO C

<c18b03e2-5212-4fbc-acc5-3a1504807116n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20899&group=comp.arch#20899

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:becf:: with SMTP id f15mr14180421qvj.51.1633909897365;
Sun, 10 Oct 2021 16:51:37 -0700 (PDT)
X-Received: by 2002:aca:b5c3:: with SMTP id e186mr25221881oif.51.1633909897141;
Sun, 10 Oct 2021 16:51:37 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 10 Oct 2021 16:51:36 -0700 (PDT)
In-Reply-To: <sjvran$jea$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:a04c:e5b9:d39:d382;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:a04c:e5b9:d39:d382
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me> <ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<967daf46-d627-4db5-9e5f-0584ac00a539n@googlegroups.com> <jlN7J.12573$fZ.8007@fx06.iad>
<c0nvlg9c4v1u2m4t9601rb02u7i6g1b3pg@4ax.com> <aTZ7J.138342$F26.9781@fx44.iad>
<sjprtg$259$1@dont-email.me> <E0%7J.9319$7U3.7165@fx24.iad>
<2aab69d6-197a-4c3d-ba4c-0ac9c84a51fen@googlegroups.com> <sjqfoo$9ef$1@dont-email.me>
<sjrckv$jdf$1@dont-email.me> <sjrgir$5v7$1@dont-email.me> <LPC8J.32586$PE4.19@fx11.iad>
<sjuvp5$u65$1@dont-email.me> <3789ed37-18c9-4f40-bab8-7ee162d1d8f6n@googlegroups.com>
<sjv9g7$40u$1@dont-email.me> <aaeda881-47ab-4af7-8e8d-773f0b5fe405n@googlegroups.com>
<sjvran$jea$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c18b03e2-5212-4fbc-acc5-3a1504807116n@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 10 Oct 2021 23:51:37 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 74
 by: MitchAlsup - Sun, 10 Oct 2021 23:51 UTC

On Sunday, October 10, 2021 at 6:00:40 PM UTC-5, Ivan Godard wrote:
> On 10/10/2021 11:47 AM, MitchAlsup wrote:
> > On Sunday, October 10, 2021 at 12:56:25 PM UTC-5, Ivan Godard wrote:
> >> On 10/10/2021 9:57 AM, MitchAlsup wrote:

> >>> I am coming around to this means of accessing another VAS; indeed, this seems
> >>> to be the cleanest way to implement ADA rendezvous where the caller and the
> >>> acceptor can be in different address spaces, running at different priorities, on
> >>> different cores, possibly different machines (i.e., over a network).
> >>> <
> >>> Acceptor has access to the callers VAS+arguments and can write acceptor
> >>> results back to callers VAS+results.
> >>> <
> >>> About the only thing this does not provide is access across different virtual
> >>> machines--at least directly.
> >>>
> >> How do you bound the access to only the argument (var. result) regions?
> > <
> > I am expecting ADA to be reasonable (i.e., ADA), here. During argument evaluation
> > ADA will not create a dope vector that exceeds the actual passed data area (checked
> > on the way out). During use of argument the acceptor will not violate (checked on the
> > way in) the dope vector constraints.
<
> Not asking what *will* get checked; asking what *can avoid* being
> checked, inadvertently or maliciously. What prevents accessing (in or
> out) out side what is described by the dope vector? Or are you assuming
> that nothing but correctly compiled code can run, a la Unisys?
<
When an argument to a subroutine arrives in a register, there is a way to move
that data from where it is stored in memory to a register in the accept call-point.
<
When data is not scalar, ADA builds a dope vector describing the access
characteristics of the non-scalar data on the way out.
<
When data is not scalar ADA uses the dope vector properly, and much of the
time, the way good ADA is written, the checks are not necessary, just like if
there was no call-accept sitting between the semantics of the ASCII text
and the compiled code.
<
> >>
> >> How do you pass an object by reference? (e.g. an out-of-regs shared buffer)
> > <
> > Argument passed as in normal ABI (other than the caller knowing the call is to an
> > accept), the caller evaluates arguments just like any other call. The process of
> > rendezvous passes a Root pointer and a pointer to the <now stored> caller register
> > file in places (control registers) only an acceptor is taught where to look (by the
> > compiler). I may make access to these control registers raise exceptions if not
> > in an Accept (it is not hard to tell). (I probably should........)
> >
> Is there both root and upper bound?
<
There is a dope vector into the foreign address space, and there is a root for the
translation tables in the foreign address space. The dope vector contains a base
pointer and other information used to determine the extent of the non-scalar data.
<
> How does the extent get into the TLB
> for a bounds check?
<
The TLB merely performs the translation and gives the acceptor the same access
rights as the caller. The Dope vector and ADA generated instructions perform the
bounds checking. My 66000 has an efficient bounds check in the CMP instruction.
<
< What is the granularity?
Byte.
> How do I pass the buffer
> pointed to by an argument?
<
In a dope vector which contains a pointer (base) and a bounds.
<
< How do I pass all 10k nodes of a tree rooted
> in a pointer passed as an argument?
<
Pass a pointer to a type of tree-node.
>
> Detailed description please.

Re: addressing and protection, was Paper about ISO C

<914dc562-eb1d-42b5-ae2e-b3ef9f214479n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20900&group=comp.arch#20900

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:4347:: with SMTP id a7mr11771629qtn.169.1633910435154;
Sun, 10 Oct 2021 17:00:35 -0700 (PDT)
X-Received: by 2002:a05:6808:1243:: with SMTP id o3mr16298583oiv.99.1633910434746;
Sun, 10 Oct 2021 17:00:34 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 10 Oct 2021 17:00:34 -0700 (PDT)
In-Reply-To: <sjvt49$hum$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:a04c:e5b9:d39:d382;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:a04c:e5b9:d39:d382
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me> <sjvt49$hum$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <914dc562-eb1d-42b5-ae2e-b3ef9f214479n@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 11 Oct 2021 00:00:35 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 88
 by: MitchAlsup - Mon, 11 Oct 2021 00:00 UTC

On Sunday, October 10, 2021 at 6:31:22 PM UTC-5, Stephen Fuld wrote:
> On 10/10/2021 3:46 PM, Ivan Godard wrote:
> > On 10/10/2021 2:27 PM, Thomas Koenig wrote:
> >> MitchAlsup <Mitch...@aol.com> schrieb:
> >>> On Sunday, October 10, 2021 at 1:39:45 PM UTC-5, Thomas Koenig wrote:
> >>>> John Dallman <j...@cix.co.uk> schrieb:
> >>>>> In article <sjv4u6$37u$1...@dont-email.me>, cr8...@gmail.com (BGB)
> >>>>> wrote:
> >>>>>
> >>>>>> 32-bits, could comfortably fit one program
> >>>>>> Maybe several of them, if they are "fairly modest"
> >>>>>> 48 or 64 bits, could likely fit thousands of program instances.
> >>>>>
> >>>>>> This is excluding programs which reserve absurdly large address
> >>>>>> ranges "because they can", but I consider this to be an aberration
> >>>>>> rather than something which should be encouraged.
> >>>>>
> >>>>> Some programs do need to be able to handle sets of data, in RAM,
> >>>>> that are
> >>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
> >>>>> them, but they definitely exist.
> >>>> Compuational fluid dynamics.
> >>>>
> >>>> With today's problems, with 32-bit addressing (well, usually less
> >>>> than that) you can just go home.
> >>> <
> >>> A decade ago (can it be that long) I was doing 1D CFD on intake and
> >>> exhaust systems for automotive engines.
> >>
> >> That's hardly CFD these days :-) 1D unsteady, I assume?
> >>
> >>> These applications would
> >>> sometimes run for several days (24/7) on my 6 core system, but
> >>> never used "that much memory". The operating mesh had hundreds of
> >>> thousands of boundary constraints (mostly pipe walls).
> >>
> >> Most of the CPU time was spent doing some wildly non-linear
> >> things, I assume?
> >>
> >>> <
> >>> Perhaps 2D CFD and 3D CFD exponentiate my experience.......
> >>
> >> Most serious CFD is 3D. A good rule of thumb for finite volume
> >> is that you need 4 to 8 GB per core these days. A 32-core system
> >> will then need between 64 and 128 GB.
> >>
> >> The workstation below my desk at work has 512 GB main memory, but
> >> I rarely use that. This is for a finite element code which has
> >> has an option for direct solvers. They are far more stable than
> >> the iterative ones, but _very_ memory hungry if the problem
> >> is big. Still, 256GB would in all probability have been enough.
> >>
> >
> > That's what- 40 bits? So a 64-bit shared address space can accommodate
> > 2^24 of such apps, concurrently?
> >
> > Clearly inadequate.
<
> I don't think the question of whether 64 bits is adequate (it is), but
> for how long into the future will it be adequate,
<
First notice that the hard limit only applies to single address space architectures.
<
Secondarily notice: I am only worried about "the rest of my lifetime" time line.
<
> and secondarily, when
> it does become inadequate, how big a change, hardware and software, will
> be required to deal with it?
<
I think the transition from 64-bits to whatever will be greater than the
the transition from 32-bits to 64-bits. The next power of 2 is way bigger
than necessary 2^128 (10^38.5) while there are only 10^49 atoms on the
planet.
<
Non-powers of 2 are problematic; but I don't think I have to worry about this.
<
Main memory growth seems to have slowed.........a bit......
>
> Remember, not allowing a large enough address space is considered by
> many to be the biggest mistake in computer architecture. :-(
<
I remember, and I knew the person who first stated that.
>
>
>
>
> --
> - Stephen Fuld
> (e-mail address disguised to prevent spam)

Re: Address space consumption (was: addressing and protection, was Paper about ISO C)

<e0883e03-0ada-47d3-aa74-176002a00222n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20901&group=comp.arch#20901

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:44cc:: with SMTP id r195mr13101746qka.77.1633910631622;
Sun, 10 Oct 2021 17:03:51 -0700 (PDT)
X-Received: by 2002:a9d:44d:: with SMTP id 71mr18143165otc.331.1633910631402;
Sun, 10 Oct 2021 17:03:51 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 10 Oct 2021 17:03:51 -0700 (PDT)
In-Reply-To: <jwv1r4stpvc.fsf-monnier+comp.arch@gnu.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:a04c:e5b9:d39:d382;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:a04c:e5b9:d39:d382
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me>
<sjvt49$hum$1@dont-email.me> <jwv1r4stpvc.fsf-monnier+comp.arch@gnu.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e0883e03-0ada-47d3-aa74-176002a00222n@googlegroups.com>
Subject: Re: Address space consumption (was: addressing and protection, was
Paper about ISO C)
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 11 Oct 2021 00:03:51 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 38
 by: MitchAlsup - Mon, 11 Oct 2021 00:03 UTC

On Sunday, October 10, 2021 at 6:51:09 PM UTC-5, Stefan Monnier wrote:
> > I don't think the question of whether 64 bits is adequate (it is), but for
> > how long into the future will it be adequate, and secondarily, when it does
> > become inadequate, how big a change, hardware and software, will be required
> > to deal with it?
> > Remember, not allowing a large enough address space is considered by many to
> > be the biggest mistake in computer architecture. :-(
<
> I wonder, indeed. It seems that the amount of RAM per CPU has been
> growing fairly slowly of late. Even for those applications which
> require >4GB of memory, many of them could still fairly easily be
> reorganized into separate processes that each fit within 4GB (tho the
> effort would make no sense currently).
>
> I suspect that we should be able to live within 64bit per-process for
> a very long time to come. The question being mostly whether the
> convenience of a single address space shared between all those
> processes/threads will be enough to justify moving to longer pointers,
<
Note:: something like 98% of all applications only need 32-bits as of today.
<
Also note:: both of the big architectures are not SaS.
<
> or if instead compilers will at that time be able to hide easily enough
> those details and offer the illusion of a single shared memory space
> while dividing the application into a set of separate processes running
> in separate address spaces.
<
DataBase experience says no.
>
> I sometimes have dreams of machines that evolved back into systems with
> far pointers (128bit, or even just URLs) and near pointers (e.g 32bit,
> just to refer to the last-level cache, everything above that is accessed
> as "disk blocks").
<
URLs are the "solves everything" except performance hammer.
>
>
> Stefan

Re: addressing and protection, was Paper about ISO C

<d_L8J.100691$Dr.81240@fx40.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20904&group=comp.arch#20904

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!aioe.org!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!feeder1.feed.usenet.farm!feed.usenet.farm!peer01.ams4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx40.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
References: <87fstdumxd.fsf@hotmail.com> <sjrgir$5v7$1@dont-email.me> <LPC8J.32586$PE4.19@fx11.iad> <sjuvp5$u65$1@dont-email.me> <sjvd8k$1804$1@gal.iecc.com> <sjvgn4$mon$1@dont-email.me>
In-Reply-To: <sjvgn4$mon$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 84
Message-ID: <d_L8J.100691$Dr.81240@fx40.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Mon, 11 Oct 2021 00:57:45 UTC
Date: Sun, 10 Oct 2021 20:57:37 -0400
X-Received-Bytes: 4404
 by: EricP - Mon, 11 Oct 2021 00:57 UTC

BGB wrote:
> On 10/10/2021 2:00 PM, John Levine wrote:
>> According to Ivan Godard <ivan@millcomputing.com>:
>>>> Where is the functional distinction?
>>>> What can one do that the other can't?
>>>
>>> A single address space permits VMAX (typically 2^64) of virtual total,
>>> system wide, for all processes. A multiple address space permits TMAX
>>> (typically 2^16 or so)*VMAX total of virtual, system wide.
>>>
>>> That's the historical reason that mapping is used: so a 16-bit system
>>> could have more that 16 bits worth of combined system and appp code
>>> running. 64-bit spaces are not (yet) constraining enough to need
>>> multiple spaces..
>>
>> That's one reason, the other flips it around, so the application
>> address space could be
>> bigger than physical memory, and you fake it with paging. You
>> probably remember static
>> shared libraries, which loaded at the same place in every process,
>> something that needs
>> an address space per process to work.
>>
>> It is my impression that once you have enough hardware to handle
>> paging in one application
>> address space, multiple address spaces aren't much harder.
>>
>
> Harder... No.
> Slower... Yes.
>
> As noted, in my case there is little stopping the MMU from being used
> for multiple address spaces. It is a little more awkward for an OS
> kernel, but doesn't really effect the HW all that much.
>
> However, the more obvious issue is that, as soon as one switches address
> spaces, none of the contents of the TLB are relevant anyone. So, every
> task switch is very likely to be followed by potentially a few thousand
> cycles worth of TLB reloads.
>
> If it is a single address space, then it is likely that any shared
> contents (such as OS provided libraries, ...) will still be in the TLB
> following a task switch.
>
>
>
> An ASID could help, if one assumes that some of the old contents remain
> in the TLB by the time the scheduler cycles back around.
>
> Another possible option though could be a hierarchical ASID, say:
> ASID: 6b=AGID, 10b=APID
> Where a TLBE:
> ASID=0, Globally Valid
> AGID!=0, APID=0: Valid so long as AGID matches.
> AGID!=0, APID!=0: Valid if ASID's are equal.
>
> With the ASID being in the same encoding space as VUGID.
>
> The ASID bits are partly co-opted in the split TLBE scheme for 96-bit
> addressing though, so it is likely that in 96-bit mode the MMU would not
> have ASID's (well, along with some debate as to whether it would reduce
> TLB associativity, or add a separate smaller TLB for matching address
> bits 95:48...).
>

The ASID doesn't have to be very large because they can be assigned
on a per-core basis, as opposed to globally unique ASIDs,
and you can recycle the numbers for each core.

Say it has 4 kB pages and full 64 bit address so the TLB
has a fully assoc table with 52 bit virtual addresses.

A 4 bit ASID tags the TLB VA entries for the most recent 16 address
spaces mapped on that core. When the OS recycles an ASID it purges
that cores' TLB entries of just that ASID number before reusing.

When a process is mapped in a core, its page table base address is set
in the MMU base register, and the assigned ASID is set in a ID register.
Each time a PTE is loaded, if it is a per-process PTE then the current
ID register is copied to the new TLB entry ASID field.

OS needs a little code to track which ASID's for each process
were assigned on each core but nothing complicated.

Re: addressing and protection, was Paper about ISO C

<sk079n$1uja$1@gal.iecc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20905&group=comp.arch#20905

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
From: joh...@taugh.com (John Levine)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 02:24:55 -0000 (UTC)
Organization: Taughannock Networks
Message-ID: <sk079n$1uja$1@gal.iecc.com>
References: <87fstdumxd.fsf@hotmail.com> <sjuvp5$u65$1@dont-email.me> <sjvd8k$1804$1@gal.iecc.com> <sjvgn4$mon$1@dont-email.me>
Injection-Date: Mon, 11 Oct 2021 02:24:55 -0000 (UTC)
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970";
logging-data="64106"; mail-complaints-to="abuse@iecc.com"
In-Reply-To: <87fstdumxd.fsf@hotmail.com> <sjuvp5$u65$1@dont-email.me> <sjvd8k$1804$1@gal.iecc.com> <sjvgn4$mon$1@dont-email.me>
Cleverness: some
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: johnl@iecc.com (John Levine)
 by: John Levine - Mon, 11 Oct 2021 02:24 UTC

According to BGB <cr88192@gmail.com>:
>Harder... No.
>Slower... Yes.
>
>As noted, in my case there is little stopping the MMU from being used
>for multiple address spaces. It is a little more awkward for an OS
>kernel, but doesn't really effect the HW all that much.
>
>However, the more obvious issue is that, as soon as one switches address
>spaces, none of the contents of the TLB are relevant anyone. So, every
>task switch is very likely to be followed by potentially a few thousand
>cycles worth of TLB reloads. ...

There are approaches to this issue going back at least to the 1980s.
They're variations on putting a some sort of process or segment ID
in the TLB so for the TLB it's one big address space, even though
for programs they are separate.

The IBM ROMP and I think the early POWER chips divided the 32 bit
address into a 4 bit segment number and 28 bit offset, with the segment
number being in index into a much larger set of segments, 12 or 15 bits.
On a process switch it'd change the 16 segment map entries but it
didn't need to flush the TLB like thing its reverse map had.

--
Regards,
John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly

Re: addressing and protection, was Paper about ISO C

<sk0ipn$1os3$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20907&group=comp.arch#20907

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!aioe.org!ppYixYMWAWh/woI8emJOIQ.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 07:41:10 +0200
Organization: Aioe.org NNTP Server
Message-ID: <sk0ipn$1os3$1@gioia.aioe.org>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk> <sjvgav$1ga2$2@gal.iecc.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="58243"; posting-host="ppYixYMWAWh/woI8emJOIQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Mon, 11 Oct 2021 05:41 UTC

John Levine wrote:
> According to John Dallman <jgd@cix.co.uk>:
>>> This is excluding programs which reserve absurdly large address
>>> ranges "because they can", but I consider this to be an aberration
>>> rather than something which should be encouraged.
>>
>> Some programs do need to be able to handle sets of data, in RAM, that are
>> too large to fit into 32-bit addressing. There aren't huge numbers of
>> them, but they definitely exist.
>
> Databases will buffer as much as they can in RAM. If your machine can give
> your database ten gig of RAM, it can do useful things with it, assuming
> you have databases that big which these days you probably do.

10GB is a small DB these days!

More interestingly a 10GB RAM buffer often means that you can take a 100
GB regular DB and convert it to compressed column store layout which
will then fit everything in memory.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: addressing and protection, was Paper about ISO C

<sk0k2o$jfc$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20908&group=comp.arch#20908

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 06:03:04 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk0k2o$jfc$1@newsreader4.netcologne.de>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
<eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
Injection-Date: Mon, 11 Oct 2021 06:03:04 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="19948"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 11 Oct 2021 06:03 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Sunday, October 10, 2021 at 4:27:30 PM UTC-5, Thomas Koenig wrote:
>> MitchAlsup <Mitch...@aol.com> schrieb:

>> > A decade ago (can it be that long) I was doing 1D CFD on intake and
>> > exhaust systems for automotive engines.
>> That's hardly CFD these days :-) 1D unsteady, I assume?
><
> I certainly had to use many-many surfaces to adequately model velocity
> stacks--so something 9" long had 45 individual set of diameters.
><
>> > These applications would
>> > sometimes run for several days (24/7) on my 6 core system, but
>> > never used "that much memory". The operating mesh had hundreds of
>> > thousands of boundary constraints (mostly pipe walls).
>> Most of the CPU time was spent doing some wildly non-linear
>> things, I assume?
>> ><
>> > Perhaps 2D CFD and 3D CFD exponentiate my experience.......
><
>> Most serious CFD is 3D.
><
> I can certainly agree with this notion, however, I had Free ($0.00) access
> to a 1D modeler that was already setup to do "about" what I wanted to do
> (including the combustion physics); so I used what was easily available.

Ah, that is the "wildly nonlinear" part I was looking for.
The Arrhenius equation for the rate of chemical reactions
has two nasty properties for numerics:

k = A * exp(-Ea/(R*T))

is

a) exponential, so you need to evaluate an expensive function
(a nod to your implementation there - are you closer to having
it implemented by a chip designer?)

b) highly nonlinear, so you need a large number of iterations,
especially if you have many of them coupled.

so it is possible to burn almost arbitrary amounts of CPU time
on such a problem.

Such a problem is usually CPU bound, not memory bound like "normal"
CFD. For a 1D problem, I would normally not classify it as CFD;
for me, that starts at 2D, but that is a definition by me
and my colleagues. You would also use different programs for this.

Interestingly enough, even a program like Ansys Fluent does not
really solve 2D CFD problems. Instead, it turns a 2D problem into
a 3D problem on a slab with a thickness of 1m (by default).

Re: addressing and protection, was Paper about ISO C

<sk0l2a$jfc$3@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20910&group=comp.arch#20910

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 06:19:54 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk0l2a$jfc$3@newsreader4.netcologne.de>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
<eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
<jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
Injection-Date: Mon, 11 Oct 2021 06:19:54 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="19948"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 11 Oct 2021 06:19 UTC

Stefan Monnier <monnier@iro.umontreal.ca> schrieb:
>>> >> > Some programs do need to be able to handle sets of data, in RAM, that are
>>> >> > too large to fit into 32-bit addressing. There aren't huge numbers of
>>> >> > them, but they definitely exist.
>
> I find this discussion quite surprising. On the one hand, I'm still
> using the i386 port of Debian on most/all of my machines, so clearly all
> my applications fit within that 32bit address space, but I'd have expected it's
> quite common for numerical simulations to need a fair bit more.
>
> After all, my Firefox process often gets in the GB range, my Emacs needs
> at least as much RAM as the size of the files it edits (and log files >4GB
> aren't that rare), and even smartphones come with 8GB these days.
>
> So is it really still rare(ish) to pass the 4GB limit?

Most processes do not pass 4GB, but there are important ones that do.

If you're on a x86, you also have fewer registers in 32-bit mode,
unless you use the x32 ABI (is that still alive?)

SPARC compilers will give you 32 bit code by default to save
on code size. If you want to run a cryptographic hash, then
of course 64 bit is better :-)

Re: addressing and protection, was Paper about ISO C

<sk0l6i$jfc$4@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20911&group=comp.arch#20911

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 06:22:10 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk0l6i$jfc$4@newsreader4.netcologne.de>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me>
<sjvt49$hum$1@dont-email.me>
<914dc562-eb1d-42b5-ae2e-b3ef9f214479n@googlegroups.com>
Injection-Date: Mon, 11 Oct 2021 06:22:10 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="19948"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 11 Oct 2021 06:22 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:

> I think the transition from 64-bits to whatever will be greater than the
> the transition from 32-bits to 64-bits. The next power of 2 is way bigger
> than necessary 2^128 (10^38.5) while there are only 10^49 atoms on the
> planet.

My personal favorite would be 72 bits (bring back the 36-bit REAL of the
IBM 704 and the PDP-10!), but of course
><
> Non-powers of 2 are problematic; but I don't think I have to worry about this.

this is true.

Re: addressing and protection, was Paper about ISO C

<sk0lei$jfc$5@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20912&group=comp.arch#20912

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 06:26:26 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk0lei$jfc$5@newsreader4.netcologne.de>
References: <sjv4u6$37u$1@dont-email.me>
<memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de>
<9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de>
<eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
<jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
<dc85fc5a-cc47-46fb-9981-73c73d99a7c8n@googlegroups.com>
Injection-Date: Mon, 11 Oct 2021 06:26:26 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="19948"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 11 Oct 2021 06:26 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:

> On the other hand, many workloads have "workarounds" that are perfectly
> adequate for the application at hand. CRAY used to get CPU/machine
> orders for systems where the numeric performance was behind NEC
> supercomputers, but where the CRAY I/O system could sustain more
> I/O (double buffered data stream I/O) and thus attack larger problems
> than the NEC machines.

Cray I/O was quite good, I once heard (anecdotally) that the
computing center at Stuttgart got a Cray for database applications
because it had a better price than the equivalent IBM equipment.
This was in the 1990s.

However, regarding CFD, this is a thing of the past. If you get
into paging (or swapping) with a modern CFD, you can usually forget
about getting a result in a reasonable time.

Re: Paper about ISO C

<vpc8mg9nie7kcpik5knob6po2rt4goftvd@4ax.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20915&group=comp.arch#20915

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 09:14:56 -0400
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <vpc8mg9nie7kcpik5knob6po2rt4goftvd@4ax.com>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me> <sjnmcp$630$1@dont-email.me> <ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com> <hiN7J.53059$3p3.5024@fx16.iad> <9e23mg1uk377av16575v343v97f128bbe6@4ax.com> <Gwh8J.222306$T_8.186929@fx48.iad> <j6i3mg16rc2f6d99n7u64cmebnvq02d407@4ax.com> <9a019b14-481d-4ae9-a8ae-8f0c2d94bf57n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="174a257b3df625f93d283b2cfc8428d0";
logging-data="26469"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19duoq3HjUScRqHKvn6XqajqnxBLoUWm3E="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:eoCcYqx8NmY2GraP0RX4iOxYIKo=
 by: George Neuner - Mon, 11 Oct 2021 13:14 UTC

On Sat, 9 Oct 2021 14:28:22 -0700 (PDT), MitchAlsup
<MitchAlsup@aol.com> wrote:

>Question: in a 64-bit virtual address space, is there ever a reason that
>the "heap" cannot live in a contiguous subsection of that space so
>base and bounds could tell if the pointer should be considered for
>GC (or not)?

I can't think of one offhand. 64 bits gives plenty of space for lots
of programs to have huge contiguous heaps.

GCs for uncooperative languages (like C) do check potential pointers -
i.e. properly aligned values - against the heap limits as a first
step. But what the GC really needs to know is if a pointer refers to
an actual allocated block. Determining /that/ is a lot harder because
the value must be range checked against every allocation, not just
against the heap limits.

There are various data structures that facilitate interval / range
searching, but maintaining them is extra overhead in the allocator and
collector, and potentially is heap space unavailable to the program.
It's a lot more effective to require that the compiler retain original
pointers and always work on copies of them.

George

Pages:123456789101112131415161718192021222324252627282930313233
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor