Designing and Debugging Scaleable Multithreaded Applications
Course Code: U3715S
Length: 4 days
Schedule and Registration
This course is not currently scheduled.
Course Description
This course provides advanced training in the design, development, troubleshooting, and repair of multithreaded applications designed to run on Tru64 UNIX and OpenVMS operating systems. This course teaches how to use the standard POSIX Pthreads interface effectively through a solid understanding of the interfaces, threading models, synchronization, and scheduling. Methods to design and develop reliable, high-performance multithreaded applications are emphasized.
Common pitfals and risks are discussed throughout, with the emphasis on designing and implementing applications correctly so as to avoid defects and performance problems in new applications, as well as detecting, analyzing, and repairing defects and problems in existing programs.
Who Should Attend
Software engineers who develop and support multithreaded software applications on the Tru64 UNIX and OpenVMS operating systems.
Prerequisites
Students should be able to use standard OpenVMS or Tru64 UNIX commands, program in ANSI standard C, use a debugger, and develop and understand basic programs using POSIX Pthreads.
Benefits of Attending this Class
Upon completion of this course, students should be able to:
- Describe program concurrency, parallelism, and synchronization and their implementation in POSIX Pthreads
- Describe the advantages and drawbacks of developing applications using POSIX Pthreads
- Design multithreaded applications to get the best performance
- Avoid, detect, and repair common multithreaded program defects
- Perform source-level debugging, profiling, and execution using facilities such as the ladebug and Visual Threads debugger
- Describe the considerations when using hp Tru64 UNIX or OpenVMS along with general portability concerations
Course Contents
- Introduction to Threads
- Pthread Management Essentials
- POSIX Synchronization
- Advanced Thread Programming
- Thread Exceptions, Termination and Cancellation
- Thread Scheduling
- Threads and Client/Server Computing
- Tru64 UNIX and OpenVMS Considerations
- Thread Debugging and Profiling