wget - クラスタ内の複数のノードから複数のファイルをダウンロードします。

wget - クラスタ内の複数のノードから複数のファイルをダウンロードします。

こんにちは。正確には、279個のファイルを一度にダウンロードしようとしています。それぞれはBAMサイズです(〜90GB)。私が作業しているクラスタには複数のノードがあり、幸いにも一度に複数のインスタンスを割り当てることができます。

このような状況では、wgetバッチファイル(バラより以下の例)独立した実行のために各ダウンロードを別々のノードに割り当てます。

バッチファイル.txt

<https_link_1> -O DNK07.bam
<https_link_2> -O mixe0007.bam
<https_link_3> -O IHW9118.bam
.
.

原則として、これにより速度が速くなるだけでなく、実行失敗も防止できます。なぜなら、この実行の停止時間は24時間であり、すべてのファイルを1台のコンピュータにダウンロードするのに十分長くないからです。

私のBASHスクリプトは次のとおりです。

#!/bin/bash
#
#SBATCH --nodes=279 --ntasks=1 --cpus-per-task=1
#SBATCH --time=24:00:00
#SBATCH --mem=10gb
#
#SBATCH --job-name=download
#SBATCH --output=sgdp.out
##SBATCH --array=[1-279]%279
#
#SBATCH --partition=<partition_name>
#SBATCH --qos=<qos_type>
#
#SBATCH --account=<user_account>

#NAMES=$1
#d=$(sed -n "$SLURM_ARRAY_TASK_ID"p $NAMES)

wget -i sgdp-download-list.txt

ご覧のとおり、私はarray job(動作しているかどうかわからない)使用を検討しています。あるいは、279個のノードを割り当てることを検討しており、SLURMが各ダウンロードを別々のノードに送信するのに十分スマートであることを願っています(わかりません... .. .)。効果的な方法を知っているなら、どんな提案でも歓迎します。よろしくお願いします!

答え1

wgetSLURMにリストとして送信できるように、コマンドを複数のコマンドに展開します。

while IFS= read -r url; do 
  printf 'wget "%s"\n' "$url"
done < sgdp-download-list.txt > wget.sh

または、最初にコマンドが欠落しているリストがある場合(あなたの例で提案されているように)、以下を使用してくださいsgdp-download-list.txtwgetwget

sed 's/^/wget /' sgdp-download-list.txt > wget.sh

その後、wget.sh課題として提出してください。

答え2

フレームワークチャレンジ

25TBのダウンロードについて話しています。ノードを取得することが心配の中で最も少ないことがわかります。同じリモートサイトにいる場合、リモートサイトにもCPUの問題がある可能性があります。さらに、ネットワーク帯域幅も問題です。パイプラインからこのダウンロードをインポートしようとすると、インポートするノードの数は実際には重要ではありません。パイプラインが制限になります。

しかし、wgetは特にCPUをあまり使用しません。 CPUに関する限り、1つのノードで10個のプログラムを並列に実行することは問題になりません。

これが定期的なアクティビティである場合は、デルタをダウンロードできることを確認することをお勧めします。

選ぶ

ユーズネットに関する古いジョークがあります。誰かがロサンゼルスからサンフランシスコに毎日大量のデータを送信するための最良の方法は何ですか?答え:アップ。ネットワーク速度は増加しましたが、ボリュームも増加しました。 Amazonはこの点に留意しています。データをロードするボックスを出荷してから、再配送してクラウドに入れることができます。

答え3

@terdonさん、@David Gさん、こんにちは。

回答が遅すぎてすみません。最後に、クラスタのテクニカルサポートでは、データ移動ノードを使用してリンクが期限切れになるまでダウンロードを継続する一時的な方法をお勧めします。

その後、再生成してプロセスを再起動します。全体的に最速の処理ではなかったのですが(1週間ほどかかります)、ダウンロードされるデータの量が多くて悪くはありませんでした!

関連情報