OKEx Lightning2.0アップグレード

より高速なパフォーマンスを提供する次世代の取引システム

I.電子取引システムの開発

資産取引のコアテクノロジーに対する要件の高まりは、20世紀前半の世界的な金融業界の急速な成長を反映しています。 50年代には、買い手と売り手は交渉によって取引し、売値は紙に手動で記録されていました。多様な証券の種類と取引量の増加を背景に、相場を処理するこの方法は、その非効率性と高コストのために、60年代から70年代にかけて徐々に事務処理の危機を引き起こしました。ニューヨーク証券取引所(NYSE)は、毎週水曜日に取引を停止し、他の取引日の時間を短縮してその活動を制限するしかありませんでした。膨大な数のトランザクションを同時に処理する比類のない機能により、コンピューターが登場し始めました。ペーパーレスプロセス、つまり電子革命は、世界の金融史における重要なターニングポイントでした。トランザクションは電子取引プラットフォームに移行し、時間や地理的な障壁なしに、より迅速で安価な操作を提供します.

70年代の米国のペーパーレス危機

ステートストリートのCurrenex、HKEXのINET、ICAPのEBS Spot Ai、LIFFEのLIFE CONNECTなど、電子取引システムが世界中で登場しています。暗号資産は電子形式でのみ存在するため、当然、電子取引プラットフォームに関連付けられていますが、暗号取引と従来の取引システムの要件はわずかに異なります。全体として、暗号取引システムは次の特性を備えている必要があります。

a。低遅延と高スループット

レイテンシーとスループットは、トレーディングシステムのパフォーマンスを測定するための重要な指標です。私たちの主な目的は、トレーディングシステムを設計する際に低遅延と高スループットを達成することです.

トレーディングのコンテキストでは、レイテンシーとは、トレーディングシステムによって受信されたリクエストとによって行われたレスポンスの間の時間間隔を指します。高頻度取引量の急増は、大部分、低遅延に対する市場の需要を後押ししています。高頻度トレーダーが暗号交換でクロストレードできるようにするには、彼らの取引システムに低遅延の取引エンジンを装備して、注文を迅速に処理し、競争の激しい暗号市場の市場の現実を反映する必要があります.

スループットは、トレーディングシステムが1秒以内に処理できるリクエストまたはイベントの量です。スループットは取引効率に直接影響を与える可能性があるため、暗号取引システムは極端なシナリオに耐え、処理装置を利用するように設計する必要があります.

b。保守性とスケーラビリティ

従来の資産と比較して、暗号価格はより不安定であり、世界的なショックに対して脆弱です。暗号取引システムは24時間年中無休でリクエストを継続的に処理するため、オフラインでのメンテナンスをできるだけ少なくするように設計されています。さらに、証拠金、先物、オプション取引などさまざまなデジタルデリバティブサービスが開始されてからわずか10年で展開されたため、暗号通貨セクターが急速に変化していることは明らかです。革新的なサービスの急増により、暗号取引システムの保守性とスケーラビリティに対する要件が高まっています。.

II。 OKEx Lightning System 2.0:Lightspeedのパフォーマンス

世界トップのデジタル資産取引所の1つとして、OKExは、その包括的な暗号資産およびデリバティブ製品で数万人のユーザーにサービスを提供しており、1日の平均取引量は数十億米ドルです。業界のリーダーとして、私たちは取引システムに非常に高い基準を設定しました。 2018年8月の取引システムのアップグレードに加えて、複数のアップグレード後に世界をリードするパフォーマンスを備えた次世代のLightning2.0システムを実装しました。 Lightning2.0アップグレードの主な機能は次のとおりです。

Lightning2.0アップグレードフレームワーク

1.メモ化


暗号取引システムの初期の開発段階では、プラットフォームは通常、注文が期限切れになるか満たされるまでデータベースで自動照合することにより、取引相手の入札注文の詳細を取得します。次に、取引金額が計算され、照合後に取引エントリが生成されます。この方法では、データの整合性を確保できますが、処理時間が長いため、同時に多くの市場の要求に対応できませんでした。.

当社の次世代トレーディングシステムであるLightning2.0は、最新のインメモリマッチング技術を採用しています。この手法では、自動マッチング中に注文データをオーダーマッチングエンジンにメモリ内に保存し、トレーディング中にデータベースにアクセスする頻度を減らします。すべてのマッチング結果と中間データもメモリに保存されるため、関連する入力と出力の量を減らすことができるため、順序マッチングの速度が大幅に向上します。.

メモ化により取引の待ち時間を大幅に短縮できますが、暗号取引システムでは、電源の停止によりデータが失われるリスクがあります。この問題を解決するために、イベントソーシングアプローチを採用して、ビジネスエンティティの状態を維持し、イベント中心の方法でデータを保存します。トレーディングシステムは従来、現在の状態のデータをデータベースに保存しますが、イベントはイベントソーシングアプローチの状態変化を反映するために保存されます。これにより、システムは状態を再構築できます。システムは定期的に状態のスナップショットを取得し、再構築が必要な場合はスナップショットが作成された後にイベントを並べ替えます.

さらに、最新の中央処理装置(CPU)は、予想よりも遅い速度でメモリ内のデータにアクセスします。によると テスト, インメモリマッチング手法と比較して、CPUのL2キャッシュからデータを取得するのにかかる時間はわずか1/7です。レイテンシーをさらに削減するには、CPUキャッシュを有効に活用する方法を理解することが重要です。データ転送の単位はキャッシュラインで、通常は64バイトです。 CPUはデータをメモリにロードしている間、64バイトの隣接データをキャッシュに転送します。したがって、メモリ内データの配布を制御することにより、Lightningシステムに次の改善を加えました。

  • 継続的に処理する必要のあるデータをまとめて、メモリ内の分散を制御します. すべてのデータがまとめられた後、複数のデータを読み取るときに、メモリ内ストレージからキャッシュへの最初のロードのみが必要になります。その後、後続の読み取りがキャッシュにヒットして、システムパフォーマンスが向上する可能性があります.
  • より高いレートで変化する可能性のあるデータ(カウンター上のデータなど)を異なるキャッシュラインに配置することにより、メモリ内の分散を制御します. 複数のCPUが1つのキャッシュラインの異なるバイトを同時に変更すると、偽共有が発生します。たとえば、CPU1が自身のデータを変更した後、CPU2は、キャッシュラインのデータが更新されているため、自身のデータを再度読み取るときにキャッシュライン全体をリロードする必要があります。その結果、両方のCPUが互いに待機する必要があります。この問題を回避するために、パディングによってデータを異なるキャッシュラインに保存するのはそのためです。.

2. パブリッシュ/サブスクライブモデルとバイナリプロトコル

メッセージングモデルの2つの主なタイプは次のとおりです。

Lightning1.0とLightning2.0の比較

パブリッシュ/サブスクライブモデルでは、メッセージングにキューが使用されます。サービスが他のサービスを要求する必要がある場合、要求に関する情報はメッセージにカプセル化され、キューに配置されます。他のサービスは、情報を取得してリクエストを処理するためにメッセージキューにサブスクライブします.

要求/応答モデルでは、クライアントとサーバーは強力に結合されています。それらは同時に利用可能である必要があります。クライアントは、サーバーが要求の処理を完了するまで待機することしかできないため、処理速度が低下します。ただし、パブリッシュ/サブスクライブモデルでは、パブリッシャーがメッセージをキューに配置した後に要求処理が完了します。パブリッシャーはサブスクライバーから切り離されています。一方、サブスクライバーのサービスが中断された場合、メッセージはキューに残り、パブリッシャーがメッセージを再送信しなくてもサービスが再開されると処理が続行されるため、システム通信の信頼性が向上します。したがって、このパターンは、Lightning 2.0システムの可用性とスループットを向上させるために、ほぼすべてのシナリオで採用されています。.

要求と応答のパターンを選択したら、次のステップは適切な情報交換形式を選択することです。コミュニケーションの本質は、通常はデータを含むメッセージを交換することです。交換フォーマットが異なれば、送信速度や通信の進化可能性のレベルも異なり、使用するプログラミング言語も異なります。したがって、それは取引システムを設計する際の重要な考慮事項です.

2つの一般的なタイプのメッセージ形式:テキストベース & バイナリ

テキストベースの通信プロトコルの欠点は明らかです。大きなテキストファイルの解析が発生すると、エラーが発生しやすく、帯域幅を消費します。これは、効率とパフォーマンスの問題に非常に敏感なトレーディングシステムではうまく機能しません。ただし、バイナリプロトコルは解析に簡単に使用できるため、パフォーマンスが向上します。そのため、Lightning2.0システムではバイナリプロトコルを採用しています。.

3. 水平スケーリング

トレーディングシステムの処理能力を改善および拡張するために、水平スケーリングと垂直スケーリングの両方が望まれます。垂直スケーリングはサーバーのアップグレードを意味し、水平スケーリングはサーバーの追加を意味します。サーバーのハードウェアパフォーマンスは、人間の生産能力に左右されます。サーバーのハードウェア構成(ハードウェアパフォーマンス)は特定のレベル(制限)に達しますが、それ以上改善することはできないため、水平スケーリングが唯一のオプションです。ただし、水平スケーリングアプローチは、負荷分散につながる可能性があります。システム全体の負荷をさまざまなサーバーに合理的に分散する方法?

最初の考慮事項はデータの競合です。サーバーを追加すると、データを並列処理するシステムの機能を向上させることができますが、並列コンピューティングによってサーバーが同じデータを頻繁に競合する可能性があるため、不当な分散が発生した場合、その処理能力を効果的に向上させることはできません。.

取引システムは基本的に注文、資金、ポジションのデータを保存します。データ競合の数を減らすために、ロードシャーディングが実行され、使用可能なユーザーの数に応じてそれらのデータがシャードに分割されます。ユーザーの注文、資金、および位置のデータは独立して処理されるため、データの競合を回避できます。さらに、シャードごとにバッチ処理のラウンドを追加してシステムの処理能力を強化することにより、システムをさらに最適化しました。一方、デリバティブ取引ペア証拠金データは、ロードシャーディングを受けるもう1つのターゲットです。ユーザーにとって、各トレーディングペアは完全に独立しています。このように、2つのフェーズでロードシャーディングを採用しています。システムがより多くのサーバーを必要とする場合、システム拡張の柔軟性を実現するために、シャーディングに基づいて負荷リバランスが使用されます.

4. システムスケーリング

トレーディングシステムの保守性とスケーラビリティを強化する基本的な方法は、その機能を分離することです。このアップグレードでは、システムの機能をさらに3つのモジュール、つまり注文照合、カウンター、リスク管理に分割します。各モジュールには、独自の内部データとステータスが含まれています。具体的には、注文照合モジュールは注文帳の保守を担当し、カウンターモジュールはポジションと口座残高に関するデータを保存し、リスク管理モジュールはリスク管理の機能を実行します。.

モジュールは相互に連携して取引システム全体の機能を有効にするため、モジュールの通信にはメカニズムが必要です。サービス間通信には、データ共有とメッセージングの2つのオプションがあります。.

データ共有は、モジュールがデータを更新し、別のモジュールがクエリ後に新しいデータを取得する方法で実行される最も基本的な方法です。ただし、このアプローチには2つの重大な欠点があります。まず、複数のモジュールが同じデータに変更を加えてクエリを実行すると、通常はデータの競合が発生し、その間、データベースの応答時間がはるかに長くなります。第二に、他のモジュールの変更をリアルタイムで理解することは困難であり、クエリ後にのみそのような変更を知ることができます.

その結果、Lightning 2.0システムのモジュールは、独自のデータを保存し、互いにデータを共有しないように設計されています。モジュールの内部状態が変化すると、その変化はイベントにカプセル化され、イベントループに配置されます。これにより、システムモジュール間の結合と競合を減らすことができ、イベントがカプセル化された後、最適な速度で相互に通信できるため、システムの通信速度が大幅に向上します。.

III。 Lightning2.0のデータパフォーマンス

2019年の後半にLightning2.0システムの包括的なアップグレードを完了しました。Lightning1.0と比較してパフォーマンスはどのように向上していますか?

11月の香港サーバーテストの最新の統計は次のとおりです。

注文処理能力に関しては、当社のシステムのピーク注文処理能力は100,000 txn / sであり、世界の株式市場の主流の取引システムに匹敵します。.

次の3つのインジケータは、システムの遅延をテストするために使用されます。

レイテンシーをテストするための3つの一般的なインジケーター:ACK、ライブ、キャンセル

9月と11月のテストデータを使用して、トレーディングシステムのアップグレード前とアップグレード後のパフォーマンスを比較しました(以下を参照)。以下に示すように、平均ACK待ち時間は50ミリ秒から25ミリ秒に減少し、平均ライブ待ち時間は134ミリ秒から63ミリ秒になり、平均キャンセル待ち時間は230ミリ秒から180ミリ秒に減少しました。.

これは、Lightning2.0トレーディングシステムのレイテンシーが低いことを示しています.

アップグレード前/アップグレード後

IV。テクノロジー業界のリーダー

ブロックチェーンの無制限のスケーラビリティ、再現性、および柔軟性は、発見されるのを待っている新しい資産がもっとたくさんあることを意味します。ブロックチェーンテクノロジーの継続的な開発により、将来的には、増加する知的財産、著作権、および創造的な資産が暗号に変換されます。取引システムでより高い信頼性とパフォーマンスを求めている市場とユーザーを見るでしょう.

包括的なC2C、スポット、およびデリバティブ取引サービスを備えた世界をリードする暗号通貨取引所として、私たちは取引製品、リスク管理システム、注文照合エンジン、暗号資産ストレージサービス、および顧客サービスを絶えず改善しており、世界最大の暗号になっていますグローバルユーザーに絶大な人気を誇るデリバティブ取引プラットフォーム。暗号空間の誰もが夢見ているブロックチェーン主導の世界の開発をさらに推進するために、より高い取引のセキュリティと効率を追求するために追加のリソースをコミットすることによって、ブロックチェーンと暗号セクターとともに成長することが私たちの究極の目標です.

OKExをフォローしてください:

Steemit: https://steemit.com/@okex-official

ウェブサイト:https://www.okex.com

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map