CMSC 191: Special Topics
Scalable Computing Infrastructure for Cloud, Artififial Intelligence, and High-Performance Systems
CMSC 191: Special Topics
Scalable Computing Infrastructure for Cloud, Artififial Intelligence, and High-Performance Systems
This course explores the infrastructure technologies underlying modern cloud computing, artificial intelligence platforms, and high-performance distributed systems. Topics include client-server architectures, virtualization, containers, orchestration systems, distributed storage, cluster schedulers, GPU computing infrastructure, monitoring systems, automation frameworks, and scalable deployment strategies. Students gain hands-on experience deploying and managing multi-node computing environments that support web services, distributed applications, and AI workloads.
By the end of the course, students should be able to:
Explain the architectural principles of scalable computing infrastructure.
Deploy and administer Linux-based client/server systems.
Configure network infrastructure and distributed storage services.
Build and manage virtualized and containerized environments.
Deploy distributed applications using orchestration frameworks.
Monitor, automate, and secure multi-node infrastructures.
Understand the infrastructure requirements of AI and HPC workloads.
Design integrated scalable computing environments for real-world applications.
Topics:
Evolution of computing infrastructure
Client/server systems
Distributed systems overview
Cloud, HPC, and AI infrastructure
Infrastructure engineering roles
Linux ecosystem overview
Hands on:
Linux server setup
VM provisioning using VirtualBox/KVM
Multi-node virtual network setup
Topics:
Linux system architecture
systemd services
User and group management
Package management
Process management
Remote administration with SSH
Hands on:
SSH key-based authentication
Service management
Multi-user server configuration
Topics:
DNS fundamentals
DHCP services
NTP/chrony
Hostname resolution
Infrastructure dependency chains
Hands on:
Configure DNS server
Configure DHCP server
Configure NTP synchronization across nodes
Topics:
HTTP architecture
Web servers (NGINX/Apache)
Reverse proxies
TLS/SSL certificates
Application servers
Load balancing concepts
Hands on:
Deploy NGINX reverse proxy
HTTPS configuration
Host multiple services on one server
Topics:
NFS and distributed file systems
Object storage concepts
Database servers
Storage scalability
Data consistency and replication
Hands on:
Configure NFS server
PostgreSQL deployment
Shared storage across compute nodes
Topics:
Hypervisors and virtualization
KVM/QEMU concepts
Containers vs virtual machines
Docker/Podman
Container images and registries
Hands on:
Build container images
Deploy multi-container applications
VM and container networking
Topics:
Kubernetes architecture
Pods, deployments, and services
Cluster scheduling
Persistent volumes
Service discovery
Hands on:
Deploy local Kubernetes cluster
Deploy scalable web applications
Kubernetes networking and storage
Topics:
Infrastructure automation principles
Configuration management
Ansible
CI/CD fundamentals
Automated deployment pipelines
Hands on:
Ansible playbooks
Automated multi-node configuration
Continuous deployment exercises
Topics:
Monitoring fundamentals
Metrics and telemetry
Prometheus and Grafana
Centralized logging
Alerting systems
Hands on:
Build monitoring dashboard
Configure node exporters
Log aggregation setup
Topics:
Firewalls and access control
VPN concepts
Certificates and PKI
Backup and recovery
Fault tolerance and redundancy
Hands on:
Configure firewall policies
Secure remote access
Backup and restoration exercises
Topics:
GPU computing overview
AI training infrastructure
Distributed deep learning systems
HPC clusters
Slurm and job scheduling
Distributed communication systems
Hands on:
GPU workload deployment
Slurm job submission
Distributed training demonstration
Topics:
Cloud computing architecture
Public vs private cloud
Infrastructure elasticity
Cloud storage and networking
Hybrid infrastructure concepts
Cost-aware infrastructure engineering
Hands on:
Cloud VM deployment
Cloud-native application deployment
Scalable service configuration
The course naturally prepares students for:
DevOps Engineer
Site Reliability Engineer
Cloud Engineer
Platform Engineer
Infrastructure Engineer
Systems Administrator
HPC Systems Engineer
MLOps Engineer
AI Infrastructure Engineer
Backend Infrastructure Developer