mre*_*cer 3 parallel-processing jobs scalability mapreduce batch-file
我有一个需要在很多文件(1000's)上调用的函数.每个都独立于另一个,可以并行运行.每个文件的函数输出不需要与其他文件组合(当前).我有很多服务器可以扩展,但我不知道该怎么做:
1)在其上运行MapReduce
2)创建1000个作业(每个作业都有不同的文件).
一种解决方案会优于另一种吗?
谢谢!
MapReduce将为分发大型数据集工作负载提供重要价值.在您的情况下,在小型独立数据文件上进行较小的独立工作,在我看来,这可能是过度的.
所以,我更喜欢运行一堆动态创建的批处理文件.
或者,使用集群管理器和作业调度程序,如SLURM https://computing.llnl.gov/linux/slurm/
SLURM:高度可扩展的资源管理器
SLURM是一个开源资源管理器,专为各种规模的Linux集群而设计.它提供三个关键功能.首先,它在一段时间内向用户分配对资源(计算机节点)的独占和/或非独占访问,以便他们可以执行工作.其次,它提供了一个框架,用于在一组分配的节点上启动,执行和监视工作(通常是并行作业).最后,它通过管理待处理工作的队列来仲裁资源争用.