How fast are algorithms reducing the demands on memory? A survey of progress in space complexity
Hayden Rome, Jayson Lynch, Jeffery Li, Chirag Falor, Neil Thompson

TL;DR
This survey examines how algorithmic improvements have increasingly focused on reducing memory usage, highlighting significant progress and trade-offs in space complexity over recent years, impacting performance and energy efficiency.
Contribution
It provides the first comprehensive review of space complexity progress across 118 problems and 800+ algorithms, emphasizing its growing importance in modern computing.
Findings
Space complexity improvements often outpaced hardware speed gains.
Emergence of Pareto frontiers indicating trade-offs between time and space.
Memory access bottlenecks are increasingly addressed through algorithmic innovations.
Abstract
Algorithm research focuses primarily on how many operations processors need to do (time complexity). But for many problems, both the runtime and energy used are dominated by memory accesses. In this paper, we present the first broad survey of how algorithmic progress has improved memory usage (space complexity). We analyze 118 of the most important algorithm problems in computer science, reviewing the 800+ algorithms used to solve them. Our results show that space complexity has become much more important in recent years as worries have arisen about memory access bottle-necking performance (the ``memory wall''). In 20% of cases we find that space complexity improvements for large problems (n=1 billion) outpaced improvements in DRAM access speed, suggesting that for these problems algorithmic progress played a larger role than hardware progress in minimizing memory access delays.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Big Data and Digital Economy · Distributed systems and fault tolerance
