CS 260.2, Spring 2008
Advanced Execution Systems for Reliable
High-Performance Computing
Instructor: Rajiv Gupta
Office: 408 EBU II
Tele: 951-827-2558
Email: gupta@cs.ucr.edu
Meeting Times: 2:10-3:30 PM, Monday - Wednesday; HMNSS 1407
Office Hours: 1:00-2:00 PM, Monday - Wednesday
Class Homepage: http://www.cs.ucr.edu/~gupta/teaching/260-08
|
Course Description
In this course we will study recent innovations in the development of Advanced Execution Systems
(AESs) that support sophisticated means for dynamically monitoring and analyzing program behavior.
The tracing, checkpointing, and dynamic analysis capabilities of such systems are used to detect
opportunities for enabling high-performance as well as achieve reliability via detecting and
overcoming anomolous behavior. We will discuss how efficient monitoring and dynamic analysis can
be used for variety of tasks such as speculative parallelization and optimization of programs,
fault location and avoidance, software security etc. We will consider the challenges of building
efficient AESs for high-performance parallel systems by considering OS and architectural support.
List of Topics (click to see the Reading List)
Monitoring Program Executions
Dynamic Binary Translation Enabled Profiling
Checkpointing/Logging & Replay Systems
Online vs Offline Dynamic Analysis
High-Performance Systems
Speculative Optimization and Parallelization
Enhancing Memory Performance
Multicores & Specialized Architectures
Reliable Computing - Surviving Failures
Fault Avoidance in Servers
High-Performance Computing & Checkpointing
Software Security & Debugging
Dynamic Information Flow Tracking & Buffer Overflow Exploits
Automated Fault Location & Correction
|
Relevant Conferences and Journals in
Software Engineering, Programming Languages and Compilers,
Computer Architecture & Operating Systems.
- FSE, ESEC-FSE - ACM SIGSOFT Symposium on Foundations of Software Engineering
- ICSE - SIGSOFT/IEEE International Conference on Software Engineering.
- ASE - IEEE International Conference on Automated Software Engineering.
- ICSM - IEEE International Conference on Software Maintenance.
- PASTE - ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and
Engineering.
- ISSTA - ACM SIGSOFT International Symposium on Software Testing and Analysis.
- PLDI - ACM SIGPLAN Conference on Programming Language Design and Implementation.
- POPL - ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages.
- AADEBUG - International Symposium on Automated and Analysis-Driven Debugging.
- TACAS - International Conference on Tools and Algorithms for Construction and
Analysis of Systems.
- SPIN - International SPIN Workshop on Model Checking of Software.
- TSE - IEEE Transactions on Software Engineering.
- JASE - Journal of Automated Software Engineering.
- TOSEM - ACM Transactions on Software Engineering and Methodology.
- TOPLAS - ACM Transactions on Programming Languages and Systems.
- JSTVR - Journal of Software Testing, Verification and Reliability.
- TACO - ACM Transactions on Architecture and Code Optimization.
- ISCA - International Symposium on Computer Architecture.
- MICRO - IEEE/ACM International Symposium on Microarchitecture.
- HPCA - International Symposium on High-Performance Computer Architecture.
- DSN - International Conference on Dependable Systems and Networks.
- ASPLOS - International conference on Architectural Support for Programming Languages and operating Systems.
- HiPEAC - International Conference on High Performance Embedded Architectures and Compilation.
- OSDI - USENIX Symposium on Operating Systems Design and Implementation.
- SOSP - ACM Symposium on Operating Systems Principles.
- USENIX - USENIX Annual Technical Conference.
Course Requirements
- Lead discussion of papers in the class.
- Project (to be done in groups): Report and Presentation.
- Attendance and class participation.