인텔® Software Guard Extensions(인텔® SGX) 엔클레이브에서 스위치 없는 ocall을 사용할 때 워크로드 튜닝
- SL_DEFAULT_FALLBACK_RETRIES 는 linux-sgx/common/inc/sgx_uswitchless.h에서 20000으로 설정됩니다.
- 이 기본 매개 변수로 인해 긴 스위치 없는 ocall을 많이 수행하는 애플리케이션은 스위치가 없는 것을 사용하지 않도록 설정했을 때의 성능에 비해 성능이 느려집니다.
- 20000이 기본값인 이유를 확인할 수 없습니다.
SL_DEFAULT_FALLBACK_RETRIES = 20000의 구체적인 이유는 알려져 있지 않지만 스위치 없는 호출을 사용하는 워크로드에는 미세 성능 조정이 필요합니다. Linux*용 인텔® Software Guard Extensions(인텔® SGX) 개발자 참조에는 다음과 같이 명시되어 있습니다.
스위치 없는 통화는 고급 기능입니다. 추가 작업자 스레드 및 구성, 성능 테스트 및 튜닝이 필요합니다. 미세한 성능 조정이 필요한 워크로드에 사용해야 합니다. 잘못 구성하면 사용률이 낮은 작업자 스레드가 발생하여 작업을 처리하지 않고 CPU 시간을 소비할 수 있습니다.
Linux용 인텔 SGX 개발자 참조는 최신 Linux* 인텔® Software Guard Extensions SDK의 Documentation 폴더에 있습니다.