Prev: VMWare tools killed my Mac OS X ?
Next: Software vs hardware floating-point [was Re: What happened ...]
From: Robert Myers on 1 Oct 2009 16:12 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 1 Oct 2009 16:38 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 1 Oct 2009 16:40 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 1 Oct 2009 18:09 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 1 Oct 2009 19:22
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. |