Calling in the geeks
Originally Posted by mikegarrison,Sep 29 2008, 02:16 PM
For most people, computing speeds are fast enough that efficiency is just not especially important any more. That's not true of intensive engineering/physics simulations, where jobs run for days on superclusters. But for most people, processing video is the most resource-intensive thing they do.
It's all about density and computing efficiency.
your right most people could run everything they need on a 300 mhz pentium.
as a result they have machines sitting idle.
if they were using machines heavily though think about how many computers are across the country.
that 200,000 times is also a measure of power.
Prediction:
we will see much more about computing efficiency in the general market space.
One question I have is: Will multiple cores speed up the JVM? If using multiple cores can speed things up, then maybe the user would not feel the delay in using JAVA code. It does not matter what the difference is between C and JAVA, it only matters what the user response time is. As long as the user response time is acceptable, then it does not matter if it was 1 second or 0.0001 second, the user will never notice it.
actually that is the point of the discussion.
most code is inherently single threaded i.e. wants to run in one place.
Trying to code for multiple cores is really hard especially for the average programmer and even harder to do automatically with compilers etc.
On many of the benchmarks code actually ran slower with multiple execution cores.
most code is inherently single threaded i.e. wants to run in one place.
Trying to code for multiple cores is really hard especially for the average programmer and even harder to do automatically with compilers etc.
On many of the benchmarks code actually ran slower with multiple execution cores.
That's exactly right, BB. Having lots of processing cores doesn't inherently speed up individual tasks/threads of execution.
The way standard operating systems work, such as Linux and Windows today, multiple cores just allow you to run multiple threads at the same time. That can, conceivably, mean that switching windows and runnning multiple programs is fast, but not the individual threads...
Parallel computing, as BB said, is very complicated and software has to be designed to take advantage of it. We don't have a lot of familiar examples of that.
The way standard operating systems work, such as Linux and Windows today, multiple cores just allow you to run multiple threads at the same time. That can, conceivably, mean that switching windows and runnning multiple programs is fast, but not the individual threads...
Parallel computing, as BB said, is very complicated and software has to be designed to take advantage of it. We don't have a lot of familiar examples of that.
My point is that only the JVM needs to be made parallel (or multi-threaded). All the JAVA applications can still be single threaded. But if the JVM can take advantage of multiple cores when interpreting the byte-code, then all applications will benefit. The general JAVA application developers do not have to concern themselves with the multiple cores.
White...
I imagine there's some parallelism that can be built into the JVM, but not some generic way of splitting a Java app into N parallel tasks.
That idea has been studied in compilers (most notably to support RISC architectures where the multi-core thing really got started). As BB said, and what I recall from about 10 years ago, it's extremely difficult to do.
Have I missed anything, guys? It's been a while since I studied this... The implication is that the massively parallel processor architectures will not really help speed up most software.
I imagine there's some parallelism that can be built into the JVM, but not some generic way of splitting a Java app into N parallel tasks.
That idea has been studied in compilers (most notably to support RISC architectures where the multi-core thing really got started). As BB said, and what I recall from about 10 years ago, it's extremely difficult to do.
Have I missed anything, guys? It's been a while since I studied this... The implication is that the massively parallel processor architectures will not really help speed up most software.








