実行時間の測定は、パフォーマンス評価の重要な側面です。ここで、SGX エンクレーブ (信頼できる実行環境) 内のいくつかのコードのパフォーマンスを評価したいと考えています。Intel SGX は、開発者が信頼できるソースから現在の時刻を取得するための「sgx_get_trusted_time()」という API を提供していることに気付きました。ただし、ここで問題が発生しました:
1) 「sgx_get_trusted_time()」を使用する前に「sgx_create_pse_session()」が必要ですが、常に「SGX_ERROR_SERVICE_UNAVAILABLE」というエラーが発生します。SGX SDK と PSW を正しくインストールして構成しました (そうしないと、リモート認証サービスを使用できません)。また、開発プラットフォーム (Win10 + ThinkPad x270 + CORE i5) の Management Engine を更新しようとしましたが、うまくいきませんでした。
2) API は時間を秒単位で返します。これは、特に 2 つの API 呼び出しの間の時間が些細な場合に、パフォーマンス評価の点で正確とはほど遠いものです。
最初の問題を解決するにはどうすればよいですか?また、エンクレーブ内で経過した時間をより正確に測定するための解決策はありますか? 提案やヒントに感謝します。