Thread pools, Operating System

Assignment Help:

Another solution then would be to keep a pool of threads. Whenever a new task arrives, the system would simply get a thread from pool and set that thread to work on the given task. Whenever the pool is empty, the system blocks until another thread completes its task. One natural question now is: how many threads do we "pre-create" and add to the pool? Ideally, we would want to create an in?nite (or large enough) amount of threads; however, this is clearly not possible, since each thread has a descriptor, a stack, etc, but our main memory is ?nite. Also, beyond a certain point, creatingmore threads does not help anymore, and the server starts to slow down again due to things like paging or lock contention. For example, if we only have 4 CPUs, it doesn't help to try to run a billion things at the same time. In practice, the ?ne-tuning of how many thread to add to the pool for any given application is set empirically, or perhaps adaptively.


Related Discussions:- Thread pools

Define the global vs. local variables, Define the Global vs. local variable...

Define the Global vs. local variables It is also important to discuss the scope of resources being granted to the application program.  Variable scoping is defined as the acces

Explain the per thread scoping, Explain the Per Thread Scoping Thread-l...

Explain the Per Thread Scoping Thread-level programming introduces new twists for application-level variable scoping. Threads are commonly used in one of two ways. To ex

What is a two state process model?, What is a two state process model? ...

What is a two state process model?   At any time a process is being implementing by a processor or not. Therefore a process may be in Running or not running state. When an Ope

Control the access of the three global variables, Give a brief introduction...

Give a brief introduction about the operation of your program and show that you understand the idea behind threads and mutual exclusion variable. Why do we need to use mutual exclu

Three conditions that solution for critical section problem, What are three...

What are three conditions that a solution for the critical section problem must satisfy? The three conditions are as following:- a)      Mutual exclusion :- if a process is

How file record length should be chosen, How File record length should be c...

How File record length should be chosen File record length should be selected to match the data characteristics

Write a short note on pcb, Write a short note on PCB? Every process is ...

Write a short note on PCB? Every process is represented in the operating system by a process control block also called a task control block. It contains more information regard

How does user specify block to be fetched in direct access, How does user s...

How does user specify block to be fetched in direct access? By specifying the relative block number, relative to first block in file, which is block 0.

What is meant by context switch, What is meant by context switch? Switc...

What is meant by context switch? Switching the CPU to another process needs saving the state of the old process and loading the saved state for the latest process. This task is

Explain debugging a multi threaded program, Debugging a multi threaded prog...

Debugging a multi threaded program The following list points out few of the more frequent oversights and errors that can cause bugs in multithreaded programs. 1.    Ephemeral

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd