1 / 9

A User-Lever Concurrency Manager

A User-Lever Concurrency Manager. Hongsheng Lu & Kai Xiao. Problem. Modern Computers with multiple resources Physical concurrency makes effective parallelism and improves the performance However, over loading concurrency would actually deteriorate the system running performance.

quito
Download Presentation

A User-Lever Concurrency Manager

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A User-Lever Concurrency Manager Hongsheng Lu & Kai Xiao

  2. Problem • Modern Computers with multiple resources • Physical concurrency makes effective parallelism and improves the performance • However, over loading concurrency would actually deteriorate the system running performance

  3. Observation: CPU bound • CPU bound test : Simulation program Observation: 99% CPU for user Observation: Swap-in and Swap-out begin If increase the workload of application

  4. Observation: IO bound • IO bound test: Write 50MB data to disk per program (30 total) • Extreme test: Write 1GB data to disk per program (90 total) Writing speed < Flushing speed Processes blocked Writing speed >> Flushing speed Too Many process blocked Writing speed >= Flushing speed Processes blocked n=1 n=90 Running time = 4.5 s Running time = 4.0 s Running time = 189 s Running time = 220 s

  5. Solution: Feedback & Histories • Key Idea: keeping CPU and IO in the best utilization situation • Solution stage One: Using feedback method to monitor the key parameters of CPU and IO running performance, and manage the concurrency level. • For CPU bound, monitor the free memory threshold • For IO bound, monitor the process block queue • whether a writing process is blocked by itself

  6. However… • The problem of feedback • Solution stage Two: Program History Using the history records to divide programs into CPU bound group and IO bound group Fork new process according to feedback and history Running time = 277 s

  7. Effective Solution Running time = 206 s

  8. Progress and Future works • Problem Identification • Solution Design • Solution Prototype verified • Software: Monitor and Feedback • History Applicability • Under what situation the algorithm works well • Application Diversity • Application with increasing memory request • CPU bound and IO bound with conflicting memory request • Platform Diversity

  9. Final Goal • A simple concurrency manager that runs a arbitrary list of commands and application as fast as possible on a wide variety of machines.

More Related