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. Increasingly, we also see the emergence of algorithmic Pareto frontiers, where getting better asymptotic time complexity for a problem requires getting worse asymptotic space complexity, and vice-versa. This tension implies that programmers will increasingly need to consider multiple algorithmic options to understand which is best for their particular problem. To help theorists and practitioners alike consider these trade-offs, we have created a reference for them at https://algorithm-wiki.csail.mit.edu.


翻译:算法研究主要关注处理器需要执行多少操作(时间复杂度)。然而对于许多问题,运行时间和能耗主要由内存访问决定。本文首次对算法进展如何改善内存使用(空间复杂度)进行了广泛综述。我们分析了计算机科学中118个最重要的算法问题,回顾了用于解决这些问题的800多种算法。研究结果表明,随着对内存访问性能瓶颈(“内存墙”)的担忧日益凸显,空间复杂度在近年变得愈发重要。在20%的案例中,我们发现针对大规模问题(n=10亿)的空间复杂度改进速度超过了DRAM访问速度的提升,这表明对于这些问题,在最小化内存访问延迟方面,算法进展比硬件进展发挥了更重要的作用。我们还日益观察到算法帕累托前沿的出现:要获得更好的渐近时间复杂度往往需要牺牲渐近空间复杂度,反之亦然。这种张力意味着程序员将越来越需要考虑多种算法选项,以确定最适合其特定问题的方法。为帮助理论研究者与实践者共同权衡这些取舍,我们在https://algorithm-wiki.csail.mit.edu创建了参考资源。

0
下载
关闭预览

相关内容

144页ppt《扩散模型》,Google DeepMind Sander Dieleman
专知会员服务
51+阅读 · 2025年11月21日
信息检索中模型架构综述
专知会员服务
19+阅读 · 2025年2月23日
LLM4SR:关于大规模语言模型在科学研究中的应用综述
专知会员服务
42+阅读 · 2025年1月9日
小型语言模型综述
专知会员服务
56+阅读 · 2024年10月29日
《计算流体力学中的机器学习最新进展》综述
专知会员服务
38+阅读 · 2024年8月24日
专知会员服务
38+阅读 · 2021年5月10日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
深度学习视频中多目标跟踪:论文综述
专知会员服务
95+阅读 · 2019年10月13日
基于深度学习的数据融合方法研究综述
专知
37+阅读 · 2020年12月10日
深度多模态表示学习综述论文,22页pdf
专知
33+阅读 · 2020年6月21日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Arxiv
176+阅读 · 2023年4月20日
A Survey of Large Language Models
Arxiv
501+阅读 · 2023年3月31日
Arxiv
83+阅读 · 2023年3月26日
Arxiv
182+阅读 · 2023年3月24日
Arxiv
27+阅读 · 2023年3月17日
VIP会员
最新内容
面向国防作战的最佳自主与蜂群无人机技术
专知会员服务
4+阅读 · 今天8:04
《异构人类团队的协作决策过程混合建模研究》
专知会员服务
4+阅读 · 今天7:59
博士论文 | 面向大模型推理的内存高效算法
专知会员服务
4+阅读 · 7月27日
美空军新型反无人机部队初探
专知会员服务
7+阅读 · 7月27日
《防空交战流程的概率建模研究》
专知会员服务
11+阅读 · 7月27日
ICML 2026 教程 | 数值优化理论还重要吗?
专知会员服务
7+阅读 · 7月26日
ICM 2026 | 陶哲轩:人工智能时代的数学
专知会员服务
10+阅读 · 7月26日
相关VIP内容
144页ppt《扩散模型》,Google DeepMind Sander Dieleman
专知会员服务
51+阅读 · 2025年11月21日
信息检索中模型架构综述
专知会员服务
19+阅读 · 2025年2月23日
LLM4SR:关于大规模语言模型在科学研究中的应用综述
专知会员服务
42+阅读 · 2025年1月9日
小型语言模型综述
专知会员服务
56+阅读 · 2024年10月29日
《计算流体力学中的机器学习最新进展》综述
专知会员服务
38+阅读 · 2024年8月24日
专知会员服务
38+阅读 · 2021年5月10日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
深度学习视频中多目标跟踪:论文综述
专知会员服务
95+阅读 · 2019年10月13日
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员