Caching 无论在何处运行都会产生相同输出的脚本的词汇表

Caching 无论在何处运行都会产生相同输出的脚本的词汇表,caching,hash,memoization,singularity-container,binary-reproducibility,Caching,Hash,Memoization,Singularity Container,Binary Reproducibility,我想要一些关于用什么词汇来描述以下内容的建议。拥有正确的词汇表将允许我搜索与概念相关的工具和想法 我想说的是,不管脚本在哪里运行,它都会产生相同的输出 例如,以下脚本是而不是SomeWord: #!/bin/bash ls ~ 因为这当然取决于它在哪里执行 然而,以下内容(如果运行时没有错误)总是会产生相同的输出: #!/bin/bash echo "hello, world" 一个更有用的例子是加载和运行docker或singularity容器,确保使用非常特殊的容器映像。例如,通过内容散

我想要一些关于用什么词汇来描述以下内容的建议。拥有正确的词汇表将允许我搜索与概念相关的工具和想法

我想说的是,不管脚本在哪里运行,它都会产生相同的输出

例如,以下脚本是而不是SomeWord:

#!/bin/bash
ls ~
因为这当然取决于它在哪里执行

然而,以下内容(如果运行时没有错误)总是会产生相同的输出:

#!/bin/bash
echo "hello, world"
一个更有用的例子是加载和运行docker或singularity容器,确保使用非常特殊的容器映像。例如,通过内容散列检索奇点图像


SomeWord脚本的优点是:(a)它们可以安全地在远程系统上运行,而不必担心环境问题;(b)它们的输出可以缓存。

我能想到的最好方法是“确定性”或“环境无关”或“可复制”的一些变体

任何容器都应该能够做到这一点,因为这是该技术发展的主要原因。像这样的环境管理者也可以在一定程度上做到这一点,但因为它只是修改主机环境,所以有可能在没有意识到的情况下使用非conda二进制文件