Page 75 - DCAP103_Principle of operating system
P. 75
Principles of Operating Systems
Notes manage the user interface and perform other tasks. Multi-processor hardware is not necessary
for such a program. In contrast, if you are using threads to speed up a numerical computation,
you will require actual MP hardware to see any benefit. On a uniprocessor, this program will
work harder (MT code adds overhead) and will take essentially the same amount of time to
complete as a single-threaded version. Common sense suggests that threading does not make
a uniprocessor able to compute any faster.
3.3.2 Multi-threading to IDL
Simply put, ITT-VIS has implemented multi-threading in IDL in order to allow users to harness
additional CPUs to do more work in less time. Scientific data sets continue to grow in size faster
than computers can process them. Multi-processors offer one way to handle larger problems.
Multi-processor hardware and Symmetric Multi-Processing (SMP) have become cheap and easily
available. There are some powerful trends driving this change:
1. As transistor densities on processor chips increase with each generation, there is room for
replicated processing units.
2. At any given point in time, the cost of the second most powerful CPU in production is
much lower than the most powerful CPU. It makes sense that if you can harness multiple
cheap, but only slightly less powerful, CPUs, you can do more work for less money.
3. There are physical limits that govern how fast a single CPU can possibly go, and we expect
to hit those limits within a few (10-20, max) years. Once we hit this limit, the only way to
increase computing power may be to add CPUs.
The development of SMP systems has been driven not by the need to run multi-threaded
programs, but by a need to increase throughput on servers that run multiple single-threaded
programs simultaneously (e.g., to serve files, mail and printing). Economies of scale allow
computer vendors to apply this technology to desktop machines. It is becoming common for
individuals to have such machines, and it appears that this trend will continue.
3.3.3 Modeling Multi-threaded Processors
Symmetric multi-processing (SMP) has been employed by computer makers for some time.
Multiple processors are connected to a common memory pool and a combination of hardware
and operating system functions permit work to be balanced across the entire unit. Each processor
had a single “thread” that processed programming instructions.
Recently chip manufacturers added additional threads to the processors to further increase
efficiency of the chips. The added capacity of multi-threaded processors is welcomed but they
provide some challenges for the capacity planner. As work is added to a system, multi-threaded
CPU cores perform differently from multiple single-threaded CPU cores in a symmetric multi-
processing (SMP) environment. The meaning of per-process CPU time measurements depend
upon chip technology, therefore, measurement results and expected future performance may
not be intuitively obvious any more.
This paper explains a conceptual architecture developed for modeling multi-threaded processors
and the new functionality provided in Team Quest Model to support multi-threaded processors.
A modeling example using Linux on Intel chips will be provided to aid your understanding.
3.3.4 Single-threaded versus Multi-threaded Symmetric Multiprocessing
Let’s begin by comparing older single-threaded SMP technology with newer multi-threaded
technologies. In both cases, the CPU chip is the hardware component that provides the instruction
processing capability. Within each chip there may be multiple CPU cores, and each core
68 LOVELY PROFESSIONAL UNIVERSITY