Can a multithreaded solution using a multiple-level threads achieve better performance on a multiprocessor system than on a single processor system? Explain
Please follow the data and description :
In general, a multithreaded system consisting of multiple user level threads cannot make use of the different processors in a multiprocessor system simultaneously. Now a user-level threads are those that are created by the user for the ease of execution over the course of time. So let's assume that the defined user-level threads are not known to the kernel system. So in this case, the solution is YES, because the scheduling is done only at the process level.
On the other hand, some different Operating Systems allow the defined user-level threads to be assigned to different kernel level processes for the purposes of scheduling every user-level threads. In this case the multithreaded solution could be faster. To be noted that a multi-threaded solution on a uniprocessor/single processor can faster the process that may be faster than a single-threaded solution on a uniprocessor. The operating system is visualised only on a single process and that will not schedule the remaining different threads of the process on separate processors. This even is not a performance benefit that is associated with the executing multiple user-level threads on a multiprocessor system.
Hope this is helpful.
Get Answers For Free
Most questions answered within 1 hours.