めざましじゃんけん結果速報の安定動作に向けて
そろそろ、めざましじゃんけん広場を活性化させたいのですが、肝心のめざましじゃんけん速報の信頼性が十分に上がっておりません。
2020年も開始し、3週分のめざましじゃんけんが実施されました。
3週目なのですが、2回の結果速報不備が発生しました。
1件目は、実は先週の土曜日から発生しており、1月18日と20日の結果配信に一部不備が発生しました。
2件目は、めざましじゃんけんの対戦者の表示に不備が発生しました。
1件目は、Raspberry Piのフィリーズ。2件目は、ツイッター情報を本番でテキスト処理するので、想定されていないケースで失敗し、結果速報が正確に行えなくなります。
修正内容とJenkins
めざましじゃんけん結果画像検出システム実装方式の変更内容。
端的に説明すると、今まで、独立して動いていた2系統のシステムを統合的に動作させます。
Raspberry Piでシステムを稼働させ、システムの稼働率を上げるためにNVIDIAのJetson Nanoを導入しました。その際に、それぞれのシステムを独立して動作させておりました。しかし、片系にしか入らない処理があったり、シングルボードのシステムの信頼性ではシステム稼働率には大きな影響を与えました。
関連記事:めざましじゃんけん システム大規模改修
今までの実装
- 起動方法は、Raspberry Pi with Intel NSC2およびNVIDIA Jetson NanoのそれぞれのCronで定期処理
それぞれのシステムで定期実行させて、平行実行させておりました - Raspberry Piでテレビの電源ON/OFFを操作
- Raspberry Piとテレビを物理HDMIで接続 テレビの電源をHDMI経由でCEC(Consumer Electronics Control)で操作
- NVIDIA Jetson NanoのHDMIがCECに非対応
- じゃんけん結果後の処理は、結果を早く取得したシステムで実施
- 通常はJetson Nanoが実施、結果取得結果が異なる場合は、アラートメール
これからの実装
- Intel NUCのJenkinsより統合管理、Raspberry Pi with Intel NSC2とJetson Nanoは、じゃんけん結果の取得と登録に専念。(じゃんけん予想も実施させています)
- テレビON処理失敗時には、Nature Remoを利用した電源操作もバックアップとして導入
悩んでいるところ
以下、2点を悩んでおります。
- Jenkinsサーバーの冗長化
- Raspberry Piの推論部分のIntel NUCへの移管
Jenkinsのノードの冗長化は、Raspberry Piに担当させて見ようかなと考えております。Raspberry Piの推論部分ですが、Intel NUCに移管しようかと考えております。Intel NSC2とIntel NUCの組み合わせでの機械学習も試してみたいところ。
WEBアクセスの負荷もあるので、まずは、性能情報を監視しして、どうするか考える予定です。