x

Reader 1: Introduction
PDF Chapter 6 (Sections 6.1 & 6.2) of Hennessy & Patterson's Computer Architecture
PDF Smith, Alan Jay. The task of the referee. Computer 23.4 (1990)
Reader 2: Project
PDF Platt, John R. Strong Inference: Certain systematic methods of scientific thinking may produce much more rapid progress than others. science 146.3642 (1964)
Reader 3: Evaluation
PDF Gupta, Udit, et al. Chasing carbon: The elusive environmental footprint of computing
PDF Wunderlich, Roland E., et al. SMARTS: Accelerating microarchitecture simulation via rigorous statistical sampling. Proceedings of the 30th annual international symposium on Computer architecture.
Reader 4: Parallel Software Construction I
PDF Chapter 1.2 of Culler, D., Singh, J. P., & Gupta, A. (1999). Parallel computer architecture: a hardware/software approach.
Reader 5: Parallel Software Construction II
PDF Paszke, Adam, et al. Pytorch: An imperative style, high-performance deep learning library.
PDF Birrell, Andrew D., and Bruce Jay Nelson. Implementing remote procedure calls
Reader 6: Coherence
PDF Background: Chapter 6 and 7 of Nagarajan, Sorin, Hill, Wood's A Primer on Memory Consistency and Cache Coherence
PDF Background slides from CS-307 regarding coherence
PDF Moshovos, Andreas, et al. JETTY: Filtering snoops for reduced energy consumption in SMP servers
PDF Ferdman, Michael, et al. Cuckoo directory: A scalable directory for many-core systems
Reader 7: Memory Ordering
PDF Background slides from CS-307 regarding hardware memory reordering
PDF Background slides from CS-307 regarding compiler memory reordering
PDF Adve, Sarita V., and Kourosh Gharachorloo. Shared memory consistency models: A tutorial
PDF Blundell, Colin, Milo MK Martin, and Thomas F. Wenisch. Invisifence: performance-transparent memory ordering in conventional multiprocessors
Reader 8: CMP Caches
PDF Chapter 2 of Balasubramonian, Jouppi & Muralimanohar's Multi-Core Cache Hierarchies
PDF Xie, Yuejian, and Gabriel H. Loh. PIPP: Promotion/insertion pseudo-partitioning of multi-core shared caches
PDF Hardavellas, Nikos, et al. Reactive NUCA: near-optimal block placement and replication in distributed caches
Reader 9: Interconnects I
PDF Chapter 10.1 and 10.2 of Culler, D., Singh, J. P., & Gupta, A. (1999). Parallel computer architecture: a hardware/software approach.
Reader 10: Interconnects II
PDF Chapter 1, 2, and 7 of Jerger & Peh's On-Chip Networks
Reader 11: DRAM Caches
PDF Volos, Stavros, et al. Fat caches for scale-out servers
PDF Sodani, Avinash, et al. Knights landing: Second-generation Intel XEON Phi product
Reader 12: GPU and Multithreading
PDF Background slides from CS307 regarding GPU introduction
PDF Background slides from CS307 regarding GPU programming
PDF Chapter 1 and 2 of Nemirovsky & Tullsen's Multithreading architecture
PDF Choquette, Jack. Nvidia hopper h100 gpu: Scaling performance
Reader 13: Workload I
PDF Ferdman, Michael, et al. Clearing the clouds: a study of emerging scale-out workloads on modern hardware
PDF Gan, Yu, et al. An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems
Reader 14: Workload II
PDF Ustiugov, Dmitrii, et al. Benchmarking, analysis, and optimization of serverless function snapshots
PDF Reddi, Vijay Janapa, et al. Mlperf inference benchmark
Reader 15: Servers
PDF Dean, Jeffrey, and Luiz André Barroso. The tail at scale. Communications of the ACM 56.2 (2013): 74-80.
PDF Barroso, Luiz, et al. Attack of the killer microseconds. Communications of the ACM 60.4 (2017): 48-54.
Reader 16: Cloud-Native CPUs
PDF Lotfi-Kamran, Pejman, et al. Scale-out processors
PDF Lotfi-Kamran, Pejman, Boris Grot, and Babak Falsafi. NOC-Out: Microarchitecting a scale-out processor
Reader 17: Cloud-Native Acclerators
PDF Biswas, Arijit, and Sailesh Kottapalli. Next-Gen Intel Xeon CPU-Sapphire Rapids
PDF Kocberber, Onur, et al. Meet the walkers: Accelerating index traversals for in-memory databases
Reader 18: AI Acclerators
PDF Jouppi, Norman P., et al. Ten lessons from three generations shaped google's tpuv4i
PDF Drumond, Mario, et al. Equinox: Training (for free) on a custom inference accelerator
Reader 19: Near-Memory Computing
PDF Drumond, Mario, et al. The mondrian data engine
PDF Aga, Shaizeen, Supreet Jeloka, Arun Subramaniyan, Satish Narayanasamy, David Blaauw, and Reetuparna Das. Compute caches.
Reader 20: Cloud-Native Memory I
PDF Li, Huaicheng, et al. Pond: CXL-based memory pooling systems for cloud platforms
PDF Ousterhout, John, et al. The case for RAMClouds: scalable high-performance storage entirely in DRAM.
Reader 21: Cloud-Native Memory II
PDF Gupta, Siddharth, et al. Rebooting virtual memory with Midgard
PDF Bhattacharyya, Atri, et al. Securecells: A secure compartmentalized architecture.
Reader 22: Cloud-Native Networks I
PDF Daglis, Alexandros, Mark Sutherland, and Babak Falsafi. RPCValet: NI-driven tail-aware balancing of µs-scale RPCs
PDF Sutherland, Mark, et al. The NeBuLa RPC-optimized architecture
Reader 23: Cloud-Native Networks II
PDF Karandikar, Sagar, et al. A hardware accelerator for protocol buffers.
PDF Pourhabibi, Arash, et al. Cerebros: Evading the rpc tax in datacenters
Reader 24: Datacenters
PDF Chapter 1 and 2 of Barroso & Hölzle's The Datacenter as a Computer - An Introduction to the Design of Warehouse-Scale Machines