私たちは、10 マイクロ秒未満のティック トゥ トレード パフォーマンスを必要とする Java ベースの HFT アプリケーションを開発しています。以下の詳細:
コア数:6
アプリケーション スレッドの数: 5
スレッドの機能と活用法
- スレッド 1-3 - 交換ティックのキャプチャ (3-4% の CPU 使用率)
- スレッド 4 - 単純な算術ルールに基づいて取引条件を確認します (CPU 使用率 100% - ビジー スピンが原因)
- スレッド 5 - チェックサムの生成、int、double から byte への変換、注文の送信など (100% の CPU 使用率 - ビジー スピンが原因)
質問 :
CPU の分離 (スレッドをコアに排他的に割り当てる) により、コンテキストの切り替えとキャッシュ ミスが減少すると考えられます。現在、最初の 3 つのスレッドを 3 つの異なるコアに割り当てています。この状況でスレッドをコアに割り当てる最善の戦略は何ですか?