I’ve been seeing a lot the last couple of weeks about the next gen of processors from Intel and AMD being dual-core. Shouldnt this mean that GC problems become a thing of the past with a concurrent collector? Will this be the time hardware catches up with java?
Does this have anything to do with Hyperthreading?
If so,one word of advise… Hyperthreading doesn’t work. It is broken and can lead to all sorts of mysterious problems. That is what we found at work where we have many dual processor machines, and see nothing but strage problems on machines with hyperthreading enabled.
Hopefully the next generation of processors will fix it…
No this is not about hyperthreading, but putting two (or more) complete processors on one die.
Got an HT chip here and nothing funny’s happened with it yet.
Cas
[quote]Got an HT chip here and nothing funny’s happened with it yet.
Cas
[/quote]
What OS are you running? Has it ever crashed?
Re: Dual Core - interesting idea, putting multiple full cores on a single die. seems that the yield would be lower that way. What are the trade-offs?
XP Pro, stable as a stable thing.
Cas
XP Pro here with Hyperthread. Runs great. Never had a single problem.
XP Pro is the platform that we have seen problems on… I’ll have to get an update on what the specifics were… but basically we tell our customers to turn of Hyperthreading because we found ti to be a major source of grief.
Yes, it plays havoc with yields (die sizes are huge).
One major advantage I recall off the top of my head (I left IBM just as they were starting these things) is that your CPU interconnect on multi-CPU systems is much easier (=cheaper). For instance, on crappy multi-processor Intel systems you have a godawful slow-as-a-snail interconnect which isn’t even switched (usually) so you need those socking great Xeon caches. Put all the CPU’s on one die, and now you can get v.fast intra-CPU comms without the cost of a decent crossbar switch (or similar).
But I’m no chip-engineer, so YMMV.
The alternative ways to increase performance are raising clock speed, adding more pipeline stages, and adding additional functional units. Interconnecting and properly utilising additional functional units within a processor is probably more difficult than putting essentially the same units on a separate processor (sharing the same die).
So if we compare a dual core processor with a single processor having the same number of adder, multipliers, etc as the combined dual core system, then the die size is probably not much different.
Re: Hyperthreading being broken. We found that the system became unstable in general. Apparently random user mode and kernel mode crashes that we simply couldn’t explain. Usually happening within 15 minutes of running our application (a multimedia encoding application that uses custom hardware for audio/video acquisition filtering and deinterlacing) Turn off hyper threading and ALL problems just went away. Keep in mind that we ALWAYs run on multiprocessor systems and only saw the instability with hyperthreading enabled. It was like flicking a switch - stable/unstable.
On one project we had crazy random stuff happening when running WebLogic on Win2K, but only on HT-enabled CPUs. We could never prove it, but it seemed to us that the JVM wasn’t liking HT at all.
I’m sure any real issues will be fixed as the technology matures.
Odd to see people complaining abouy Hyperthreading.
My Desktop has it for about a year and it has never crashed or behaved in an otherwise erratic way.
On the other hand, I did not notice any benefits on Windows either (Linux 2.6 is suposed to be really good, haven’t given it a spin yet)
About Dual cores…if you have followed the CPU news a bit lately, you probably heard that Intel is abbandoning it’s Netburst architecture.
The Tejas (next P4 like core) has been canceled in favour of upgrading the current Dothan cores.
Dothans are a real piece of work, extremely high performance on a low power useage and low heat profile.
It would make sense to extend this technology a bit and make a dual core design.
Since the smaller production processes seem to have a lot of problems associated with them, we may be forced to accept more dual core hardware (and even multicores are a option for the future)
From what I read, Intel will start producing multicores in 2005, but I will see it when it happens