如何为 isilon 存储设置用户吞吐量限制
How to set limit to user throughput for isilon storage
用户可以 运行 在 condor 上使用多个进程并访问 isilon 存储。有些人可能会以其他人为代价滥用读取吞吐量。所以假设 isilon 可以处理 10GB/S 的读取速度。如果我有 3 个用户,每个用户有 100 个进程,每个进程都试图读取 1GB/S,那么其余的将严重不足。存在什么样的解决方案?单个主机限制不起作用,因为用户通读了 condor。
根据您的作业和系统的性质,在 HTCondor 中有多种方法可以做到这一点。
首先,您可以使用并发限制功能全局限制所有用户的 运行 作业数量。每个作业都需要声明它正在使用一定百分比的文件服务器带宽。在中央管理器配置中,您可以设置限制,比如
IPSILON_LIMIT = 1000
然后,每个工作都可以通过添加到他们的工作描述来声明他们使用了一定量的带宽
concurrency_limits = ipsilon:100
声明此作业将使用 1000 个可用总带宽中的 100 个。
当您的文件可以一次从远程文件服务器传输到本地临时目录,在本地操作,并在工作完成后传输回来时,第二种方法可以工作。如果这适合您的使用模型,您可以查看自定义文件传输插件。然后 HTcondor 会将文件从服务器复制到本地临时目录,但这些活动传输的数量可以按计划进行限制。
用户可以 运行 在 condor 上使用多个进程并访问 isilon 存储。有些人可能会以其他人为代价滥用读取吞吐量。所以假设 isilon 可以处理 10GB/S 的读取速度。如果我有 3 个用户,每个用户有 100 个进程,每个进程都试图读取 1GB/S,那么其余的将严重不足。存在什么样的解决方案?单个主机限制不起作用,因为用户通读了 condor。
根据您的作业和系统的性质,在 HTCondor 中有多种方法可以做到这一点。
首先,您可以使用并发限制功能全局限制所有用户的 运行 作业数量。每个作业都需要声明它正在使用一定百分比的文件服务器带宽。在中央管理器配置中,您可以设置限制,比如
IPSILON_LIMIT = 1000
然后,每个工作都可以通过添加到他们的工作描述来声明他们使用了一定量的带宽
concurrency_limits = ipsilon:100
声明此作业将使用 1000 个可用总带宽中的 100 个。
当您的文件可以一次从远程文件服务器传输到本地临时目录,在本地操作,并在工作完成后传输回来时,第二种方法可以工作。如果这适合您的使用模型,您可以查看自定义文件传输插件。然后 HTcondor 会将文件从服务器复制到本地临时目录,但这些活动传输的数量可以按计划进行限制。