Synopsis
 
What does the infrastructure for Google, Facebook, Amazon, Microsoft, Twitter look like? How to make our codes/programs run faster: on multiple CPU cores, multiple computers, different computers all around the world?  What are the principles behind supercomputers? 
Relevance of the Topic
 
 High-Performance Computing Applications include
o Reinforcement Learning, Deep Learning, Machine Learning, Federated Learning
o Artificial Intelligence
o Big Data
o Cyber Security
o Simulations
 
 
Future Research/Scope
 
Masters and PhD opportunities abroad may include usage of high-performance computers.
 
Skills Learned
 
- Federated Learning: Collaborative Machine Learning
 - Exposure to various concepts related to Parallel, Distributed, and High-Performance Computing (HPC)
 
 
Relevant courses to the topic
 
- Advanced Programming in UNIX
 - Automata and Computability
 - Blockchain and Cryptocurrencies
 - Cloud Computing
 - Compiler Design
 - Computer Networks
 - Cybersecurity
 - Database Systems
 - Enterprise and Software Architecture
 - Fault Tolerant System
 - Internet of Things (IoT)
 - Operating Systems
 - Parallel, Distributed, and High-Performance Computing (HPC)
 - Serverless and Microservices
 - Simulation and Modeling
 
 
Reading List
 
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann
 - Distributed Systems by Maarten van Steen and Andrew S. Tanenbaum
 - Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services by Brendan Burns
 - Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures by Neal Ford, Mark Richards, et al.
 - Database Internals: A Deep Dive into How Distributed Data Systems Work by Alex Petrov
 - Building Event-Driven Microservices: Leveraging Organizational Data at Scale by Adam Bellemare
 - Security Engineering: A Guide to Building Dependable Distributed Systems by Ross Anderson
 - Site Reliability Engineering: How Google Runs Production Systems by Jennifer Petoff, Niall Murphy, et al.
 - Building Microservices: Designing Fine-Grained Systems by Sam Newman
 - Terraform: Up and Running: Writing Infrastructure as Code by Yevgeniy Brikman