Re: relational model applied to simulation programming

From: x <x_at_not-exists.org>
Date: Thu, 18 May 2006 18:38:16 +0300
Message-ID: <e4i48n$3um$1_at_emma.aioe.org>


"Keith H Duggar" <duggar_at_alum.mit.edu> wrote in message news:1147899088.310718.120840_at_j73g2000cwa.googlegroups.com...
> Thank you "x" and Marshall. I appreciate your feedback
> especially considering that my question was so vague. Your
> responses were most welcoming. I split this topic off into a
> new thread, I hope that was an acceptable thing to do?
>
> Keith H Duggar wrote:
> > Yes I believe I do. Unfortunately I do not yet possess the
> > knowledge and vocabulary needed to properly formulate the
> > questions here. Basically I want to know if and how the RM
> > can be leveraged to improve and simplify numerical
> > simulations. Typically I implement OO/network models using
> > C++. In the recent past slogging through tedious
> > navigational code (pointers, iterators, visitors, etc) led
> > me to wonder if there was a better way. Hence I wandered
> > over to c.d.t. looking for education and inspiration.
>
> x wrote:
> > I don't have much experience with numerical simulations.
> > What part of them should not require many loops in your
> > opinion ? Matrix calculations ?

> At some layer (depending on hardware) I suppose there will
> be a sequence or iteration or loop of computations. However,
> many computations can be expressed at a more abstracted
> level, that of set-at-a-time (setwise) operations. There are
> advantages to setwise coding and if I understand correctly
> the RM supports this style.

Well, I was aware of what you said above. I am not aware for what part of the algorithms you had problems. How set-at-a-time is an improvement from "item" (set ?) at a time ?

> > Physical independence comes in when one considers how much
> > work many C++ programmers have to do to, for example, lay
> > out their data in a way that will satisfy a graphics
> > coprocessor, or enable them to use SIMD instructions. It
> > would be better if this was abstracted from the code.

> Or even laying out data in a structure convenient for your
> own analysis. A particular network may be very convenient
> for one analysis and a nightmare for other. I'm beginning to
> understand this is the concept of "access paths" correct?

Yes.

> And that a network model encodes and optimizes a particular
> access path whereas a relational model does not? And thus a
> RM allows many access paths? Efficiently?

You cannot talk about the speed of a mathematical model unles the model is about speed. :-)
With the network model you engrave the access paths in your application. With a really relational model you should be able to abstract them away. You should be able to change the mapping to physical layer to improve the speed of your application without changing your application. You should be able to alter the "schema" for accomodating new applications without changing your existing applications unless you alter the assumptions on which your existings applications are built.

> > To achieve the big wins, though, we need a programming
> > language that uses the RM at its core, and that has
> > support for physical independence. I am afraid that at
> > this time this is just a wish.

> I'm glad you brought this up because I'm VERY curious about
> this. Is it so that such a language is still just a dream?
> What about APL, Joy, K, and Prolog for example? What are
> their good and bad points from a relational support
> perspective?

I don't know about the languages. I would worry about the implementations of those languages.
How much persistent memory they can handle ? At what filling rate ? Transactions ?
etc. etc. etc. Received on Thu May 18 2006 - 17:38:16 CEST

Original text of this message