200 likes | 342 Views
Master Thesis Defense Ubinet Master University of Nice Sophia Antipolis . Request Scheduling for Multiactive Objects. Student Justine Rochas Supervisor Ludovic Henrio Research lab INRIA-I3S-CNRS-UNS Research team OASIS . July, 2013. Motivation.
E N D
Master Thesis Defense Ubinet Master University of Nice Sophia Antipolis Request Scheduling for Multiactive Objects Student Justine Rochas Supervisor Ludovic Henrio Research lab INRIA-I3S-CNRS-UNS Research team OASIS July, 2013
Motivation • Facilitate distributed and concurrent programming • Through languages, APIs and middlewares • Ensure good performance • Almost as good as low level mechanisms • Internship – Focus on the concurrent part
Context & Objectives Active Objects • Programming model • Asynchronous requests • No concurrency Machine A Machine B Request Active Object Object Response Facilitate distributed programming
Context & Objectives Multiactive Objects • Multi-threaded extension of Active Objects • Objectives • Execute several requests in parallel • In a controlledway • Define compatibilities • Consequence • Increase request throughput Machine Multiactive Object Facilitate parallel programming in the context of Active Objects
Context & Objectives Multiactive Objects – Compatibility Definition • Groups Memberships • Rules
Context & Objectives Multiactive Objects – Scheduling • Objective : maximize parallelism • Explore the entire queue • Schedule as soon as possible Executing requests Request queue . . . Not compatible Compatible • Limit thread creation • Even compatible requests can wait
Context & Objectives Internship Objectives • Add new features to control the scheduling • Request priority • Thread management • Experiment the programming model • Compare performance • Evaluate thread usage • Constraints • Consistent with the programming model • User-friendly • Expressive • Efficient
Current Contributions Priority - Introduction . . . • Priority : Reorder ready requests Incoming Requests High priority request Request queue . . . Apply compatibilities Compatible request queue . . . Apply priorities Priority queue . . . Scheduling
Current Contributions Integer Based Priorities • Advantages • Easy to introduce – Used in many related works • Fast to choose the next request to execute • Drawbacks • Total order unavoidable • Not user-friendly
Current Contributions Graph Based Priorities G1 • Express dependency between groups • Easier to use • No total order • But uses more complex structures • Graph exploration at each scheduling • Might be inefficient – to be experimented Dependency G2 G3 Dependency G4
Current Contributions Graph Based Priorities – Example G1 G3 G2 G4 Priority queue Incoming request . . . G1 G2 G4 G3
Current Contributions Thread Allocation – Control • Problem Threads are limited + Reordering of requests Starvation of low priority requests • Solution • Limit thread occupancy per group
Current Contributions Thread Allocation – Example Thread pool Priority queue . . . Request to execute Free : 1/4 Usage : 2/2 Usage : 1/2
Current Contributions Incoming Requests Request queue . . . Apply compatibilities Compatible request queue Selection . . . Contributions Apply priorities Priority queue Reordering . . . Apply thread availability Ready queue Selection . . . Scheduling
Future Work & Conclusion Future Work • Formalize execution model (ongoing) • Show that the model is viable • Experiment priority models (future work) • Evaluate overhead of priority specifications • Choose the best specification • Evaluate speedup of high priority requests
Future Work & Conclusion Conclusion • An existing model : Multiactive Objects • Compatibilities parallel execution • Current contributions • Several models for priority specification • Threadmanagement • Future work • Validate the model • Expected results • Provide more control on the scheduling • Increase Multiactive Object efficiency
Request Scheduling for Multiactive Objects Student Justine Rochas Supervisor Ludovic Henrio Research lab INRIA-I3S-CNRS-UNS Research team OASIS