ハードウェア
画像内のテキストの認識Evernoteは、コンピューティングクラスターに大きな負荷をかけるため、機器の評価にはパフォーマンスと効率が大きな役割を果たします。 いくつかの異なるプラットフォームをテストした後、 iX Systemsの iX1204-563UBに決めました。 本質的に、これは815TQ-563UBシャーシの Supermicro X8DTUです。 クラスタ内の37の認識システムはそれぞれ、次の鉄で構成されています。
- CPU:2つのIntel Xeon CPU L5630 @ 2.13 MHz(定格消費電力-40ワット)
- マザーボード:Supermicro X8DTU
- システムユニット:Supermicro 815TQ-563UB
- 電源:560ワット(80Plus Goldのパフォーマンス評価)
- データウェアハウス:5.25インチ、低電力ハードドライブ
- RAM:12 GB PC3-8500(1066 MHz)
CPU、RAM、およびその他のコンポーネントは、帯域幅と効率の間の妥協に基づいて選択されました。 以前に、いくつかの洗練された2UTwin²システムを評価しましたが、一定の高負荷で作業する場合は信頼性が低いことがわかりました。 従来のブレードサーバーも検討されましたが、最終的には既存のインフラストラクチャに固執するのが難しすぎることが判明しました。特に、これらのサーバーの典型的な100%の負荷を考慮すると。
オペレーティングシステム
基盤となるオペレーティングシステムはDebianの「Squeeze」(AMD64)ビルドであり、そこから余分なものはすべて捨てられます。 Debianの選択肢は、アップグレードの安定性と利便性のためです。 OSは、いくつかの点を除き、ほとんど手付かずのままです。
- 変更されたカーネル3.0.4は、高帯域幅の要件を満たすように構成され、cflagsは、使用されている特定のプロセッサタイプに合わせて調整されました。
- XFSファイルシステムは、比較的大きなバッファースペースと「バリア」や「atime」などで無効化されました。
- ネットワークコンポーネントのセットは、多くの同時ファイルトランザクションでより安定して動作するように構成されました。
- カーネルの「Swappiness」パラメーターはゼロ(デフォルトでは60ではなく)に設定されています。
- OSレベルでは、802.1Qトランクネットワークプロトコルが有効になっています。
アイデアは、ボトルネックの数を可能な限り最小限に抑え、一連の画像認識ツールがビジネスを冷静に進められるようにすることでした。 予想外に、カーネルチューニングは大きな影響を及ぼし、さまざまな条件に応じて生産性が7〜30%向上しました。 XFSに関しては、これにより、RAMが少し増えたために単一ディスクボリュームでのI / O競合を最小限に抑える機会が得られ、ファイルシステムをオンザフライで再割り当てすることができました。
ソフトウェア
画像認識のためのツールセットEvernoteには、認識および画像処理自体のキューを操作するために内部で開発されたソフトウェアと、さまざまな種類のテキストに焦点を合わせた認識メカニズムのセットが含まれています。 その中には、独自の開発とIRISのクラス最高のサードパーティテクノロジがあります。当社のソフトウェアは、AMP(非同期メディアプロセッサ、非同期メディアプロセッサ)およびENRS(Evernote認識サービス、Evernote認識サービス)で構成されています。 このソフトウェアセットについては、 前の記事ですでに詳しく説明しているので、簡単な説明に限定します。
- ENRSは、その子プロセスを通じてAIR / ANRが画像の実際の認識を担当するメカニズムです。
- AMPは、EvernoteサービスクラスターとENRSの間の仲介役として機能し、生の画像を受け入れてENRSに送信します。
AMPサーバーの相互作用による負荷は、前述の802.1Qタグ付きVLANを介して強制的に分離された独自の変換ドメインの存在によって軽減されます。 これにより、認識サーバーは、どの種類のシャードがすでに使用されているかを互いに認識し、重複を回避できます。これにより、メインのEvernoteサービスの負荷が大幅に削減されます。
この記事により、興味のある読者がEvernoteサービスの最も珍しいコンポーネントの1つを簡単に利用できるようになることを願っています。 このトピックは、このトピックについて詳細に説明するのはかなり難しいが、同時に二次的な詳細に陥ることなく難しいものです。