Part I. Parallel and Distributed Programming Models
- Programming Paradigms
- Shared memory
- Message passing
- Workflows
- Development of parallel and distributed applications
- Design phases
- Common parallel patterns
- Performance metrics and profiling
- Optimizations techniques
- Mapping and scheduling
- State-o-the-art on parallel and distributed systems and applications
Part II. Cluster Computing
- Overview of Cluster Computing
- The Role of Clusters
- Definition and Taxonomy
- Distributed Computing
- Limitations
- Cluster Planning
- Architecture and Cluster Software
- Design Decisions
- Network Hardware
- Network Software
- Protocols
- Distributed File Systems
- Virtualization technologies
- Benchmarks
Part III. Grid Computing
- Introduction
- What is a grid?
- Infrastructure of hardware and software
- Main Projects and Applications
- The Open Grid Forum
- International Grid Trust Federation
- Grid Architecture
- Overview of Resource Managers
- Overview of Grid Systems
- Application Management
- Grid Application Description Languages
- Application Partitioning
- Meta-scheduling
- Mapping
- Monitoring
- Web Services
- Grid Portals
- Clouds