Databases Reference
In-Depth Information
CHAPTER 28
IN THIS CHAPTER
.
Thread Pools
Thread Management
.
Architecture of a Thread Pool
.
Managing Threads by Different
Subsystems
A nalysis Services uses threads provided by the Windows
operating system to perform parallel execution of
commands. The Thread Management subsystem of Analysis
Services is responsible for keeping, controlling, and reusing
threads. Efficiency of thread management affects efficiency
of the entire system, and the creation of a large number of
threads can lead to performance degradations due to factors
such as unnecessary context switches and competition for
system resources. On the other hand, a low number of
threads can lead to CPU and disk underutilization.
The Thread Management subsystem uses thread pool
objects to store and manage the threads. A thread pool
requests threads from the operating system, stores them,
and provides those threads to other server subsystems. Each
subsystem places a request for a thread (multiple threads) in
the thread pool's queue. The thread pool supplies threads
based on the availability of threads and the priority of
incoming requests.
Analysis Services has four thread pools:
.
Short-command parsing pool
.
Long-command parsing pool
.
Query-execution pool
.
Process-execution pool
To increase system throughput, the Analysis Services system
designers chose to have multiple thread pools. Having
different thread pools adds balance to the system and
prevents long-running operations from blocking short-
running commands. For example, Analysis Services does
Search WWH ::




Custom Search