Is Haswell the new i8 or still i7 is in the name.

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

ShintaiDK

Lifer
Apr 22, 2012
20,378
145
106
Where does it say that it will only help "already highly threaded" software?

Any why are you quoting Intel? I want you to explain why TSX won't be widely applicable. Is it RTM or HLE that is limited?

Or are you just full it?

Nice try, but its you who got caught with your pants down. Try see if you can get out of it.

That is not correct. There isn't "a lot" of code that can't be multi-threaded.

The problem is that a lot of parallelism is fine-grained. Today's synchronization primitives are not suited for fine-grained locks. They have too much overhead and the more you have the more complex your code becomes.

That's why Haswell's hardware transactional memory makes coarse-grained locks perform like fine-grained ones, without the overhead. It will allow a lot more code to be multi-threaded successfully.

You basicly made TSX into something it aint. And now you cant prove your hyped claims.
 

BenchPress

Senior member
Nov 8, 2011
392
0
0
I wonder why you keep linking to Intels page, if you skipped reading about it yourself.
I've read all of it. Including the spec. Stop making false assumptions.
How about you show where Intel says it will allow for multithreading of singlethreaded code that currently cant be multithreaded?
Contrary to you I don't need Intel for that; I can explain it in my own words thanks to actually having lots of experience writing multi-threaded software. First of all, there is no such thing as software that can't be multi-threaded. Just create more than one thread, make them do something concurrently, and ta-da you've got yourself a multi-threaded application. Finding something to do in parallel isn't hard. It's the basis of out-of-order execution, and today's CPUs only extract a fraction of the theoretical ILP.

The real issue is that you need the overhead of synchronizing between threads to be low enough to make it worthwhile. Also, it is prohibitively complex to use non-blocking algorithms and still guarantee correctness. So guess what, TSX addresses such issues!

If you really want an Intel example, just read one of the links I've provided before: Coarse-grained locks and Transactional Synchronization explained. That's an example of something that previously was very hard to multi-thread and gain good performance from. TSX makes it easy.

Q.E.D.
 

ShintaiDK

Lifer
Apr 22, 2012
20,378
145
106
You keep refering to hard before and then easier. Singlethreaded got nothing to do with it as you previously claimed.

Nowhere does Intel say or refer to any benefit for singlethreaded applications. They always refer to already existing multithreaded applications for any benefits. And not only that, they even break it down into specifics:
Intel TSX targets a certain class of shared-memory multi-threaded applications; specifically multi-threaded applications that actively share data. Intel TSX is about allowing programs to achieve fine-grain lock performance without requiring the complexity of reasoning about fine-grain locking.
And TSX wont magicly turn alot of current code with serialized structure into parallel. Meaning we wont see any change on that area compared to today.

So really, read the documents again. Because you seem to loop around in some illusion on what TSX will bring.
 
Last edited:

BenchPress

Senior member
Nov 8, 2011
392
0
0
You keep refering to hard before and then easier. Singlethreaded got nothing to do with it as you previously claimed.
I never claimed anything about TSX speeding up single-threaded software as-is. Don't contest things I never said.

I only claimed that TSX greatly helps to make more software multi-threaded and get good performance out of it. Huge difference.
Nowhere does Intel say or refer to any benefit for singlethreaded applications.
And neither do I.
They always refer to already existing multithreaded applications for any benefits.
No, they don't. It doesn't have to be "existing" multi-threaded software. It can also be multi-threaded software that was previously single-threaded.
And not only that, they even break it down into specifics:
Intel said:
Intel TSX targets a certain class of shared-memory multi-threaded applications; specifically multi-threaded applications that actively share data. Intel TSX is about allowing programs to achieve fine-grain lock performance without requiring the complexity of reasoning about fine-grain locking.
What they're saying is that it helps cases that were previously hard if not impossible to multi-thread successfully. Applications where threads don't have to actively share data were already easy to multi-thread!

What you seem to fail to understand is that a lot of today's single-threaded software isn't single-threaded because it's inherently sequential, but because multi-threading it would add more overhead than what you gain, or because it would just take too much effort. TSX both lowers the overhead and greatly helps reduce the required programming effort. Hence a lot of today's single-threaded software can become multi-threaded in the future.
 
Last edited:

Idontcare

Elite Member
Oct 10, 1999
21,118
59
91
The real issue is that you need the overhead of synchronizing between threads to be low enough to make it worthwhile.

Very wise observation, and its the truth.

Amdahl nailed the part of the problem that is a limitation of the people writing the software ("can I be clever enough to figure out how to reduce the percentage of serial operations in my code?"; whereas, Almasi and Gottlieb nailed the part where the limitation in scaling comes from hardware limitations that must be addressed by the clever guys designing the chips and the interprocessor communications fabric.



Screw up that last part and you'll actually see a loss in thread scaling (your calcs take longer to compute if you add more cores and threads)



There was a time when Intel totally sucked in this aspect of thread-scaling, but they've addressed the gap (relative to AMD) when they moved away from the FSB topology and brought the memory controller on-die.

 
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/    |