Following Contains Questions on Scheduling, Threads, and Synchronization


Provide three programming examples in which multithreading provides

better performance than a single-threaded solution

Using Amdahl’s Law, calculate the speedup gain of an application that

has a 60 percent parallel component for (a) two processing cores and (b) four processing cores.

A web browser might have one thread display images or text while another thread retrieves data from the network.

What are two differences between user-level threads and kernel-level

threads? Under what circumstances is one type better than the other?

Describe the actions taken by a kernel to context-switch between kernel level threads.

What resources are used when a thread is created? How do they differ

from those used when a process is created?

What is thread-safety in multithreaded programming?

Question on Semaphores:

Which of the following components of program state are shared across

threads in a multithreaded process? a. Register values b. Heap memory c. Global variables d. Stack memory

Under what circumstances does a multithreaded solution using multiple kernel threads provide better performance than a single-threaded

solution on a single-processor system?

Can a multithreaded solution using multiple user-level threads

achieve better performance on a multiprocessor system than on a single-processor system? Explain

Is it possible to have concurrency but not parallelism? Explain

Task vs. Data Parallelism

Priority Inversion (and its sol)

CPU Scheduling Relation:

CPU and Process affinity:

Where to use what synchronization tool:

Why spinlocks are not appropriate for single-processor systems yet are often used in multiprocessor systems.