問題タブ [checkpoint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - デーモンからのエラー応答: コンテナ CONTAINERID をチェックポイントできません: CRIU コマンドを実行できません: criu
Ubuntu 14.04 に docker 1.10.0-dev を正常にインストールした後。いくつかの不具合に気づきました。docker-dev:cr-combined イメージからコンテナーを作成できませんでした。Ubuntu イメージに基づく単純なコンテナーのチェックポイントを取得できず、次のエラーが発生しました。
デーモンからのエラー応答: コンテナ CONTAINERID をチェックポイントできません: CRIU コマンドを実行できません: criu。
docker 1.10 エンジンをインストールする正しい手順は何ですか?
hadoop - Hadoop フレームワークがごみ箱の「現在の」ディレクトリにチェックポイント (消去) を作成するのはいつですか?
長い間、Hadoop フレームワークが時間間隔に関係なくゴミ箱の現在のディレクトリにチェックポイントを設定するのに対し、自動チェックポイントを作成した後、指定された削除間隔内でファイル/ディレクトリを完全に削除することを観察しました。これが私がテストしたものです:
fs.TrashPolicyDefault: Namenode のごみ箱の構成: 削除間隔 = 5 分、空にする間隔 = 0 分。移動: 'hdfs://hacluster/LICENSE.txt' をゴミ箱: hdfs://hacluster/user/hduser/.Trash/Current
hdfs dfs -ls -R /user/hduser
/user/hduser/.Trash/Current
/user/hduser/.Trash/Current/LICENSE.txt
その後しばらくして:
/user/hduser/.Trash/160229140000
/user/hduser/.Trash/160229140000/LICENSE.txt
Hadoop が「現在の」ディレクトリをチェックポイントに設定した時点と、チェックポイント後に指定されたごみ箱間隔で削除された時点を追跡するサンプル bash スクリプトを作成しました。
ゴミ箱の間隔: 5 分
- 自動チェックポイント - 約 30 秒
- 完全削除 - 約5分
ゴミ箱の間隔: 10 分
- 自動チェックポイント - 約 90 秒
- 完全削除 - 約10分
ゴミ箱の間隔: 15 分
- 自動チェックポイント - 約 630 秒
- 完全削除 - 約15分
ゴミ箱の間隔: 20 分
- 自動チェックポイント - 約 1080 秒
- 完全削除 - 約20分
ゴミ箱の間隔 - 20 分 (消去 - 手動チェックポイント)
- 手動チェックポイント - 一度に
- 完全削除 - 約20分
Hadoop がこのチェックポイントをいつ作成するかを理解するのに役立つ人はいますか? ごみチェックポイントを作成するためにどのようなメカニズムが採用されていますか? それがリソースの可用性である場合、私のテスト環境では、このテスト中のオーバーヘッドはゼロです。
scala - 系統の長い RDD を使用した反復コードにより、Apache Spark でスタックオーバーフロー エラーが発生する
私は Apache Spark の初心者です。私は現在、機械学習プログラムに取り組んでいます。これには、RDD を繰り返し更新し、約 10KB のデータをエグゼキューターからドライバーに収集する必要があります。残念ながら、600 回以上の反復を実行すると、StackOverFlow エラーが発生します。以下は私のコードです。イテレーション数が400を超えると、collectAsMap関数でstackoverflowエラーが発生しました! ここで、indexedDevF と indexedData は indexedRDD です ( https://github.com/amplab/spark-indexedrddで提供されるライブラリとして AMPLab によって開発されました) 。
===================
元の質問は次のとおりです。チェックポイントが役に立たないことがわかり、プログラムはstackoverflowエラーで終了します!! 問題を説明するためのテスト用の簡単なコードを作成します。幸いなことに、親切な人が問題を解決するのを手伝ってくれます。答えは以下にあります! ただし、チェックポイントが実際に機能しても、プログラムでスタックオーバーフローエラーが発生します:(
mpi - MPI チェックポイントの使用
MPI チェックポイント機能を利用してジョブを保存したいと考えています。https://wiki.mpich.org/mpich/index.php/Checkpointingの提案によると
チェックポイントをトリガーするために、 SIGUSR1 を mpiexec に送信できるはずです (私の場合は mpirun に送信します)。ただし、そうすると、-ckpoint-prefix で指定したチェックポイント ディレクトリに保存されたファイルが表示されません。
これが私の mpirun -info 出力です
HYDRA build details:
Version: 4.1 Update 1
Release Date: 20130522
Process Manager: pmi
Bootstrap servers available: ssh rsh fork slurm srun ll llspawn.stdio lsf blaunch sge qrsh persist jmi
Resource management kernels available: slurm srun ll llspawn.stdio lsf blaunch sge qrsh pbs
Checkpointing libraries available: blcr
Demux engines available: poll select
私のコマンドラインは次のとおりです。
mpirun -ckpointlib blcr -ckpoint-prefix /home/user/temp/ckpoint -ckpoint-interval 1800 -np 274 $PROGPATH/myapp
私がシグナルを送る方法はkill -s USR1 1900
、1900がmiprunのpidです。信号を送るたびに、プログラムは単純に終了します。クラッシュはありませんが。誰でもMPIチェックポイントの経験がありますか?
git - Docker でチェックポイント/復元機能が機能しない
私はdockerにまったく慣れておらず、githubからソフトウェアを構築することに慣れていません。docker でチェックポイント復元機能を有効にしたいと考えています。
ここからCRIUをインストールしました:
これは、以下のリポジトリから docker を構築する方法です: https://github.com/boucher/docker/tree/boucher-cr
Docker サーバーのバージョン: 1.10.3
Docker クライアントのバージョン: 1.10.3
新しく複製された「Docker」フォルダーで make コマンドを実行すると、以下の出力が得られました。
---> バンドルの作成: バイナリ (bundles/1.7.0-dev/binary 内) ビルド: /go/src/github.com/docker/docker/bundles/1.7.0-dev/binary/docker-1.7.0 -開発
作成されたバイナリ: /go/src/github.com/docker/docker/bundles/1.7.0-dev/binary/docker-1.7.0-dev
make コマンドを実行した後、他に何もしていません。チェックポイント復元機能は、docker ではまだ有効になっていません。コマンドを見逃しましたか?
c - 関数レベルのチェックポイント回復
チェックポイントについて読んでいます。私が今読んだ内容に基づいて、2 つの主要なチェックポイントがあります。
システム レベル チェックポイント (SLC) – 計算のコア ダンプ スタイルのスナップショット
アプリケーション レベル チェックポイント (ALC) – プログラムは自己チェックポイント機能と自動再起動機能を備えています
関数レベルでチェックポイント回復アルゴリズムを C で実装することに興味があります。これを「アプリケーションレベル」カテゴリ内で検討できるかどうか疑問に思っています。
次に、そのための利用可能なオープンソース ライブラリがあります。
例として、単純な追加関数をここに示します。
追加 (int a0、int a1、int b0、int b1、int* res0、int* res1)
アルゴリズム戦略は次のとおりです。
「保存」セクション(最初の行)を一般的な形式で記述する方法はありますか。関数が異なる引数の型を取得する場合はどうですか。
r - R: クラスターのワーカーに「チェックポイント」を設定します
次のコードを使用して...
1. 並列クラスターを作成します
2. ソース test.R
3. 'test.R' で定義された関数でいくつかの並列作業を行います
残念ながら、私は古いパッケージに依存しています :-(
「チェックポイント」を使用して、CRAN パッケージの過去のスナップショットを利用できます
私の質問は...どうすればクラスターワーカーで古いパッケージを
利用できますか?
以下は機能しません。
コマンド
TRUE を返します。しかし、2番目
ハングするだけです。なぜ労働者がその命令に固執するのか私にはわかりません。どうにかしてワーカーを調べて、ユーザーの入力を待っているだけなのかどうかを確認できますか?