5 day Real-time and Parallel Computing workshop: 21st August- 24 August 2017
Introduction to Operating Systems principles, Real-time concepts and programming in multi-process environment for non-computer scientists
By the end of this workshop the participants will learn about:
- Concurrency: processes vs. threads
- Inter process communication: data pools, pipe-lines and message queues
- Synchronization principles: mutexes and semaphores, critical sections and monitors
- Deadlock and Starvation: detections and solutions
- Operating System Scheduling: interrupts, priorities and Rate Monotonic Scheduling
The topics will be presented via examples and discussions. The afternoon sessions will have hands on tutorials with exercises to practice the concepts discussed.
Prerequisites: knowledge C++ is helpful for the tutorials.
Venue: Software Systems Center, Block B, College of Computing & IT, Makerere University
Roozbeh Mehrabadi,Engineering Services Applied Sciences | Electrical and Computer Engineering The University of British Columbia | Vancouver Campus 2356 Main Mall | Vancouver BC | V6T1Z4 Canada
Roozbeh has been working with SOC group since the year 2000. He is interested in re-programmable fabrics, structured logic arrays, CAD related algorithms, testing and design for testability issues. He is also interested in CAD tools and design flows to support SoC research.
Monday: AM Motivation and introduction to Parallel computing: Processes and Threads
PM tutorials: Multi-Tasking with Multiple processes, Multi-Tasking using Threads, Using Active Classes
Tuesday: AM Inter Process communication: Datapools, Pipelines, Mailboxes, Sockets etc.
PM tutorials: Inter Process communication using Datapools and Pipelines
Wednesday: AM Process Synchronization cunstructs: semaphores, mutexes, monitors, events, conditions and rendezvous’
PM tutorials: Synchronization Using: Rendezvous, Condition Variables, Event Variables, The Readers Writers Problem
Thursday: AM Deadlock and Starvation, Modeling and Avoidance, Recovery and Prevention
PM tutorials: Mutual Exclustion with synochronization, the Readers/Writers problem and using a monitor
Friday: AM: Programming for RealTime applications, priority and rate monotonic scheduling.
PM: tutorial reviews and closing remarks
Start at 9am (or 9:30 if planned) with 50min sessions and 10-15 min breaks.
Lunch from 12:15 pm to 2:15 pm
Resume sessions (tutorials at 2:15 till 4 pm ( with 10 or 15 minutes break in the middle )