Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: SMT

  1. #1
    Join Date
    Sep 2009
    Location
    Columbus, Ohio, USA
    Posts
    178

    Question SMT

    I've read that:

    To utilize a dual core processor, the operating system must be able to recognize multi-threading and the software must have simultaneous multi-threading technology (SMT) written into its code. SMT enables parallel multi-threading wherein the cores are served multi-threaded instructions in parallel. Without SMT the software will only recognize one core. Adobe Photoshop is an example of SMT-aware software. SMT is also used with multi-processor systems common to servers.

    Does openSUSE 11.2 (or 11.1) "have simultaneous multi-threading technology (SMT) written into its code (?)"
    AMD Athlon II X2 220, 2.8 GHz, 6 GB, PNY GeForce 210; 1 TB: Windows 7HP, Ubuntu 13.10, DBLab/Linux Mint 16 Remix, Suse 12.1 KDE.

  2. #2
    Join Date
    Jun 2008
    Location
    Kansas City Area, Missouri, USA
    Posts
    7,236

    Default Re: SMT

    On 11/29/2009 10:36 AM, Randymanme wrote:
    >
    > I've read that:
    >
    > To utilize a dual core processor, the operating system must be able to
    > recognize multi-threading and the software must have simultaneous
    > multi-threading technology (SMT) written into its code. SMT enables
    > parallel multi-threading wherein the cores are served multi-threaded
    > instructions in parallel. Without SMT the software will only recognize
    > one core. Adobe Photoshop is an example of SMT-aware software. SMT is
    > also used with multi-processor systems common to servers.
    >
    > Does openSUSE 11.2 (or 11.1) "have simultaneous multi-threading
    > technology (SMT) written into its code (?)"


    All Linux kernels recognize multiple cores and do SMP. If user code
    supports SMT, the kernel will. This is not a distro issue.

  3. #3
    Join Date
    Sep 2009
    Location
    Columbus, Ohio, USA
    Posts
    178

    Default Re: SMT

    If you don't mind me saying so, if this is something that the operating system does, and openSUSE 11.2 is the operating system I use, then it seems to me that, yes, this is a distro question. Where else do you suggest I ask it? A while back, I asked a question pertaining to getting Ubuntu installed on my computer on Ubuntu Forums and I was told to ask it here because open SUSE is the system I'm using.
    Plus, presently, this is a hardware forum.

    Moving on. About the following:

    Make Linux faster and lighter | TuxRadar Linux

    “Run boot processes in parallel
    Parallelism can lead to big performance boosts, because running two processes at once will take half the time of running them sequentially (at least in theory). You can take advantage of this technique in Grub by firing up /etc/init.d/rc in a text editor with root permissions and finding the following line:
    CONCURRENCY=none
    You would then replace none with shell before saving and closing your text editor. When you reboot you should see a noticeable decrease in your boot times (around one or two seconds in most cases). If you don't see an increase, this is because this tweak is aimed primarily at systems with multi-core processors. If you have a solo-core processor you could actually increase your boot time if you use this tweak, which was the case with our test system where we saw a 2.4-second increase.”

    I haven't tried this because I don't know how to use a text editor. But in the other article I alluded to in my previous post, the author makes it sound like this could be something like I could just enable in my os. Am I right? And if so, how?

    I would seem to me that this is obviously not something that just happens automatically.
    Last edited by Randymanme; 29-Nov-2009 at 12:39. Reason: more
    AMD Athlon II X2 220, 2.8 GHz, 6 GB, PNY GeForce 210; 1 TB: Windows 7HP, Ubuntu 13.10, DBLab/Linux Mint 16 Remix, Suse 12.1 KDE.

  4. #4
    palladium NNTP User

    Default Re: SMT

    Randymanme wrote:
    > If you don't mind me saying so, if this is something that the operating
    > system does, and openSUSE 11.2 is the operating system I use, then it
    > seems to me that, yes, this is a distro question. Where else do you
    > suggest I ask it?


    you misunderstood LarryFinger's answer..

    see, you asked if openSUSE supports SMT, his answer was that ALL Linux
    distributions support SMT, not _just_ openSUSE..


    > /etc/init.d/rc in a text editor with root permissions and
    > finding the following line:
    > CONCURRENCY=none
    >
    > I haven't tried this because I don't know how to use a text editor.


    i respectfully suggest that the potential savings of two seconds in
    boot time is not worth taking the chance you will hose your system
    trying to find and change that line in /etc/init.d/rc....for one thing
    those instructions were written for a Ubuntu user and openSUSE's rc
    layout is some different..

    and, i don't easily find where that line exists..

    > But in the other article I alluded to in my previous post, the author
    > makes it sound like this could be something like I could just enable in
    > my os. Am I right? And if so, how?


    i guess you misunderstood that author (or that author is misstaken),
    the ability to use multiple processors is built into and available in
    all modern Linux kernels...and, has been for some years...you don't
    have to do anything to "turn it on"


    > I would seem to me that this is obviously not something that just
    > happens automatically.


    ok, the instructions on how to change that CONCURRENCY line is not to
    "turn on" the ability to use multiple cores in the OS, but rather to
    allow the boot process itself use more than one core/thread..

    _perhaps_ that is the default in openSUSE since i do not find the
    restricting CONCURRENCY=none statement, but we would need a 'real'
    guru to tell us..

    --
    palladium

  5. #5
    Join Date
    Sep 2009
    Location
    Columbus, Ohio, USA
    Posts
    178

    Post Re: SMT

    All Linux kernels recognize multiple cores and do SMP. If user code
    supports SMT, the kernel will. This is not a distro issue.[/QUOTE]

    "User code(?)" Is that about something that I have to do, or can do, so that my operating system will actually implement parallel multi-threading to the processors?

    While all Linux kernels do recognize multiple cores, it looks to me like they still (perhaps by default?) allow sequential threading.

    The system monitor in PCLinuxOS GNOME, analyzes and graphs both processors individually and in tandem. Prior to my enabling cpu microcode updating, the first processor was always 40% to 50 % more active than the second one, with the later generally (at least while I was looking) hovering around 0 to 8%. Following my enabling cpu microcode updating, the sequential ordering of the threading looks to be alternating back and forth every few seconds. But, as I have it in my mind, this sequential alternating still isn't parallel multi-threading. I would think that parallel multi-threading would have both processors simultaneously at, say, 20%, instead of the first one at, say, 40% to 50% while the second one is at, say, 0% to 8%.

    Obviously, the fact that "All Linux kernels recognize multiple cores and do SMP. If user code
    supports SMT, the kernel will," does not, in and of itself, implement parallel multi-threading. What, precisely, will?

    The system monitor in OpenSUSE 11.2 GNOME, by the way, only recognizes the two processors as a single entity.
    AMD Athlon II X2 220, 2.8 GHz, 6 GB, PNY GeForce 210; 1 TB: Windows 7HP, Ubuntu 13.10, DBLab/Linux Mint 16 Remix, Suse 12.1 KDE.

  6. #6
    Join Date
    Jun 2008
    Location
    Kansas City Area, Missouri, USA
    Posts
    7,236

    Default Re: SMT

    IF A PROGRAM IS WRITTEN AS A SINGLE THREAD, MULTIPLE CPUS WILL DO NO GOOD.

    I had to shout at you because you don't seem to understand the points we
    have made. _ALL_ Linux kernels handle SMP. They can run multiple
    programs at the same time, but any single program can use _ONLY_ one CPU
    at a time _UNLESS_ it has been coded with multiple threads!


  7. #7
    Join Date
    Sep 2009
    Location
    Columbus, Ohio, USA
    Posts
    178

    Smile Re: SMT

    As might be apparent in some of my others posts, here and elsewhere, I'm a noob with little skill and less knowledge. Further, I can be rather obtuse, and all the more so once I've accepted in my mind an idea that other folks say isn't or can't be so.

    Having learned to trust my own intuition, I've become rather comfortable with my mindset -- which is not say that it can't be improved upon.

    Now let's see if I'm following you here. When (maybe I need to find out the person's name who wrote what I'm going to quote -- working on it) the person said: " . . . the operating system must be able to recognize multi-threading and the software must have simultaneous multi-threading technology (SMT) written into its code . . .," the "software" s/he was referring to are the various programs and not the operating system itself.

    May I extrapolate from what you're shooting and conclude that there cannot be any other programming that can be made part of an operating system that can add SMT into a program's code where it didn't previously exist prior to it arriving at the instant computer?
    AMD Athlon II X2 220, 2.8 GHz, 6 GB, PNY GeForce 210; 1 TB: Windows 7HP, Ubuntu 13.10, DBLab/Linux Mint 16 Remix, Suse 12.1 KDE.

  8. #8
    Join Date
    Jun 2008
    Location
    Kansas City Area, Missouri, USA
    Posts
    7,236

    Default Re: SMT

    On 12/01/2009 04:16 PM, Randymanme wrote:
    >
    > May I extrapolate from what you're shooting and conclude that there
    > cannot be any other programming that can be made part of an operating
    > system that can add SMT into a program's code where it didn't previously
    > exist prior to it arriving at the instant computer?


    Yes. For multi-threading to work, the program must be designed to split
    its work into separate pieces that may be done simultaneously, _AND_ the
    program must take special care that these separate pieces called threads
    threads do not interfere with one another. If thread A changes data that
    is being used in thread B, the program will yield nonsense. The whole
    issue of data locking is very complicated. In any case as I said
    earlier, merely running a single-threaded program on a multi-processor
    system will never yield multi-threading. The best you can hope is that
    at any instant, there can be as many single-threaded programs running as
    there are CPUs.

  9. #9
    palladium NNTP User

    Default Re: SMT

    > The system monitor in PCLinuxOS GNOME, analyzes and graphs both
    > processors individually and in tandem.


    run multiple copies of something like SETI or folding@home..

    run one per core you have available and suddenly both (or 64 cores)
    will all be processing in parallel two or more programs each at 100%
    active..

    but, if you just are watching one copy of a CPU charting program
    watching X make windows...then you are NOT running "user code" which
    is needing or using the full benefit of what you are trying to
    understand..

    try reading some at the Wiki:
    http://en.wikipedia.org/wiki/Simulta...multithreading
    and, etc..

    --
    palladium

  10. #10
    Join Date
    Sep 2009
    Location
    Columbus, Ohio, USA
    Posts
    178

    Default Re: SMT

    Thank you for the reference. Since that is not casual reading for me, I've just begun and have begun reading about some of the blue words . . ..

    I remember many, many years ago my attending a small college and taking a course, Introduction to COBOL. The memory is very hazy. The college, then, didn't have a computer lab, per se. My classmates and I would fill-in the appropriate boxes of the appropriate form with (what we hoped was) the appropriate data. Then the instructor would take our small class over to a local business that would let us use its key punch machines. We'd put rubber bands around our little stacks of punched cards and carry them in our shirt pockets. We thought of those as little programs. Which brings me to my next question: what's a program?

    Or let me rephrase that: "IF A PROGRAM IS WRITTEN AS A SINGLE THREAD, . .--" a what? Program? What do you mean?

    It might be safe to say that the way you define "program" is not what I have in mind when I see the word. Is a program more like a sentence or more like an essay? Or a book? Of how many programs would an average package consist?
    AMD Athlon II X2 220, 2.8 GHz, 6 GB, PNY GeForce 210; 1 TB: Windows 7HP, Ubuntu 13.10, DBLab/Linux Mint 16 Remix, Suse 12.1 KDE.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •