90 likes | 215 Views
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.
E N D
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
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
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
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
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
Effective Solution Running time = 206 s
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
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.