comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Everything You Know Is Wrong
Date: Sun, 27 Dec 2015 09:46:31 +0100
Date: 2015-12-27T09:46:31+01:00	[thread overview]
Message-ID: <n5o8hd$p6p$1@speranza.aioe.org> (raw)
In-Reply-To: n5nbml$v32$1@dont-email.me

On 2015-12-27 01:37, Jeffrey R. Carter wrote:

> Today we learn that memory is much faster than persistent storage. That may soon
> be wrong, too. I've been reading about non-volatile memory research, and it
> seems that in a few years NV RAM will be available as fast current RAM and as
> persistent and durable as current disks.
>
> This will no doubt revolutionize computer architectures and programming
> languages. Instead of computers with distinct memory and storage, there will
> probably be computers with lots of NV RAM (1-10 TB?) but no disk.

There will be no files and no I/O.

The idea of a memory-mapped object-oriented system is nothing new. On 
the contrary, it is more than 20 years old.

BTW, we always will have multiple speed memory. When the memory of each 
computer will get a unique place in the global address space and thus 
networking I/O will be eliminated, remote memory mapping will remain 
much slower than the local one. Similarly, locally shared writable 
memory will always be slower than the single-ported one and that slower 
than cache etc.

> People will no doubt still want a hierarchical naming system for data stored in
> that memory, but presumably S/W will map variables onto these "files". So
> instead of the current "open, loop over read/modify/write, close" paradigm, we
> might have something like
>
> type R is record ...
>
> type L is array (Positive range <>) of R;
>
> F: mapped L with File_Name => "name";

Static persistent object binding makes no sense, of course.

> All_Records : for I in F'range loop -- or "of F"
>
> where the bounds of F will be determined from "name". A mechanism will be needed
> for collections of heterogenous data as well. F would be equivalent to a
> Direct_IO file with in-out mode.

No, it will be equivalent to a container library.

BTW, Direct_IO stems from block-oriented devices, namely disks. Once 
there will be no I/O there will be no need to slice data into same sized 
blocks.

> I would think that the Ada 2X project should be thinking about these things, and
> wonder what others here think about them.

Well, long ago I wrote here about requirements the language must have in 
order to support such persistent memory. The most important one is 
getting away from the trusted model. E.g. operations of a persistent 
protected object must go through the supervisor mode in order to keep 
protected members out of the caller's memory space. And you won't get 
anywhere without proper interfaces and an elaborated type system.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  parent reply	other threads:[~2015-12-27  8:46 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-27  0:37 Everything You Know Is Wrong Jeffrey R. Carter
2015-12-27  7:55 ` J-P. Rosen
2015-12-27 17:37   ` Jeffrey R. Carter
2015-12-27  8:46 ` Dmitry A. Kazakov [this message]
2015-12-27 17:36   ` Jeffrey R. Carter
2016-01-04 14:44     ` Alejandro R. Mosteo
2015-12-28  9:57 ` Georg Bauhaus
2015-12-28 11:19   ` Dmitry A. Kazakov
2015-12-28 16:27     ` Nicholas Collin Paul de Gloucester
2015-12-28 17:30       ` Dmitry A. Kazakov
2015-12-28 18:50         ` Nicholas Collin Paul de Gloucester
2015-12-28 20:40           ` Dmitry A. Kazakov
2015-12-29 11:42             ` G.B.
2015-12-29 12:36               ` Dmitry A. Kazakov
2015-12-29 13:50                 ` G.B.
2015-12-29 14:06                   ` J-P. Rosen
2015-12-29 14:16                   ` Dmitry A. Kazakov
2015-12-29 16:31                     ` Dennis Lee Bieber
2015-12-29 17:02                       ` G.B.
2015-12-29 16:57                     ` G.B.
2015-12-29 17:36                       ` Dmitry A. Kazakov
2015-12-29 17:53                         ` G.B.
2015-12-29 18:09                           ` G.B.
2015-12-29 22:05                           ` Randy Brukardt
2016-01-04 14:51                           ` Alejandro R. Mosteo
2015-12-29 21:58                         ` Randy Brukardt
2015-12-28 17:19 ` Nicholas Collin Paul de Gloucester
2015-12-29 23:37 ` darkestkhan
2016-01-05 13:52 ` brbarkstrom
2016-01-10 14:46 ` Michael Erdmann
2016-02-29 12:14 ` Jacob Sparre Andersen
2016-03-02 14:11   ` vincent.diemunsch
2016-03-02 14:23     ` J-P. Rosen
2016-03-02 15:44       ` Bob Brown
2016-03-02 16:30         ` J-P. Rosen
2016-03-02 16:36           ` Bob Brown
2016-03-02 16:52             ` Bob Brown
2016-03-02 14:32     ` Dmitry A. Kazakov
2016-03-02 15:31       ` vincent.diemunsch
2016-02-29 12:27 ` Jacob Sparre Andersen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox