Andrew Chien - UpDown Project
There’s plenty of room at the Top: What will drive computer performance after Moore’s law? https://www.science.org/doi/10.1126/science.aam9744
- Problem: Co-design (customization) often produces "high-Q" accelerators
- Hardware for software has been customization focused
- Most accelerators are high-Q filters
- CPU: must have lots of data reuse for CPU to be "high performance"
- GPU: must have data parallelism, regular control, lots of reuse, dense matrix operations (small) - to get "high performance"
- TPU: must have dense matrix operations (large) - to get "high performance"
- Impact of Hi-Q systems on software and algorithms:
- Existing programs don't run well - need new software
- Many algorithms & data structures don't match the structure (don't use, even if they're good)
- Hierarchical parallelism, irregular parallelism
- Conditional control, irregular memory access, low data resuse
- Interesting data movement (doesn't match prefetcher)
- Don't match the machine
- Hardwired specific formats and operations
- "Restructure" computation to match → programming complexity
- Many algorithms & data structures don't match the structure (don't use, even if they're good)
- Worse - destroys software portability
- Tuned for one platform's "Q", not generally
- Death of general-purpose multi-platform software?
- Existing programs don't run well - need new software
- Accelerator for top of stack software innovation?
- Lower Q, but still high performance
- Enables software and algo innovation for even higher performance

- UpDown approach: orthogonalize program development
- UpDown makes it easy to express and manage max parallelism
- Efficient parallelism mechanisms - fine grained, natural vertex/edge parallelism
- Global naming enables separate expression of computation
- Flexible tuning of data layout, efficient translation
- Makes tuning and interactive exploration efficient
- UpDown makes it easy to express and manage max parallelism
- Key aspects of UpDown programming view:
