Utilizing Shared Resources Challenges in Computational Projects Introduction Storage Limitations Accessibility and Data Movement Working with Large Datasets Computational Constraints Task Multiplicity & Parallelism Transparency & Reproducibility Primer on Computer Universal Turing Machine Z3 Computer The Stored-program Computer The Transistor Computer Integrated Circuits & MOSFET Microprocessors The scaling laws Physical limits The Power Wall From Megahertz to Teraflops How kept computational power growing? Challenges Efficiency through complexity Concurrency Definition Issues & Challenges Parallelism Processes vs. Threads vs. Coroutines Architectural Levels of Parallelism From Concurrency to Service Multitenancy Resource sharing as a Service as a Service Usage & Origins Infrastructure as a Service HPC as a Service Storage as a Service Virtualization Types Virtual Machine (VM) The Cloud Cloud Computing Schema Cloud Features Cloud Operating System HPC Clusters HPC Cluster Schema HPC Cluster Features Slurm Cluster Architecture Distributed Storage Types of Cloud Storage Terminology Cluster High Performance Computing (HPC) The “Shared” Reality Slurm Cloud Operating System Virtualization Container Dockerfile