SMT
 
*
Welcome, Guest. Please login or register. January 08, 2009, 10:01:47 PM


Login with username, password and session length


Pages: [1]   Go Down
  Print  
Author Topic: SMT  (Read 953 times)
0 Members and 1 Guest are viewing this topic.
Michael
Administrator
Hero Member
*****
Posts: 539


« Reply #5 on: September 21, 2008, 05:57:21 PM »

Actually, SMT means that once core is capable of running two threads simultaneously - at the same time.

AIX sees each potential thread as a logical CPU - so when you have two processors in AIX - with SMT enabled (default) AIX schedules threads, or applicatins, spread out over 4 "cpu's".

AIX is smart enough to see that when there are only as many programs running - as there are processors - to only schedule one logical CPU per processor. So you dont lose 50% usage if you only have one application.

Cores, or processors, are built up from several smaller parts (scalar architecture). POWER5 has 9 components (if I remember correctly) and the POWER6 has two more. Simply put (I hope Smiley ), the way SMT works is: both threads want to run. If they are both using different components (mutually exclusive, or no overlap) then both instructions are executed simultaneously. Otherwise one one is run, and the other pauses. At the next cycle, the process begins again - both, or one.

In practice, this means that 30% to 60% of the time two instructions can be executed - and this gives the system improvement figure quoted.

Getting back to original question. In very special situations SMT might slow a particular application. Personally, I have not run into in a business situation that SMT adversely affected performance, but understand that it could be an issue with scientific applications.

Basically, when in doubt, turn SMT off, and monitor. If pergormance improves - leave it off. If it gets worse, or stays the same - turn it back on.
Logged
kimyo
Jr. Member
**
Posts: 8


« Reply #4 on: September 19, 2008, 04:18:39 PM »

Hi

I think the simple explanation is that if your application is multi threading capable then SMT should be on. But if your application (not many these days) doses not support SMT then it should be off. So basically, correct me if I am wrong here, but if you have an app that does not support SMT (which is on by default in AIX) then would you loose upto 50% CPU usage on a dual core and upto 75% CPU usage on a quad core chip with SMT on? I think so? This would also be further effected by the amount of virtual processors you set if you are using micro-partitioning?

Check out these RedBooks:
AIX 5L Practical Performance Tools and Tuning Guide;
http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/SG246478.html
AIX 5L Practical Performance Tools and Tuning Guide;
http://www.redbooks.ibm.com/redbooks/pdfs/sg246478.pdf

regards

Logged
ValentineSmith
Full Member
***
Posts: 29


« Reply #3 on: September 18, 2008, 04:42:09 PM »

I think I can live with that.
Thank you very large.
The stuff about L2 and threads and cache misses went right over my head, though.
Can anyone suggest some easy reading for me?
Logged
Michael
Administrator
Hero Member
*****
Posts: 539


« Reply #2 on: September 17, 2008, 11:00:47 PM »

The most general case is when you have a massively CPU bound process (something mathematical that needs little, read no i/o) and you have the money to pay for the individual processors.
Further, if the instruction code and the data can live mainly in the L2 cache - where two threads would force more regular cache misses - the program thread could lose several % performance.

In simple language - CPU bound programs might benefit from disabling SMT, but in general business situations SMT generally increases SYSTEM throughput by 30% (i.e. individual process might be 5 to 10% slower compared to running on their own when they are completely independent of any other process) - could not keep it simple i fear.

Pose your next question - and I'll get an idea of how I should proceed. Or I may just try again - to simplify the answer.
Logged
ValentineSmith
Full Member
***
Posts: 29


« Reply #1 on: September 17, 2008, 05:23:58 PM »

Can anyone help me on this?
Ignore my "simple language" remark.
I'll take anything.
Thank you.
Logged
ValentineSmith
Full Member
***
Posts: 29


SMT
« on: September 10, 2008, 02:52:00 AM »

Can anyone describe a scenario where one might want to disable SMT (Simultaneous Multi-Threading)?
Please use simple language.
I'm a chemist - not an engineer.
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 1.561 seconds with 19 queries.




eXTReMe Tracker

Terms of Use and Privacy and Security Policies
Copyright 2001-2008 Michael Felt and ROOTVG.NET