<div dir="ltr"><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Steve,<br><br>>Some day Terrabytes of RAM won't be enough. Kinda like it turned out<br>
>640K wasn't enough :-)<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">In modern-day operating systems that use demand-paged virtual memory there is a difference between the virtual address space and the amount of physical RAM used.   The discussion I was having with my friend was the difference between a 64-bit virtual address space and a 128-bit virtual address space, and he wanted a 128-bit address space.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">I will not go through the complete history of address spaces, but I will point out that in 1973 I programmed on an IBM mainframe that had a 24-bit virtual address space (approximately 16 Megabytes) with only one megabyte of semiconductor memory in it.   Of course we did not have modern day graphics, audio or cat pictures on it.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">The PDP-11 line of computers had a 16-bit virtual address space, and often had a limit of 4 MB of RAM, yet we did timesharing and other things on them.  We still did not have lots of cat pictures, but we did have some porn in low resolution from alt.binaries<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">The VAX-11 line brought out 32-bit virtual address spaces, about 4 billion bytes, with real memories costing 16,000 USD per megabyte (from DEC, others sold compatible memory for 1,000 USD per megabyte....but that is capitalism for you)<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">The Alpha's 64-bit virtual address space allowed 4 billion times 4 billion bytes of data in one address space.   I have done the math on this before, but to keep it brief, that is 2^64 or 1.84x10^19th power or about 38KB for every square meter on the face of the earth including all the oceans.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">The reason that a person might want a 64-bit processor over a 32-bit processor is not that their problem would need all 64-bits, but that it might need 33 bits or 34 bits of address space.   If your processor does not have that capability then you have to do "edge programming" on your problem....getting to the "edge" of your data, saving various variables, flipping over to the next address space and applying that data.   This can be tricky in some problems, particularly multi-threaded problems.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">However the 64-bit processor does not need 2^64 bytes of hardware RAM.   Here we deal with two fundamental theories of computation:  locality of reference and temporal locality.   It is the basis of virtual memory, and basically points out that references in a virtual address space of a well-written program are very likely to be in the same area or same time frame as the last reference.   This is why cache memory works and when you encounter a poorly written program you often have "thrashing" in the memory subsystem.   If the "localities" are poor enough the thrashing can also affect your I/O subsystem.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">The amount of RAM needed for a modern-day computing system is not a function of virtual address space nor individual problems to be solved, but more a function of the number of processes and threads that are resident at one time in the RAM, plus the balance between RAM, the I/O subsystem and the quality of programming.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Even if you were to say that a problem really did need so much data that it completely consumed a 64-bit address space, the time it would take for a processor to simply <b><i>access</i></b> each byte of that address space (no "processing", just accessing that byte) with a one GHz single-core RISC processor (to keep things simple) would take 584,942 years.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">I will also point out that we could solve many of those REALLY BIG problems by using edge programming, it was just that not having to use edge programming made it easier and less error-prone.   As an example, you could mmap(2) into virtual memory all the data in a REALLY LARGE file, and treat that data as if it had been first read into RAM.<br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">I will not even discuss the number of page-table entries or the trade-offs in swapping, nor the fact that 2^64 bytes of RAM, even at 1 dollar a gigabyte, is more than this retired computer guy can afford.   Just trust me that you do not want to pay for that in your phone (since most smartphones use 64-bit processors these days).<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">I hope at this point that you can understand why I am not going to wait for for 128 bits of virtual address space....or even 65 bits.   64-bits will keep me for a while.<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Warmest regards,<br><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:small">Jon "maddog" Hall<br>
</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 23, 2024 at 9:01 AM Steve Litt via Ale <<a href="mailto:ale@ale.org">ale@ale.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Jon "maddog" Hall via Ale said on Fri, 17 May 2024 05:55:19 -0400<br>
<br>
>I asked them "What problem do you need that much address space to<br>
>solve? What is the practical need?"<br>
<br>
RAM.<br>
<br>
Some day Terrabytes of RAM won't be enough. Kinda like it turned out<br>
640K wasn't enough :-)<br>
<br>
Imagine modeling the entire Milky Way looking for asteroid/comet<br>
impactors.<br>
<br>
That being said, I liked Scott McBrien's points about extreme wastage.<br>
<br>
SteveT<br>
<br>
Steve Litt <br>
<br>
Autumn 2023 featured book: Rapid Learning for the 21st Century<br>
<a href="http://www.troubleshooters.com/rl21" rel="noreferrer" target="_blank">http://www.troubleshooters.com/rl21</a><br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
<a href="https://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">https://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</blockquote></div>