Filecoin – Precommit2 計算の紹介New概要: セクター計算は、Precommit1 と Precommit2 の 2 つの部分に分かれています。これら 2 つの部分を合わせて SDR アルゴリズムと呼びます。 SDR アルゴリズム全体の関連する計算については、前回の記事で紹介しました。この記事ではPrecommit2の計算ロジックに焦点を当てます。 セクター計算部分は、Precommit1 と Precommit2 の 2 つの部分に分かれています。これら 2 つの部分を合わせて SDR アルゴリズムと呼びます。 SDR アルゴリズム全体の関連する計算については、前回の記事で紹介しました。この記事ではPrecommit2の計算ロジックに焦点を当てます。 Precommit2 の計算は、1/ 列ハッシュの計算と Merkle ツリーの構築、2/ レプリカの計算と Merkle ツリーの構築の 2 つの部分に分かれています。関連するロジックについては、rust-fil-proofs/storage-proofs/porep/src/stacked/vanilla/proof.rs の transform_and_replicate_layers 関数を参照してください。 1列ハッシュ計算 列ハッシュの計算は、generate_tree_c 関数で実装されています。具体的な実装は、CPU バージョンと GPU バージョンの 2 つのバージョンに分かれています。 設定::SETTINGS.lock().unwrap().use_gpu_column_builder {の場合 セルフ::generate_tree_c_gpu::( レイヤー、 ノード数、 ツリー数、 設定、 ラベル、 ) } それ以外 { 自己::generate_tree_c_cpu::( レイヤー、 ノード数、 ツリー数、 設定、 ラベル、 ) } GPU バージョンのロジックは比較的複雑です。 GPU のロジックについて説明しましょう。 列計算を実行するには、ハードディスクの 11 層からデータを読み取り、列配置に統合する必要があります。 GPU バージョンはデータをバッチで処理します。列の一部を読み取ってソートした後、チャネルを介して GPU に送信され、処理 (列ハッシュと Merkle ツリーの構築) が行われます。コード ロジックは基本的に 2 つのスレッドで構成され、1 つはレイヤー データを読み取って列を並べ替え、もう 1 つは GPU で処理します。各バッチのデフォルトのノード数は 400,000 で、約 135M です。列の計算が完了すると、GPU は Merkle ツリーを構築します。 2 レプリカ計算 レプリカは、最後のレイヤーのデータと元のデータをエンコードした結果です。レプリカの一部がエンコードされるたびに、チャネルを介して GPU に送信されます (Merkle ツリーを構築するため)。各バッチのデフォルトのノード数は 700,000 で、約 2200 万です。バッチはエンコードの結果であることに注意してください。 3 マークルツリーの構築 Merkle ツリーの構築にはすべて merkletree ライブラリが使用されます。このライブラリは、一般的な Merkle ツリーの構築と計算を実装します。一般的な Merkle ツリーとは、Merkle が通常理解されている単なるバイナリ ツリーではなく、トップ、サブ、ベースの 3 つのレイヤーに分かれていることを意味します。 上記の例に示すように、トップは 1 つのフォーク、サブは 3 つのフォーク、ベースは 4 つのフォークです。 Precommit2 の計算では、tree_c と tree_r_last は両方とも octree です。 タイプ Tree = storage_proofs::merkle::OctMerkleTree; pub タイプ OctMerkleTree = DiskTree; 4 GPUアクセラレーション Precommit2 の計算では、列ハッシュの計算と Merkle ツリーの構築が GPU によって高速化されます。関連するコードは、Neptune コード ベースにあります。興味深いことに、この部分のコードは cuda や opencl ではなく、新しい高水準言語である Futhark を使用して実装されています。 5 関連するマクロ定義 FIL_PROOFS_USE_GPU_COLUMN_BUILDER – 列ハッシュを計算するために GPU を使用する FIL_PROOFS_MAX_GPU_COLUMN_BATCH_SIZE – 各列計算のバッチサイズ。デフォルトは400000です。 FIL_PROOFS_COLUMN_WRITE_BATCH_SIZE – 各列データ更新のバッチサイズ。デフォルトは 262144 です。 FIL_PROOFS_USE_GPU_TREE_BUILDER – GPU を使用して Merkle ツリーを構築する FIL_PROOFS_MAX_GPU_TREE_BATCH_SIZE – 各エンコード計算のバッチサイズ。デフォルト値は 700000 です。 要約: Precommit2 フェーズでは、主に列ハッシュを計算し、レプリカを生成し、対応する Merkle ツリーを構築します。その中で、列ハッシュの計算とマークルツリーの構築は、GPU によって高速化できます。 GPU は、新しい高級言語である Futhark を使用して実装されています。 出典: スター・リー |
<<: Filecoin はどのような世界を構築したいのでしょうか?
>>: 市場分析:ビットコインのショートは強く抑制されており、価格は下落すると予想される
ロシアの通信社TASSによると、ロシアの尼古拉·阿纳托利耶维奇·尼基福洛夫情報大臣は昨日、ロシアの「...
ビットコインの価格は最近、数年ぶりの高値に達しており、多くの基本的な要因は、ビットコインが2021年...
採掘機械に対する高度の影響高高度の特徴:高度が上がるにつれて大気圧が低下し、空気が薄くなり、密度もそ...
ほとんどの人がビットコインについて説明するとき、その価格と数十億ドルの時価総額に注目します。しかし、...
ハッキングスキャンダルは少なくとも3年間、デジタル通貨の世界を悩ませており、すぐに止まる気配はない。...
編集者注: この記事は Coinbase の公式ブログから翻訳されたものです。最近、Coinbase...
今年に入ってから、EOSは徐々に通貨界隈の多くの人々からの苦情の対象となるようになりました。もちろん...
.1.米国における暗号通貨課税4月22日、あるニュースが米国の株式市場と暗号通貨市場の急落を引き起...
2018年3月、有名な暗号通貨マイニングマシンメーカーであるBitmainが、新しいマシン「Antm...
この記事では、ブロックチェーン テクノロジーに基づいて構築された QR コード デバイス認証ソリュー...
暗号通貨市場全体は、過去 24 時間にわたって上昇傾向にあります。時価総額上位20の暗号通貨のうち1...
水曜日に公開されたSECの文書によると、モルガン・スタンレーのファンドが、ビットコイン価格が最低だっ...
「来てハッシュし、採掘し、採掘マシンで投機しましょう。」 BTCハッシュレート市場について要約: ...
デビッド・ワトソンは、ドイツ銀行のグローバル・トレーディング・ビジネス(GTB)の製品責任者です。エ...
昨日、オープンソースの Hyperledger プロジェクトの技術運営委員会が初の Hyperled...