分散システムとポエム

Weekly Selection 2021-03-19

政府調達で使われる「安全なクラウド」

政府が今後調達する「安全な」クラウドサービスのリスト、IPAが公開 | 日経クロステック(xTECH)

情報処理推進機構が安全なクラウドの一覧を選定した.ほとんどが外資系クラウドだ.

JaSST Tokyo 2021

仕様整理のためのテスト設計入門」に参加した.同値分割や組み合わせテスト,デシジョンテーブルやCFD法,状態遷移図を学んだ.テストパターンを設計する際に役立つ知識を得られた.

The use of test design for organizing specifications

他にもいくつかセッションを聴講した.テストは,ほとんどのコンピュータにより構成されるシステムで必要となる.そのため,組み込みシステムやDevOpsをはじめとしたトピックごとにノウハウが必要だと感じた.

深層学習への入門ノート

丁寧に説明がされているので,入門に良さそう.

深層学習(Deep Learning)への入門 講義ノート 瀧雅人 RIKEN数理創造プログラム(iTHEMS)

GitHubのパフォーマンス改善

GitをホスティングするGitHubは,パフォーマンスの低下への対処として次の取り組みを行なっていた.

定期的なリポジトリメンテナンス

デフォルトでは、GitHub は 50 回の git push 操作の後、あるいは 40MB のパックされていないファイルを受け取ると、リポジトリのメンテナンスを実行します。この処理では、クローンやフェッチのパフォーマンスを高めるために最新のパックファイルを用意したり、リポジトリ内のデータを整理して重複をなくします。リポジトリのサイズにもよりますが、メンテナンスにかかる時間は数秒から数分程度です。

GitHub における大規模なモノリポのパフォーマンスの向上 – GitHubブログ

チェックサムを事前に求める

GitHub はデフォルトでサーバーやラック、ネットワーク、データセンターの各レベルでの障害に備えて、それぞれのリポジトリに対して 5 つのレプリカを 3 つのデータセンターにまたがって書き込みます。Git の参照を更新する際には、すべてのデータセンターにあるすべてのレプリカを短時間ロックし、3 フェーズコミット(3PC)プロトコルが成功したときにロックを解放します。

このロックの間に、各レプリカのチェックサムを計算し、それらが一致していること、そしてすべてのレプリカが同期していることを確認します。インクリメンタルチェックサムを使用してこの処理を高速化しており、通常の運用では 50ms 以下で完了しますが、修復作業ではチェックサムを最初から計算し直すため、より長い時間がかかります。大きなモノリポの場合、ロックが 20〜30 秒も保持されていました

そこで、ロックをかける前に、これらのレプリカのチェックサムを計算するように変更しました。チェックサムを事前に計算することで、ロックする時間を 1 秒以下に短縮し、より多くの書き込み操作を即座に成功させることができるようになりました。

GitHub における大規模なモノリポのパフォーマンスの向上 – GitHubブログ

このあたりは,分散合意アルゴリズムの話でよく出てくる.3フェーズコミットを使っているのは知らなかったので意外だった.モノリポで従来はロックが20-30秒かかっていた課題を,ロック前にレプリカのチェックサムを計算することでロックを1秒以下に削減している.20-30倍の高速化は,リポジトリ規模が大きくなるにつれ効果をあげそう.

GitHubはレプリカ数=5で保存していることにも驚いた.レプリカ数は消費するストレージ容量とトレードオフなので,システム設計時にも悩むポイントになる.HDFSはレプリカ数=3をディスク故障率とデータ消失から計算しているらしい.

Is replication factor of 3 a standard for HDFS? – Quora

情報処理学会 全国大会 「論文必勝法」

2012年頃からはじまったテーマらしい.査読をクリアして採録されるためのノウハウやアンチパターンが紹介されていた.査読者の立場からの意見を聞けたので多くの学びがあった.

情報処理学会第83回全国大会

過去の資料もいくつか見つかったので貼っておく.

余談

  • 学部を卒業して,学士号をゲットした.
  • ASUSのルータでOpenVPN Clientの設定をした.
  • ICTSC 2020の打ち上げをした.
  • 情報処理学会の中高生セッションで後輩の研究にコメントした.
  • Kuberenetesのヘルスチェック機能にLivenessprobeがあることを知った.
  • 豚骨醤油ラーメン(西海)に初めて行った.美味しい.
  • Uber Eatsで妹のアルバイト先からテイクアウトをした.美味しい.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です