インテル® Software Guard Extensions (インテル® SGX) エンクレーブでスイッチレス ocall を使用する場合のワークロードのチューニング
- Linux-sgx/common/inc/sgx_uswitchless.h では SL_DEFAULT_FALLBACK_RETRIES が 20000 に設定されています。
- このデフォルト・パラメーターにより、多くの長いスイッチレス呼び出しを実行するアプリケーションは、スイッチレスが無効になっているときのパフォーマンスと比較してパフォーマンスが低下します。
- 20000 がデフォルト値である理由を検証できません。
SL_DEFAULT_FALLBACK_RETRIES = 20000 の具体的な理由は不明ですが、スイッチレス呼び出しを使用するワークロードには、微調整が必要です。Linux* 用インテル® Software Guard Extensions (インテル® SGX) デベロッパー・リファレンスには、次のように記載されています。
スイッチレスコールは高度な機能です。これには、追加のワーカー スレッドと構成、パフォーマンス テスト、およびチューニングが必要です。これは、きめ細かなパフォーマンス調整が必要なワークロードに使用する必要があります。構成を誤ると、ワーカー スレッドが十分に活用されず、タスクを処理しない間に CPU 時間が消費される可能性があります。
Linux 向けインテル SGXデベロッパー・リファレンスは、インテル® Software Guard Extensions SDK for Linux* の最新リリースの ドキュメント フォルダーにあります。