IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Interesting, but ...
It's an interesting article - thanks for the link.

He seems to gloss over an elephant in the room though, namely existing applications. There's a lot of existing code baggage that needs to be moved to new machines every few years. People aren't going to be rewriting 10^10 lines of Cobol in some sort of hyperthreaded, Concurrent-compliant, uberframework. Systems will get better at executing existing code as well or manufacturers won't be able to sell as many machines.

How will they get better? He's right that CPU speed isn't going to increase as fast as before. He's right that on-chip cache sizes will increase (at least to some extent). But I think he's minimizing the difficulty in taking "full" advantage of threading, etc. NCR and others had 32+ CPU boxes ~ 10 years ago, IIRC. OS/2 has had threading for many, many years. There is not going to be a quick transition to hyperthreaded applications if the past is any guide. Unless there are good software tools to do it.

What I do see happening, potentially, is some small company coming up with a plug-in VM-like system that sits on the OS or on the hardware and lets existing applications take better advantage of parallelism in the hardware. Maybe DesqView will have a renaissance. ;-) The folks at VMWare showed that a lot of interesting and effective virtualization could be done on x86 machines that many thought was too difficult to do well. With larger registers, multiple cores, etc., such virtualization should become easier in the future.

He may be right about the importance of understanding concurrency, especially if the Cell processor takes off. It would have been a better article if he could have tied the Cell in, but I guess a lot of the design aspects of it are still under NDA.

My $0.02.

Cheers,
Scott.
(Who anxiously awaits a concurrent 64-bit hyperthreaded ping.)
New I think he's talking to shrinkwrappers
cf Splosky's [link|http://www.joelonsoftware.com/articles/FiveWorlds.html|Five Worlds]...so I don't think COBOL is on his mind.

NCR and others had 32+ CPU boxes ~ 10 years ago, IIRC. OS/2 has had threading for many, many years. There is not going to be a quick transition to hyperthreaded applications if the past is any guide.

I interpreted the article to be saying that the past isn't any guide; that is, that the environment has changed. Ten years ago, the ROI wasn't there for threading (compared to the ROI by simply waiting for Moore's Law to catch up).

What I do see happening, potentially, is some small company coming up with a plug-in VM-like system that sits on the OS or on the hardware and lets existing applications take better advantage of parallelism in the hardware.


I see mainstream programming languages growing libraries which make concurrent applications easier to write. There has been some talk about this recently for Java and Python. If C# can do it without overcomplicating it (check out COM threading sometime ;) then we might get it at the language level industry-wide.
New I'd criticize it differently
He seems to assume that we want applications hogging all system resources. I generally don't.

As for me, my development practices will remain the same. I'll continue to write single-threaded Perl on a server with many processes. Naive parallelism is fairly easy to write and scales very well to multiple machines/CPUs.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New That's true for servers, less so for workstations
When your process is one of hundreds or thousands running on a server, each one can be its own thread. When your process is a video editing suite on a high-end graphics workstation it might be the only "application" running.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New True...
But my point remains. For many developers, naive parallelism is enough. For many more, it is fairly easy to get to the first stage through dividing your program up into a small number of dedicated processes that communicate over sockets.

For instance high-end video rendering software already divides the problem into smaller ones that can be farmed out easily. They do this so that they can distribute work over clusters. But the fact remains that for some things concurrency comes cheaply, and for many more you can achieve high levels of effective currency in a very naive way, and avoid a lot of pain in doing so.

Unless you know that you can't get the job done with that simple-minded approach, I would not recommend going to a pervasively multi-threaded approach.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
     Concurrency: the race is on - (FuManChu) - (40)
         Interesting, but ... - (Another Scott) - (4)
             I think he's talking to shrinkwrappers - (FuManChu)
             I'd criticize it differently - (ben_tilly) - (2)
                 That's true for servers, less so for workstations - (drewk) - (1)
                     True... - (ben_tilly)
         Favorite quote - (drewk) - (1)
             Speaking of quotes... (new thread) - (folkert)
         Just use databases and transactions. Fixed! -NT - (tablizer) - (32)
             Yes and no... - (Simon_Jester)
             And again, you demonstrate yourself to be wrong - (ben_tilly) - (30)
                 Up with people - (FuManChu) - (24)
                     No connection - (ben_tilly) - (23)
                         Questions - (tablizer) - (22)
                             Don't try to solve the problem - (ben_tilly) - (7)
                                 Dude, you are rude. Grow some people skills - (tablizer) - (4)
                                     This was one of your most hilarious posts ever, Bryce. -NT - (CRConrad) - (2)
                                         I am learning NOT to flame back. Me grow up........I think -NT - (tablizer) - (1)
                                             A: Doubt it. B: Still, YOU calling SOMEONE ELSE rude=>funnee -NT - (CRConrad)
                                     Yes, you did answer something - (ben_tilly)
                                 lock and load - (cforde) - (1)
                                     re: lock and load - (tablizer)
                             Question for you - (drewk) - (13)
                                 All the damn time - (broomberg) - (9)
                                     No hints from the peanut gallery - (drewk) - (8)
                                         Give him the benefit - (broomberg) - (7)
                                             Fairy nuff - (drewk) - (6)
                                                 Barry's right; overnormalization is 1 of Bryce's hobbyhorses -NT - (CRConrad) - (4)
                                                     Huh? What did I over-normalize? -NT - (tablizer) - (3)
                                                         It means the opposite of what you seem to think it does. HTH -NT - (CRConrad) - (2)
                                                             Okay then, what did I UNDER-normalize? - (tablizer) - (1)
                                                                 SIGH... "A hobby-horse" means, something you like to... - (CRConrad)
                                                 Note: in this case it really is a bad idea - (ben_tilly)
                                 Re: Question for you - (tablizer) - (2)
                                     Also called trade-offs. - (static) - (1)
                                         re: Also called trade-offs - (tablizer)
                 Ah yes, the Upperson procedure - (tuberculosis)
                 Guilty until proven innocent? -NT - (tablizer) - (3)
                     No, you said something stupid - (ben_tilly) - (2)
                         You don't seem to disagree anywhere - (tablizer) - (1)
                             I disagree with, "Fixed!" - (ben_tilly)

Better than a kick to the head with a frozen mukluk.
124 ms