From: Robert Myers on
On Oct 1, 2:39 pm, n...(a)cam.ac.uk wrote:

>
> Now, who's got it wrong? :-)
>
You want to skip the metamathematics, and I want to skip the
theological discussions, which is what answering your question would
inevitably descend into--even if I thought I were competent to answer
it.

To make an analogy that will undoubtedly drive you crazy, it's as if
there were a Planck scale in computing. If you examine things at a
fine enough level of detail, you can't really count on anything.
That's the way it's always been, to some extent. It's just that the
problem of concurrency seems to make everything much more nasty.

That's all motherhood, and I know it. I'll be happy to continue to be
the one asking naive questions. Choices with long-lasting
consequences will be made, whether consciously or otherwise. It would
be nice if the choices were soft choices (software or firmware) rather
than hardware. Otherwise, we're headed into a whole new era of
incompatibility--which may be what at least some of the hardware
vendors want, anyway.

Interest in hot new implementations of virtual machines never seems to
have been higher--but apparently they may all be irrelevant in a
future of hundreds of cores.

Robert.



From: nmm1 on
In article <ha2t4e$jbs$1(a)news.eternal-september.org>,
Stephen Fuld <SFuld(a)Alumni.cmu.edu.invalid> wrote:
>Robert Myers wrote:
>
>> If a language becomes popular, it's conceivable that an operating
>> system could be modified to support the peculiar needs of that
>> language. Seems highly likely for Linux, anyway. It does not seem
>> equally likely that processors would be (or even could be) similarly
>> accommodating.
>
>Well, there is the Jazelle extension for ARM that is designed to put
>some of the Java virtual machine in hardware.

I am afraid that I regard that as about as exciting as a wet Wednesday
in Wigan. Sorry.


Regards,
Nick Maclaren.
From: nmm1 on
In article <1b4229aa-d645-42db-8a32-c9d6764f6e48(a)c37g2000yqi.googlegroups.com>,
Robert Myers <rbmyersusa(a)gmail.com> wrote:
>>
>> Now, who's got it wrong? :-)
>>
>You want to skip the metamathematics, and I want to skip the
>theological discussions, which is what answering your question would
>inevitably descend into--even if I thought I were competent to answer
>it.

For a change, we understand each other perfectly :-)

>To make an analogy that will undoubtedly drive you crazy, it's as if
>there were a Planck scale in computing. If you examine things at a
>fine enough level of detail, you can't really count on anything.
>That's the way it's always been, to some extent. It's just that the
>problem of concurrency seems to make everything much more nasty.
>

Not really. It's rather a good one!

>Interest in hot new implementations of virtual machines never seems to
>have been higher--but apparently they may all be irrelevant in a
>future of hundreds of cores.

I don't think so, but something has to give. It's less than clear
what.


Regards,
Nick Maclaren.
From: Andrew Reilly on
On Thu, 01 Oct 2009 13:12:46 -0700, Robert Myers wrote:

> Interest in hot new implementations of virtual machines never seems to
> have been higher--but apparently they may all be irrelevant in a future
> of hundreds of cores.

How is that conclusion apparent? There aren't that many computers around
with hundreds of cores, and those that are aren't being programmed in VM-
based languages, for the most part, so it wouldn't be surprising if the
level of tuning that's gone into (for example) OSes and database systems
hasn't been done yet, or to that scale. I don't see how that can imply
that it isn't possible.

There are (some) java benchmarks, and to the extent that they're relevant
and commercially important (I don't know) I would expect that tuning
would follow, or perhaps even be underway.

Most of the *languages* (or the committees that steer them and the
communities that use them) that I know about are only *just* starting to
think about how best to express and make use of genuine concurrency. Up
until now concurrency has been the domain of individual applications and
non-core libraries (and OSes) (with a few notable but not terribly
popular exceptions, like Occam and erlang). There are *still* blogs and
articles being written to the effect that threads make programs too hard
to maintain, and that programmers should therefore avoid them.

--
Andrew
From: Robert Myers on
On Oct 1, 6:09 pm, Andrew Reilly <andrew-newsp...(a)areilly.bpc-
users.org> wrote:
> On Thu, 01 Oct 2009 13:12:46 -0700, Robert Myers wrote:
> > Interest in hot new implementations of virtual machines never seems to
> > have been higher--but apparently they may all be irrelevant in a future
> > of hundreds of cores.
>
> How is that conclusion apparent?  There aren't that many computers around
> with hundreds of cores, and those that are aren't being programmed in VM-
> based languages, for the most part, so it wouldn't be surprising if the
> level of tuning that's gone into (for example) OSes and database systems
> hasn't been done yet, or to that scale.  I don't see how that can imply
> that it isn't possible.

Let me review the discussion from my perspective, as I don't want to
get into a classic comp.arch different parts of the elephant
roundtable.

Andy: Trying things in software is often not worth the bother and/or
worse than doing nothing at all.

Robert: A factor of 2x gimme isn't enough room to play?

Terje: It's really hard. Nick can give you all the details.

Nick: Yeah, it's really hard, and you don't get it.

Robert: Ok. It's really hard, and I actually do think I understand
the problem at least in concept: language features that aren't well
supported in hardware can be painfully expensive (d'oh). Is this the
same Nick who wants to do away with floating-point hardware?

Nick: Well, ok. Maybe you do get it. Here's an example that just
happened to be lying on the workbench. What would you say?

Robert: I'd say I have no idea, except that I'm being exposed to a
problem that I was unaware of: since we have no idea where or how
concurrency will finally be implemented, everything we have now,
especially virtual machines, may soon be obsolete. Hardware <-> OS <-
> [Virtual machines] <-> Languages <-> Software. Affix the
concurrency-capable sticker anywhere you like. I think this is an
example of livelock, but I don't want to get into an argument about
terminology. Even a virtual machine can't hide the collective
paralysis.

Andrew: What makes you think it's impossible for virtual machines to
hide the paralysis (hardware/OS/language ISA dependency with regard to
treatment of concurrency). We have not yet begun to fight.

Robert: I never said it was impossible. I'm just following through on
the apparent claim that it's so hard that it's not even a plausible
tool for experimentation.

Robert.