Your SlideShare is downloading. ×
Scheduler Activation Paper Presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Scheduler Activation Paper Presentation

61
views

Published on

Published in: Software, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
61
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Scheduler Activation ---------------------------------------------- Effective Kernel Support for the User-Effective Kernel Support for the User- Level Management of ParallelismLevel Management of Parallelism ---------------------------------------------- Presented by Ashay Thool, Tushar PatilAshay Thool, Tushar Patil
  • 2. Agenda ● Introduction ● User Level Threads ● Kernel Level Threads ● Approach To Solution ● Scheduler Activation ● Policy for processor allocation ● Implementation ● Handling critical section ● Performance evaluation ● Conclusion
  • 3. Introduction To ThreadsIntroduction To Threads User Level ThreadsUser Level Threads
  • 4. User Level ThreadsUser Level Threads ● Advantages :Advantages : – Abstraction – No Kernel intervention – Significantly better flexibility – Virtual Processor ● Disadvantages :Disadvantages : – Virtual Processor – Lack of System Integration – I/O, Page Faults – High Cost of Creating and Managing Parallelism
  • 5. Kernel Level ThreadsKernel Level Threads Kernel Level ThreadsKernel Level Threads
  • 6. Kernel Level Threads ● Advantages :Advantages : – No System Integration Issues – High functionality ● Disadvantages :Disadvantages : – Poor performance – Less flexible – Not Application specific – ULT > KLT >Process
  • 7. Approach To Solution ● Virtual Multiprocessor ● Application controls running of threads ● Kernel controls processor allocations. ● Communicating Upward all the kernel events. ● Communicating Downward selective events ● Scheduler Activation.
  • 8. Scheduler Activations ● Goal – mimic functionality of kernel threadsGoal – mimic functionality of kernel threads – gain performance of user space threads ● Avoids unnecessary user/kernel transitionsAvoids unnecessary user/kernel transitions ● Kernel assigns virtual processors to each processKernel assigns virtual processors to each process – let runtime system allocate threads to processors ● Problem:Problem: – Fundamental reliance on kernel (lower layer) – calling procedures in user space (higher layer)
  • 9. Scheduler Activation(1)
  • 10. Policy for Processor Allocation ● No processor idles if there is runnable thread.No processor idles if there is runnable thread. ● Processors are divided evenly among address spaces.Processors are divided evenly among address spaces. ● At user level, Kernel get notified under 2 circumstances:At user level, Kernel get notified under 2 circumstances: – When number of runnable threads are more than processor – When number of processor available are more than threads. ● Kernel use above hints to manage processor allocation toKernel use above hints to manage processor allocation to threads.threads.
  • 11. Implementation ● Added to Topaz kernel thread managementAdded to Topaz kernel thread management – Manage and execute upcalls instead of own scheduling. – Straighforward processor allocation in the address space. ● Modified Fast Thread package for user levelModified Fast Thread package for user level – Process Upcalls – Resume interrupted critical section – Manage process information and pass it to Topaz Kernel.
  • 12. Handling Critical Section ● There are two approaches to deal inopportuneThere are two approaches to deal inopportune preemption:preemption: ● Prevention - It requires the kernel to yield control over processor allocation (at least temporarily) to the user-level, violating the semantics of address space priorities. ● Recovery - Checks for thread preempted or unblocked and temporarily continues at user level context switch. We ensure that once a lock is acquired, it is always eventually released, even in the presence of processor preemption or page faults.
  • 13. Performance Evaluation ● Thread performance without Topaz kernel isThread performance without Topaz kernel is similar to the Fast thread pacakage beforsimilar to the Fast thread pacakage befor changes.changes. ● Upcall PerformanceUpcall Performance – Worst than Topaz kernel thread. – Not in sync. ● Application performanceApplication performance – Negligible I/O: Fast as original FastThreads. – With I/O: Manages and Performs better than either FastThreads or Topaz threads.
  • 14. Performance without I/O
  • 15. Performance with I/O
  • 16. Conclusion ● Our prototype implements threads as theOur prototype implements threads as the concurrency abstraction supported at the userconcurrency abstraction supported at the user level, scheduler activations are not linked tolevel, scheduler activations are not linked to any particular model; scheduler activations canany particular model; scheduler activations can support any user-level concurrency modelsupport any user-level concurrency model because the kernel has no knowledge of user-because the kernel has no knowledge of user- level data structures.level data structures.