Overview of the Lab 2 Assignment: Linux Scheduler Profiling

Slides:



Advertisements
Similar presentations
1 Interprocess Communication 1. Ways of passing information 2. Guarded critical activities (e.g. updating shared data) 3. Proper sequencing in case of.
Advertisements

EEE 435 Principles of Operating Systems Interprocess Communication Pt II (Modern Operating Systems 2.3)
Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü Multithreading the SunOS Kernel J. R. Eykholt, S. R. Kleiman, S. Barton, R. Faulkner,
E81 CSE 532S: Advanced Multi-Paradigm Software Development Chris Gill Department of Computer Science and Engineering Washington University in St. Louis.
Race Conditions. Isolated & Non-Isolated Processes Isolated: Do not share state with other processes –The output of process is unaffected by run of other.
Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads.
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
3-1 JMH Associates © 2004, All rights reserved Windows Application Development Chapter 9 Synchronization Performance Impact and Guidelines.
Multi-core Programming Thread Profiler. 2 Tuning Threaded Code: Intel® Thread Profiler for Explicit Threads Topics Look at Intel® Thread Profiler features.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Mutual Exclusion.
CSE 451: Operating Systems Section 5 Midterm review.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
Practice Chapter Five.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
Read-Copy-Update Synchronization in the Linux Kernel 1 David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis.
CSE 532: Lab 2 design overview Overview and Discussion of Lab 2 Design Expand the work from a single scene to entire play –I.e., process a sequence of.
Process Synchronization. Concurrency Definition: Two or more processes execute concurrently when they execute different activities on different devices.
Kernel Synchronization David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Tutorial 2: Homework 1 and Project 1
Animate objects and threads
Sarah Diesburg Operating Systems COP 4610
Background on the need for Synchronization
Processes and Threads Processes and their scheduling
Midterm Review David Ferry, Chris Gill
Computer Engg, IIT(BHU)
Department of Computer Science and Engineering
Intro to Processes CSSE 332 Operating Systems
Overview of the Lab 3 Assignment: Kernel Module Concurrent Memory Use
Semester Review Chris Gill CSE 422S - Operating Systems Organization
Linux Virtual Filesystem
Real-time Software Design
The Active Object Pattern
Designing Parallel Algorithms (Synchronization)
Introduction to pseudocode
Kernel Synchronization II
CSE 522S Advanced Operating Systems Course Introduction
Chapter 26 Concurrency and Thread
Half-Sync/Half-Async (HSHA) and Leader/Followers (LF) Patterns
COT 5611 Operating Systems Design Principles Spring 2012
Enforcing Real-Time Behavior I
Background and Motivation
Monitor Object Pattern
Parallelism and Concurrency
Dr. Mustafa Cem Kasapbaşı
Overall Kernel Module Design
Top Half / Bottom Half Processing
Testing and Debugging Concurrent Code
Kernel Synchronization I
Overview of the Lab 2 Assignment: Multicore Real-Time Tasks
Threads and Concurrency
Semester Review Brian Kocoloski
Kernel Synchronization II
Userspace Synchronization
Chris Gill CSE 522S – Advanced Operating Systems
Linux Block I/O Layer Chris Gill, Brian Kocoloski
CSE 153 Design of Operating Systems Winter 19
CSE 153 Design of Operating Systems Winter 2019
CS333 Intro to Operating Systems
Scheduling Classes and Real-Time Scheduling in Linux
Department of Computer Science and Engineering
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
CSE 153 Design of Operating Systems Winter 2019
CSE 451 Section 1/27/2000.
Processes David Ferry, Chris Gill, Brian Kocoloski
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.4810/EECE.5730 Operating Systems
Threads CSE451 Andrew Whitaker TODO: print handouts for AspectRatio.
Shared Memory David Ferry, Chris Gill
Chapter 3: Process Management
Presentation transcript:

Overview of the Lab 2 Assignment: Linux Scheduler Profiling James Orr, Chris Gill CSE 422S - Operating Systems Organization Washington University in St. Louis St. Louis, MO 63143

Experiment Configuration We will pin a number of threads on each core (enough to examine scheduler differences in various ways) Threads will access a common shared data structure Grabbing a new number at the start of each “round” Incrementing (safely) a variable pointing to next number Cubing the selected number over and over again Very basic functionality Synthetic workload Interleaving simple steps Configurable experiments Shared data CSE 422S – Operating Systems Organization

User Space Program You can use any language you like (e.g. C++) … … as long as it can do what is required Thread creation and binding to cores Synchronization Appropriate setting of scheduler, priorities spinning sleeping Run your program repeatedly In different configurations Analyze and show the results Give instructions for how to run So we can reproduce your trials So we can try other variations CSE 422S – Operating Systems Organization

CSE 422S – Operating Systems Organization Concurrency Behavior All threads should first barrier synchronize May need condition variable for sleep version No thread starts cubing until all are ready Afterward, threads should run concurrently As soon as all threads are ready, they should run concurrently, each doing rounds of iteratively cubing a number Synchronization while cubing Need to avoid data races, especially when updating variables other threads can read Make critical sections as short as possible (“lock data, not code”) Avoid unnecessary sharing of variables (use stack variables as needed) Lock access to variables that must be shared CSE 422S – Operating Systems Organization

CSE 422S – Operating Systems Organization Lab Write-up As you work, record your observations along with answers to the questions posed in the lab assignment It’s a good idea to read the entire assignment and plan a bit before starting to work on it Write a cohesive report that analyzes, integrates, and offers explanations for what you observed Make connections among different parts of the assignment Compare and contrast different schedulers behaviors Identify how different factors affected scheduler behaviors CSE 422S – Operating Systems Organization