MRI-FSL pipeline 多进程并发和并发数控制

shell脚本并发

在MRI预处理pipeline串行执行非常耗时, 非常有必要将pipeline并行化. 在linux环境下, 并行计算可以有多种实现方法. 例如在shell中通过转入后台的方式, 或者用xargs多进程并发, 还可以用fifo管道实现并行, 也可以用linux环境下的一些并行计算工具, 例如parellel实现并行.

FSL并行计算

首先FSL就支持并行计算, 这个命令是fsl_sub.

转入后台

shell的元字符&提供了在后台运行不需要键盘输入的程序的方法。输入命令后,其后紧跟&字符,该命令就会被送往到linux后台执行,而终端又可以继续输入下一个命令了。
因此,最简单的并行化方法就是:&+wait
例如如下面的代码, 串行执行大约需要10秒

#!/bin/bash
for ((i=1;i<=3;i++)); do
{
	sleep 3
	echo "Done"
}
done

改为下面的简单并行代码,可将运行时间压缩到3秒左右

#!/bin/bash
for ((i=1;i<=3;i++)); do
{
   sleep 3
   echo "Done"
}&
done
wait

备注

ubuntu如何查看内存和系统资源的使用情况, 可以使用命令:

gnome-system-monitor

弹出管理界面:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值