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