One more month and IVB will be here! Who is getting what?

Page 6 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Tsaar

Guest
Apr 15, 2010
228
0
76
I think Haswell may cure world hunger if its as good as the people here think.

Also, "early 2013" for Haswell seems like a joke. My prediction is next June and it will be a 12-15% IPC increase over IB.

I could be completely wrong, but I think people are way too optimistic about Haswell.
 

BenchPress

Senior member
Nov 8, 2011
392
0
0
I think Haswell may cure world hunger if its as good as the people here think.

Also, "early 2013" for Haswell seems like a joke. My prediction is next June and it will be a 12-15% IPC increase over IB.

I could be completely wrong, but I think people are way too optimistic about Haswell.
You are completely wrong. Haswell isn't about IPC at all. I'd be surprised if they made any significant changes on that front. Instead, Haswell is about SPMD and hardware transactional memory.

It's best to stop talking about IPC in isolation altogether, because it doesn't say anything about the effective performance for applications (just like the MHz myth). AVX2 doubles the amount of work that can be done per instruction. In the case of load operations it can even do up to eight times more work per cycle. And hardware transactional memory will enable lots of applications which previously had bad multi-core scaling behavior to synchronize tasks between cores much more efficiently. It also opens the door to automated threading by the compiler.

So unless you thoroughly understand the implications of these technologies, please don't say people's expectations are too high. These features have been fully confirmed and are eagerly awaited by professionals.
 
Last edited:

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,785
136
It's best to stop talking about IPC in isolation altogether, because it doesn't say anything about the effective performance for applications (just like the MHz myth). AVX2 doubles the amount of work that can be done per instruction.

In this case you can, because both AVX and TSX requires optimizations. It's just like with SSE2. IPC gains on the other hand, will show without recompiling.

It's also very likely that desktops will continue to get relatively small advancements, as more mobile form factors are being really pushed. It may be not too far where regular consumers are all buying AIOs and thin desktops while enthusiasts are the only ones that ever buy traditional desktops with big bulky box shapes.
 
Last edited:

BenchPress

Senior member
Nov 8, 2011
392
0
0
In this case you can, because both AVX and TSX requires optimizations. It's just like with SSE2. IPC gains on the other hand, will show without recompiling.
It's really a very different situation. When SSE2 was introduced, it was still executed on 64-bit execution units. And since there were many lacking instructions, it was very hard to obtain any speedup over 32-bit scalar code. Furthermore, it took years for major compilers to support it, and because of the complications they do a lousy job.

In contrast, AVX2 is executed on 256-bit execution units. So the incentive for developers to make use of it is a lot bigger. It's also a very complete instruction set, finally adding gather and parallel shift support. And major compilers already support it, a full year before the CPUs are actually available. And thanks to having vector equivalents of every scalar instruction they can do a really good job at auto-vectorizing code loops.

Last but not least, applications can benefit from AVX2 and TSX without even requiring any recompilation. Intel's OpenCL implementation will support AVX2 on the day Haswell launches so the applications that make use of it don't even have to be aware of AVX2 to gain performance. Likewise, TSX can be used by the operating system after downloading an update.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
I voted for i7-3770 but it really really depends on pricing.

You are completely wrong. Haswell isn't about IPC at all. I'd be surprised if they made any significant changes on that front. Instead, Haswell is about SPMD and hardware transactional memory.

It's best to stop talking about IPC in isolation altogether, because it doesn't say anything about the effective performance for applications (just like the MHz myth). AVX2 doubles the amount of work that can be done per instruction. In the case of load operations it can even do up to eight times more work per cycle. And hardware transactional memory will enable lots of applications which previously had bad multi-core scaling behavior to synchronize tasks between cores much more efficiently. It also opens the door to automated threading by the compiler.

So unless you thoroughly understand the implications of these technologies, please don't say people's expectations are too high. These features have been fully confirmed and are eagerly awaited by professionals.

I am pretty sure people who say "IPC improvements between generations" mean "Performance Per Watt" or "Performance Per Clock" and just don't think about the exact meaning of the acronym they choose to use.
 
Last edited:

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,785
136
Likewise, TSX can be used by the operating system after downloading an update.

Oh yea sure, just like Hyperthreading could be taken advantage of with single threaded applications if you run enough of them simultaneously.

No doubt technologies like Hyperthreading, TSX, and AVX are important. But they are not like adding caches or having better branch prediction that even an application from 20 years ago would be faster. Or even MHz for that matter. Hell, MHz is still probably the most determining factor for performance, the problem is that its just hard to increase nowadays.
 

BenchPress

Senior member
Nov 8, 2011
392
0
0
I am pretty sure people who say "IPC improvements between generations" mean "Performance Per Watt" or "Performance Per Clock" and just don't think about the exact meaning of the acronym they choose to use.
Yeah but that's silly because it totally depends on how it's being used. Haswell makes vectorization and multi-threading a lot more efficient, so with little effort software that was previously single-threaded and scalar can run up to 32 times faster! So talking about an IPC improvement of ~15% is downright stupid, regardless of what meaning is given to it. If that's all the speedup you're getting out of Haswell, you're running horribly unoptimized software, end of story. Developers will no longer have any excuse for not using your CPU's computing power to its fullest.

I understand that less knowledgeable people would like to put a percentage on how much better one CPU is compared to another, but it just doesn't work that way. It's like putting a percentage on how much better a new car is compared to your previous one. It's downright impossible without qualifying the metrics and circumstances.

Haswell is revolutionary but you shouldn't try to use old metrics to valuate it.
 

QuantumPion

Diamond Member
Jun 27, 2005
6,010
1
76
my 920 is getting long in the tooth. I want me some pci 3.0 & sata 6gbps, usb 3.0, and all the other goodies.
 

Edrick

Golden Member
Feb 18, 2010
1,939
230
106
Yeah but that's silly because it totally depends on how it's being used. Haswell makes vectorization and multi-threading a lot more efficient, so with little effort software that was previously single-threaded and scalar can run up to 32 times faster! So talking about an IPC improvement of ~15% is downright stupid, regardless of what meaning is given to it. If that's all the speedup you're getting out of Haswell, you're running horribly unoptimized software, end of story. Developers will no longer have any excuse for not using your CPU's computing power to its fullest.

I understand that less knowledgeable people would like to put a percentage on how much better one CPU is compared to another, but it just doesn't work that way. It's like putting a percentage on how much better a new car is compared to your previous one. It's downright impossible without qualifying the metrics and circumstances.

Haswell is revolutionary but you shouldn't try to use old metrics to valuate it.

+1

Anyone who just blindly throws out figures like "15% IPC improvement" does not really understand what Haswell brings to the table. Ask any developer (like myself) what type of gains they can expect from Haswell. It is going to be a game changer for many fronts.
 

BenchPress

Senior member
Nov 8, 2011
392
0
0
Oh yea sure, just like Hyperthreading could be taken advantage of with single threaded applications if you run enough of them simultaneously.
Who cares about single-threaded software? Expecting it to be any faster is like expecting your new car to be any faster than your old one when waiting for a traffic light.

There are three types of single-threaded software:
1) Old software that doesn't need any higher performance.
2) Outdated software for which a multi-threaded version/alternative exists.
3) Software for which the cost/gain of multi-threading hasn't been worthwhile yet.

Haswell's TSX support can't help (1) and (2), nor does it have to! But it helps (3) in two big ways. It makes synchronization more efficient so the gains go up, and it simplifies things for developers so the cost goes down. And to a large extent it will be used by the operating system and middleware, so application developers will benefit from it without much if any effort on their end.
No doubt technologies like Hyperthreading, TSX, and AVX are important. But they are not like adding caches or having better branch prediction that even an application from 20 years ago would be faster.
The problem with trying to improve IPC is diminishing returns. You need caches that are twice as big to gain maybe 10% tops. That's utterly ridiculous! Oh and it doesn't help all software either, just the ones that have working sets which don't fit into the old cache size.

So I'd much rather see Intel (and AMD) add functionality which has the potential to speed things up by 3000%! Yes it takes some developer effort, but it's easily worth it. Also, once applications are properly multi-threaded and vectorized, it's fairly straightforward to scale to more cores and wider vectors. So it's basically a one-time effort and the incentive is huge. TSX is specifically intended to make it easy for developers to achieve high gains, and AVX2 finally offers a vector equivalent of every relevant scalar operations, and is specified to be scalable up to 1024-bit. So with new software you'll see an instant speedup when upgrading. Single-threaded non-vectorized code will become a thing of the past so we should not use them for performance evaluation.

Saying that Haswell might only increase the IPC by a small amount isn't doing it any justice. It's ridiculous to look at the 10% (if that) while ignoring the 3000% potential.

Also keep in mind that CPUs usually last 3 years or more. I still have a Nehalem and at the time I bought it some people said 4 cores was overkill but today they feel pretty stupid. Likewise a Haswell CPU may not offer much benefit on day one but I'm sure as hell it's going to last a lot longer than an Ivy Bridge and the latter doesn't offer much over my Nehalem.
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
Who cares about single-threaded software?
....
Also, once applications are properly multi-threaded and vectorized, it's fairly straightforward to scale to more cores and wider vectors. So it's basically a one-time effort and the incentive is huge.

Let me guess. You are a hardware guy. You never wrote a single line of code in your life.

Programming parallel algorithms is hard. Not all problems can easily be parallelized. There are very few tools for programmers. And most programmers have a hard time writing sequential code already. For them it's even trickier to write good, robust and scalable parallel code.

Ergo, single-thread performance does matter and will matter for a long time to come.
 
Last edited:

A5

Diamond Member
Jun 9, 2000
4,902
5
81
I'm waiting for Haswell, too. My current system is just fine for everything I do.
 

ZetaEpyon

Golden Member
Jun 13, 2000
1,118
0
0
Will probably grab a 3770k to replace my Q9550, which I will likely repurpose for an HTPC.
 

BenchPress

Senior member
Nov 8, 2011
392
0
0
Let me guess. You are a hardware guy. You never wrote a single line of code in your life.
Wrong guess pal. I'm a software development lead. And before you make any more guesses, I've written a lock-free hierarchical task dispatcher. You?
Programming parallel algorithms is hard.
Yes, which is precisely why engineers like me are excited about TSX. It makes problems like deadlock, convoying, priority inversion, etc. a lot more manageable or even go away.
Not all problems can easily be parallelized.
Duh. Of course not "all" problems can be "easily" parallelized. But AVX2 and TSX are unmistakably a huge leap forward to make a lot more problems vectorizable and threadable, and more easily too.
There are very few tools for programmers.
True, but that's due to a lack of hardware more than anything else. Why would anyone invest time and money into creating (free) tools while current CPUs still have a broken SIMD model and inefficient thread synchronization? Like I said before, it's a cost/gain issue. But Haswell offers no less than four incentives to make all layers of software more suited for parallelization:

1) Twice the SIMD throughput.
2) A vector equivalent of every relevant scalar instruction.
3) Lock elision.
4) Hardware transactional memory.

That's a mind-blowing leap. They're fixing everything at once. Software development won't be the same after Haswell. Of course a lot of the tools still have to be written, but as I've noted before AVX2 support is being added to major compilers as we speak, and I'm sure TSX will find its way into threading libraries sooner rather than later as well. By the time Haswell is launched, lack of tools should no longer be an excuse.
And most programmers have a hard time writing sequential code already. For them it's even trickier to write good, robust and scalable parallel code.
That's exactly why we have OpenCL and other forms of SPMD programming. It offers a seemingly sequential programming model but it really is massively parallel under the hood. GPUs have relied on it for decades and there are no major issues for application developers to write robust and scalable code. And while SPMD is an explicit programming model, there's also a huge opportunity for legacy sequential code to be auto-vectorized and auto-threaded by compilers. AVX2 and TSX make that feasible.
Ergo, single-thread performance does matter and will matter for a long time to come.
I didn't say it doesn't matter. Heck, in an ideal world we'd have 100 GHz single-core processors by now so developers didn't have to deal with the issues of parallelization at all. But the reality is that IPC has hit a wall so instead of investing lots of transistors into it for little gain, we instead need technology which makes parallelization a much more attractive solution. Haswell offers exactly that, and then some.
 

Don Karnage

Platinum Member
Oct 11, 2011
2,865
0
0
Who cares about single-threaded software? Expecting it to be any faster is like expecting your new car to be any faster than your old one when waiting for a traffic light.

There are three types of single-threaded software:
1) Old software that doesn't need any higher performance.
2) Outdated software for which a multi-threaded version/alternative exists.
3) Software for which the cost/gain of multi-threading hasn't been worthwhile yet.

Haswell's TSX support can't help (1) and (2), nor does it have to! But it helps (3) in two big ways. It makes synchronization more efficient so the gains go up, and it simplifies things for developers so the cost goes down. And to a large extent it will be used by the operating system and middleware, so application developers will benefit from it without much if any effort on their end.

The problem with trying to improve IPC is diminishing returns. You need caches that are twice as big to gain maybe 10% tops. That's utterly ridiculous! Oh and it doesn't help all software either, just the ones that have working sets which don't fit into the old cache size.

So I'd much rather see Intel (and AMD) add functionality which has the potential to speed things up by 3000%! Yes it takes some developer effort, but it's easily worth it. Also, once applications are properly multi-threaded and vectorized, it's fairly straightforward to scale to more cores and wider vectors. So it's basically a one-time effort and the incentive is huge. TSX is specifically intended to make it easy for developers to achieve high gains, and AVX2 finally offers a vector equivalent of every relevant scalar operations, and is specified to be scalable up to 1024-bit. So with new software you'll see an instant speedup when upgrading. Single-threaded non-vectorized code will become a thing of the past so we should not use them for performance evaluation.

Saying that Haswell might only increase the IPC by a small amount isn't doing it any justice. It's ridiculous to look at the 10% (if that) while ignoring the 3000% potential.

Also keep in mind that CPUs usually last 3 years or more. I still have a Nehalem and at the time I bought it some people said 4 cores was overkill but today they feel pretty stupid. Likewise a Haswell CPU may not offer much benefit on day one but I'm sure as hell it's going to last a lot longer than an Ivy Bridge and the latter doesn't offer much over my Nehalem.

If single threaded doesn't matter then why is bulldozer so horrible?
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
Wrong guess pal. I'm a software development lead. And before you make any more guesses, I've written a lock-free hierarchical task dispatcher. You?

I used to write networking software.
Networking software on the control plane of routers and switches could benefit from parallelism. But over the last 15 years, not much has happened. Even when vendors had plans to adjust their software architecture for years. Some new OSs make some use of parallelism. But the major proprietary networking OSs are far off.

Parallel software requires design right from the start, from the architectural point. Before everybody knows how to do this, and before most software has been rewritten, we'll be a decade further down the road. Until then, single-thread performance will matter.

Yes, which is precisely why engineers like me are excited about TSX.
Fully agree. It could be a major step forward.

True, but that's due to a lack of hardware more than anything else. Why would anyone invest time and money into creating (free) tools while current CPUs still have a broken SIMD model and inefficient thread synchronization?
So we seem to agree. Not much has been done regarding tools. And thus parallel programming is up to the individual programmer to deal with.

Software development won't be the same after Haswell.
Even if Haswell is so good, it will take years for the effect to tripple down. First the software tools need to be build. Compilers, debuggers, etc. Heck, maybe we first need to settle on a good model to work with. Then people need to learn to use those tools. Then the software has to be written and deployed. I don't think this will be done in a few years. Until that time, single-thread software and performance matters.

I didn't say it doesn't matter.
Your first sentence was: "Who cares about single-threaded software".
I guess my English isn't good enough to understand that sentence.

Heck, in an ideal world we'd have 100 GHz single-core processors by now so developers didn't have to deal with the issues of parallelization at all. But the reality is that IPC has hit a wall so instead of investing lots of transistors into it for little gain, we instead need technology which makes parallelization a much more attractive solution. Haswell offers exactly that, and then some.
I fully agree with you (of course). But that has nothing to do with today's situation. Single-threaded software and performance still matters.
 
Last edited:
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |