我应该如何处理从S3中获取大容量的共享文件并行进行批处理

我有一些在S3中的大文件 – 高达40G

我想要使​​用AWS Batch设置多个容器来处理每个文件 – 每个容器都会占用较小文件的一小部分并对其进行分析,并将其中的一小部分结果返回给S3。

由于大小,我不想为每个容器检索大文件的单个副本。

因为我在使用AWS Batch,所以底层服务器的数量和个体大小不一定是已知的(这取决于现货价格),所以将所有的栅格预拷贝到所有的服务器并不是一个好的select。

在某个时候,一个容器将被分配到一个文件的块,而这个文件还不在本地卷上 – 很容易复制,问题是, 当2个或更多个容器发现文件不存在时会发生什么,开始同时复制它?

所以,我的问题是:“什么是最好的模式来确保每个容器需要的文件在特定容器运行的主机上的共享卷上可用,而不会创build竞争条件和容器相互依赖关系?

TIA西蒙