Store Devices Microsoft Surface PCs & tablets Xbox Virtual reality Accessories Windows phone Microsoft Band Software Office Windows Additional software Apps All apps Windows apps Windows phone apps Games Xbox One games Xbox 360 games PC games Windows games Windows phone games Entertainment All Entertainment Movies & TV Music Business & Education Business Store Education Store Developer Sale Back-to-school essentials Sale Products Software & services Windows Office Free downloads & security Internet Explorer Microsoft Edge Skype OneNote OneDrive Microsoft Health MSN Bing Microsoft Groove Microsoft Movies & TV Devices & Xbox All Microsoft devices Microsoft Surface All Windows PCs & tablets PC accessories Xbox & games Microsoft Band Microsoft Lumia All Windows phones Microsoft HoloLens For business Cloud Platform Microsoft Azure Microsoft Dynamics Windows for business Office for business Skype for business Surface for business Enterprise solutions Small business solutions Find a solutions provider Volume Licensing For developers & IT pros Develop Windows apps Microsoft Azure MSDN TechNet Visual Studio For students & educators Office for students OneNote in classroom Shop PCs & tablets perfect for students Microsoft in Education Support Sign in Research Research o Research Home o Research areas Algorithms Artificial intelligence and machine learning Computer systems and networking Computer vision Data visualization, analytics, and platform Ecology and environment Economics Graphics and multimedia Hardware, devices, and quantum computing Human-centered computing Mathematics o o o o o Medical, health, and genomics Natural language processing and speech Programming languages and software engineering Search and information retrieval Security, privacy, and cryptography Social Sciences Technology for emerging markets Products & Downloads Programs & Events Academic Programs Events & Conferences People Careers About About Microsoft Research blog Asia Lab Cambridge Lab India Lab New England Lab New York City Lab Redmond Lab Applied Sciences Lab Research areas o Algorithms o Artificial intelligence and machine learning o Computer systems and networking o Computer vision o Data visualization, analytics, and platform o Ecology and environment o Economics o Graphics and multimedia o Hardware, devices, and quantum computing o Human-centered computing o Mathematics o Medical, health, and genomics o Natural language processing and speech o Programming languages and software engineering o Search and information retrieval o Security, privacy, and cryptography o Social Sciences o Technology for emerging markets Products & Downloads Programs & Events o Academic Programs o Events & Conferences People Careers About o About o Microsoft Research blog o Asia Lab o Cambridge Lab o India Lab o New England Lab o New York City Lab o Redmond Lab o Applied Sciences Lab Using Cohort Scheduling to Enhance Server Performance March 1, 2001 Download PDF BibTex Authors James R. Larus Michael Parkes Jim Larus Publication Type TechReport Pages 19 Number MSR-TR-2001-39 Abstract Related Info Abstract A server is commonly organized as a collection of concurrent tasks, each of which runs the server’s code to process a request. The concurrency is built on threads, processes, or eventdriven code, all of which provide control independent tasks and dynamic scheduling to mitigate high-latency operations such as I/O and communication. Unfortunately, many of these servers run poorly on modern processors. Measurements show that these systems utilize only a fraction of a processor’s potential. In part, this poor performance is attributable to the programs’ software architecture, which frequently jumps between unrelated pieces of code, thereby reducing the instruction and data locality that is a prerequisite for hardware mechanisms such as caches, TLB, and branch predictors. This paper describes cohort scheduling, a policy that increases code and data locality by batching the execution of similar operations across server requests. Staged computation is a programming model that helps structure programs in a manner conducive to cohort scheduling. The StagedServer library provides an efficient implementation of cohort scheduling using this model. Measurements show that cohort scheduling improves server throughput as much as 13% and reduces CPI as much as 18%. Related Info Related Files tr-2001-39.doc Research Labs Microsoft Research Lab - Redmond Follow Microsoft Research Follow @MSFTResearch Share this page Tweet Learn Windows Office Skype Outlook OneDrive MSN Devices Microsoft Surface Xbox PC and laptops Microsoft Lumia Microsoft Band Microsoft HoloLens Microsoft Store View account Order tracking Retail store locations Returns Sales & support Downloads Download Center Windows downloads Windows 10 Apps Office Apps Microsoft Lumia Apps Internet Explorer Values Diversity and inclusion Accessibility Environment Microsoft Philanthropies Corporate Social Responsibility Privacy at Microsoft Company Careers About Microsoft Company news Investors Research Site map English (United States) Contact us Privacy & cookies Terms of use Trademarks About our ads © 2016 Microsoft ​