Overclock.net › Forums › General Hardware › General Processor Discussions › What exactly is a thread
New Posts  All Forums:Forum Nav:

What exactly is a thread

post #1 of 8
Thread Starter 
Hi all I'm new here, and am trying to just learn as much as I can about CPUs. I'm up to hyperthreading, now I understand that with HT for each logical core there are 2 threads instead of one and those threads share all the same resources like the cache, registers, etc so they're not considered real cores. What confuses me is that in my task manager under threads its 700 +. So are these threads the same threads that are on the cores? What exactly is the purpose of a thread? Is it a form of execution, so with HT there's basically two people doing one thing?(analogy)
post #2 of 8
http://en.wikipedia.org/wiki/Thread_(computer_science)
http://en.wikipedia.org/wiki/Hyper-threading

Hyper-threading (officially Hyper-Threading Technology, and abbreviated HT Technology, HTT or HT) is Intel's term for its simultaneous multithreading implementation in its Atom, Intel Core i3/i5/i7, Itanium, Pentium 4 and Xeon CPUs.

Hyper-threading is an Intel-proprietary technology used to improve parallelization of computations (doing multiple tasks at once) performed on PC microprocessors. For each processor core that is physically present, the operating system addresses two virtual processors, and shares the workload between them when possible. Hyper-threading requires not only that the operating system support multiple processors, but also that it be specifically optimized for HTT, and Intel recommends disabling HTT when using operating systems that have not been optimized for this chip feature.

Non-intel processors can have more than 2 threads per core... there have been 8 threaded multi-core cpu's for years...

In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. It generally results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. In particular, the threads of a process share the latter's instructions (its code) and its context (the values that its variables reference at any given moment). To give an analogy, multiple threads in a process are like multiple cooks reading off the same cook book and following its instructions, not necessarily from the same page.

On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will actually run at the same time, with each processor or core running a particular thread or task.

Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a kernel thread, whereas a lightweight process (LWP) is a specific type of kernel thread that shares the same state and information.

Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad-hoc time-slicing.

Threads differ from traditional multitasking operating system processes in that:
  • processes are typically independent, while threads exist as subsets of a process
  • processes carry considerable state information, whereas multiple threads within a process share state as well as memory and other resources
  • processes have separate address spaces, whereas threads share their address space
  • processes interact only through system-provided inter-process communication mechanisms.
  • Context switching between threads in the same process is typically faster than context switching between processes.

Edited by LiNERROR - 7/24/11 at 12:17am
Khaos
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 @ 4.59ghz Asus P6T Gigabyte GTX 1080 48GB 6 x G.SKILL Ripjaws X 8GB DDR3 1866 
Hard DriveCoolingOSMonitor
28 x WD Blk 8TB Raid 6 on Areca 24 port SATA/SA... Xigmatek 1283EE 2016 Standard 3x 43" 4k 120hz 
KeyboardPowerCaseMouse
Ergodox Infinity 1.2b Dual 1200w P2 CM Stacker 810 Roccat Tyon 
Mouse PadAudio
48x16" deskmat SMSL AD18, Klipsch R-15M, xDuoo DAC, AKG K7XX 
  hide details  
Reply
Khaos
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 @ 4.59ghz Asus P6T Gigabyte GTX 1080 48GB 6 x G.SKILL Ripjaws X 8GB DDR3 1866 
Hard DriveCoolingOSMonitor
28 x WD Blk 8TB Raid 6 on Areca 24 port SATA/SA... Xigmatek 1283EE 2016 Standard 3x 43" 4k 120hz 
KeyboardPowerCaseMouse
Ergodox Infinity 1.2b Dual 1200w P2 CM Stacker 810 Roccat Tyon 
Mouse PadAudio
48x16" deskmat SMSL AD18, Klipsch R-15M, xDuoo DAC, AKG K7XX 
  hide details  
Reply
post #3 of 8
From what my understanding is, a thread is basically what processes can run on. The the more threads the more dispersed the processes are and the less load on your CPU there is.
Edited by kuehlman - 7/24/11 at 12:13am
My gaming rig
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4670 MSI Z87i MSI Radeon HD 7870 2gb 2x4 G.Skill Snipers 
Hard DriveOptical DriveOSMonitor
1TB Seagate ASUS Reader Windows 7 64bit Acer  
KeyboardPowerCaseMouse
Rosewill 850w Rosewill HIVE Semi Modular Bitfenix Prodigy Razorback 
Mouse Pad
Mousepad 
  hide details  
Reply
My gaming rig
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4670 MSI Z87i MSI Radeon HD 7870 2gb 2x4 G.Skill Snipers 
Hard DriveOptical DriveOSMonitor
1TB Seagate ASUS Reader Windows 7 64bit Acer  
KeyboardPowerCaseMouse
Rosewill 850w Rosewill HIVE Semi Modular Bitfenix Prodigy Razorback 
Mouse Pad
Mousepad 
  hide details  
Reply
post #4 of 8
NVM Task manager... I do not mean to hijack this thread but I think this would be useful for everyone. Does anyone know a CPU monitoring program like Core Temp 0.98 but with graphs?
justmypc
(14 items)
 
  
CPUMotherboardGraphicsRAM
7700K @ 5.0 1.35V Asus Z170-A Gigabyte G1 1080 2x8GB Kingston 3000Mhz 15-17-17 
Hard DriveOptical DriveOSMonitor
Samsung 850 500GB Samsung Spinpoint F3 1TB Win 10 x64 Pro BenQ XL2411T 
KeyboardPowerCaseMouse
Blackstorm Mech Brown Corsair AX850 HAF 932 Mionix Naos 7000 
Mouse PadAudio
SteelSeries Qck+ Xonar DG 
  hide details  
Reply
justmypc
(14 items)
 
  
CPUMotherboardGraphicsRAM
7700K @ 5.0 1.35V Asus Z170-A Gigabyte G1 1080 2x8GB Kingston 3000Mhz 15-17-17 
Hard DriveOptical DriveOSMonitor
Samsung 850 500GB Samsung Spinpoint F3 1TB Win 10 x64 Pro BenQ XL2411T 
KeyboardPowerCaseMouse
Blackstorm Mech Brown Corsair AX850 HAF 932 Mionix Naos 7000 
Mouse PadAudio
SteelSeries Qck+ Xonar DG 
  hide details  
Reply
post #5 of 8
Quote:
Originally Posted by Antsu View Post
NVM Task manager... I do not mean to hijack this thread but I think this would be useful for everyone. Does anyone know a CPU monitoring program like Core Temp 0.98 but with graphs?
a google search of CPU temp graph... first result goes to a 4 year old thread on this board... http://www.overclock.net/intel-cpus/...emp-graph.html
Khaos
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 @ 4.59ghz Asus P6T Gigabyte GTX 1080 48GB 6 x G.SKILL Ripjaws X 8GB DDR3 1866 
Hard DriveCoolingOSMonitor
28 x WD Blk 8TB Raid 6 on Areca 24 port SATA/SA... Xigmatek 1283EE 2016 Standard 3x 43" 4k 120hz 
KeyboardPowerCaseMouse
Ergodox Infinity 1.2b Dual 1200w P2 CM Stacker 810 Roccat Tyon 
Mouse PadAudio
48x16" deskmat SMSL AD18, Klipsch R-15M, xDuoo DAC, AKG K7XX 
  hide details  
Reply
Khaos
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 @ 4.59ghz Asus P6T Gigabyte GTX 1080 48GB 6 x G.SKILL Ripjaws X 8GB DDR3 1866 
Hard DriveCoolingOSMonitor
28 x WD Blk 8TB Raid 6 on Areca 24 port SATA/SA... Xigmatek 1283EE 2016 Standard 3x 43" 4k 120hz 
KeyboardPowerCaseMouse
Ergodox Infinity 1.2b Dual 1200w P2 CM Stacker 810 Roccat Tyon 
Mouse PadAudio
48x16" deskmat SMSL AD18, Klipsch R-15M, xDuoo DAC, AKG K7XX 
  hide details  
Reply
post #6 of 8
Thread Starter 
Quote:
Originally Posted by LiNERROR View Post
http://en.wikipedia.org/wiki/Thread_(computer_science)

In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. It generally results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. In particular, the threads of a process share the latter's instructions (its code) and its context (the values that its variables reference at any given moment). To give an analogy, multiple threads in a process are like multiple cooks reading off the same cook book and following its instructions, not necessarily from the same page.

On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will actually run at the same time, with each processor or core running a particular thread or task.

Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a kernel thread, whereas a lightweight process (LWP) is a specific type of kernel thread that shares the same state and information.

Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad-hoc time-slicing.

Threads differ from traditional multitasking operating system processes in that:
  • processes are typically independent, while threads exist as subsets of a process
  • processes carry considerable state information, whereas multiple threads within a process share state as well as memory and other resources
  • processes have separate address spaces, whereas threads share their address space
  • processes interact only through system-provided inter-process communication mechanisms.
  • Context switching between threads in the same process is typically faster than context switching between processes.
I could've gone to wiki myself ^^ was kinda looking for an explanation in your own words(simpler than wiki)
post #7 of 8
Hi.....

Hyper-threading (HT) is a term used related with computer processor. It is one of the features built-in with most Intel made CPUs. Intel introduced this technology when it releases the first 3GHz Pentium 4 processor.

HT technology turns or simulates a single processor into two virtual processors so that it can handle two sets of instructions simultaneously. It is meant to increase the performance of a processor by utilizing the idle or non-used part of a processor.
post #8 of 8
Quote:
Originally Posted by kuehlman View Post
From what my understanding is, a thread is basically what processes can run on. The the more threads the more dispersed the processes are and the less load on your CPU there is.
Ti-89 Titanium
(13 items)
 
   
CPUMotherboardRAMHard Drive
Motorola 68k @16 MHz Ti-89 HW4 256 KB 2.6 MB Flash ROM 
OSMonitorPowerCase
Ti-89 OS 3.10 LCD Dot-Matrix 160x100 4x 1.5V AAA Ti-89 HW4 Black 
CPUMotherboardGraphicsRAM
Intel Core™ i7 930 Gigabyte GA-X58A-UD3R 2.0 Gigabyte GTX 470 SOC G.Skill RX 2x4GB 1600C8 
Hard DriveHard DriveOptical DriveCooling
PNY Prevail Elite 120GB Hitachi 7K1000.C 1TB LG GH24LS50 Noctua NH-C12P SE14 
OSOSMonitorKeyboard
Windows 8 Pro x64 Lubuntu 13.10 x64 Samsung BX2250 Logitech Illuminated 
PowerCaseMouseAudio
Be Quiet! S.P. E⁷ 600W Fractal Design Core 3000 Logitech G300 AKG K240 Studio 
  hide details  
Reply
Ti-89 Titanium
(13 items)
 
   
CPUMotherboardRAMHard Drive
Motorola 68k @16 MHz Ti-89 HW4 256 KB 2.6 MB Flash ROM 
OSMonitorPowerCase
Ti-89 OS 3.10 LCD Dot-Matrix 160x100 4x 1.5V AAA Ti-89 HW4 Black 
CPUMotherboardGraphicsRAM
Intel Core™ i7 930 Gigabyte GA-X58A-UD3R 2.0 Gigabyte GTX 470 SOC G.Skill RX 2x4GB 1600C8 
Hard DriveHard DriveOptical DriveCooling
PNY Prevail Elite 120GB Hitachi 7K1000.C 1TB LG GH24LS50 Noctua NH-C12P SE14 
OSOSMonitorKeyboard
Windows 8 Pro x64 Lubuntu 13.10 x64 Samsung BX2250 Logitech Illuminated 
PowerCaseMouseAudio
Be Quiet! S.P. E⁷ 600W Fractal Design Core 3000 Logitech G300 AKG K240 Studio 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: General Processor Discussions
Overclock.net › Forums › General Hardware › General Processor Discussions › What exactly is a thread