Cumulative memory -- the sum of space used per step over the duration of a computation -- is a fine-grained measure of time-space complexity that was introduced to analyze cryptographic applications like password hashing. It is a more accurate cost measure for algorithms that have infrequent spikes in memory usage and are run in environments such as cloud computing that allow dynamic allocation and de-allocation of resources during execution, or when many multiple instances of an algorithm are interleaved in parallel. We prove the first lower bounds on cumulative memory complexity for both sequential classical computation and quantum circuits. Moreover, we develop general paradigms for bounding cumulative memory complexity inspired by the standard paradigms for proving time-space tradeoff lower bounds that can only lower bound the maximum space used during an execution. The resulting lower bounds on cumulative memory that we obtain are just as strong as the best time-space tradeoff lower bounds, which are very often known to be tight. Although previous results for pebbling and random oracle models have yielded time-space tradeoff lower bounds larger than the cumulative memory complexity, our results show that in general computational models such separations cannot follow from known lower bound techniques and are not true for many functions. Among many possible applications of our general methods, we show that any classical sorting algorithm with success probability at least $1/\text{poly}(n)$ requires cumulative memory $\tilde \Omega(n^2)$, any classical matrix multiplication algorithm requires cumulative memory $\Omega(n^6/T)$, any quantum sorting circuit requires cumulative memory $\Omega(n^3/T)$, and any quantum circuit that finds $k$ disjoint collisions in a random function requires cumulative memory $\Omega(k^3n/T^2)$.
翻译:累积内存——计算过程中每一步所占用空间的累积和——是一种细粒度的时间-空间复杂度度量,最初为分析密码哈希等密码学应用而引入。对于内存使用存在偶发峰值、且在云计算等允许运行时动态分配与释放资源的环境中执行的算法,或当同一算法的多个实例并行交织运行时,累积内存是更准确的成本度量。我们证明了首个针对经典序列计算和量子电路的累积内存复杂度的下界。此外,我们基于标准的时间-空间权衡下界证明范式(该范式仅能下界执行期间使用的最大空间)进行扩展,开发了用于约束累积内存复杂度的一般性方法。由此获得的累积内存下界与已知常为紧界的最佳时间-空间权衡下界同样强。尽管先前在石子游戏和随机谕言模型中的结果表明时间-空间权衡下界可能大于累积内存复杂度,但我们的工作显示:在一般计算模型中,此类分离无法通过已知下界技术实现,且对许多函数并不成立。在我们通用方法的众多可能应用中,我们证明:任何成功概率至少为 $1/\text{poly}(n)$ 的经典排序算法需要累积内存 $\tilde \Omega(n^2)$,任何经典矩阵乘法算法需要累积内存 $\Omega(n^6/T)$,任何量子排序电路需要累积内存 $\Omega(n^3/T)$,任何在随机函数中寻找 $k$ 个不相交碰撞的量子电路需要累积内存 $\Omega(k^3n/T^2)$。