multithreaded


Also found in: Dictionary, Wikipedia.

multithreaded

This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)

multithreading

A feature within a CPU that allows two or more instruction streams (threads) to execute concurrently. Each stream is a "subprocess" that is managed by the CPU and operating system. Multithreading takes advantage of the superscalar architecture in most CPUs combined with the fact that while one operation takes place, very often another can proceed simultaneously. For example, as soon as an instruction to output data to storage is given, a huge number of data processing instructions (compare, copy, goto, etc.) can be executed while storage is being written. Depending on the program logic, instructions can be executed out of sequence and benefit from some overlap.

Both operating systems and applications may be written to use threads. However, designing the program logic for multithreading that ensures instructions are always executed without conflict can be a daunting task.

Multicore vs. Multithreading
Multicore CPUs have two or more processing cores, each capable of executing instructions in parallel. In fact, except for low-cost microcontrollers, most CPUs have two or more cores. In contrast, multithreading occurs within a single processing core to increase performance approximately 25%. Each thread is a "logical core" rather than a physical core. See microcontroller.

Today's CPUs generally support at least two threads per core, but some handle many more. For example, IBM's POWER10 CPU comes with up to 15 cores, and each core handles eight threads for a total of 120 threads. Tasks such as video rendering and machine vision, which perform millions of identical calculations on a matrix of pixels, are candidates for multithreading. See superscalar, SMP, re-entrant code, multicore, multiprocessing and Hyper-Threading.


No Multithreading
Each of these two cores in this dual-core CPU example is executing instructions independently of the other. The arrows point to the two machine instructions being executed at the moment.







Dual Cores and Two Threads
Each core has two threads, which provides some degree of overlap within the routines that are executing simultaneously. If both threads in both cores are executing, four operations are taking place simultaneously.







Threads Galore
The cover of Software Development Times in November 2012 highlighted the issue that CPUs with many cores provide more channels of parallel instruction execution.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
This is achieved by using a fine grained multithreaded architecture that aligns with the evolution path of multi-core silicon.
In traditional multithreaded OS, the size of each stack is ingeniously reserved in order to avoid memory overflow and memory wastage.
For shared server-based usage, dtSearch offers concurrent, multithreaded searching.
Speedup (S) is used to compare the execution time of the computation on a GPU ([T.sub.GPU]) to the execution time on a single threaded CPU (TCPU) and multithreaded CPU ([T.sub.CPU-MT]):
presented a timing analysis method for multithreaded programs based on a hidden Markov model [13].
2.8 Multithreaded implementation of hybrid string matching algorithm
They present project management as a single multithreaded business workflow that has a set of detailed processes with logical decision making, control point tests, and loops.
From reducing mapping models to using Core Data in a multithreaded environment, this second edition updates all examples for OS X Mountain Lion and iOS 6, and teaches how to integrate an application into an iPhone or iPad environment.
While in 2013 we're worried about multi-screened and multithreaded conversations (interactions that take place on multiple screens by the same user), in the coming decade, your content can be used in everything from voice-activated technology to user manuals that are easily searchable.
The system design provides a unified design flow for engineers working on wireless technologies to implement algorithms in FPGA hardware and on multicore processors without knowledge such as HDL or multithreaded programming.
Multithreaded computers and massively large data sets pose a real problem for R.
Intel engineers have also developed up to 22 percent faster performance on multithreaded applications compared to 2nd generation Intel Core processors, and the new Ultrabooks also have up to twice the video processing and 3D graphics performance of the prior generation.