실행 중인 사용자의 애플리케이션 부하를 보다 효율적으로 만들기 위한 4가지 핵심 기술이 도입되었습니다.

Dec 12, 2022|

우선, Occlum v1.0은 비동기식 디자인 아이디어를 제시하고 전체 Occlum 코드 아키텍처를 재설계합니다. Occlum은 Rust 언어의 비동기 속성을 사용하여 Rust 경량 코루틴 및 비동기 런타임을 기반으로 Enclave에서 효율적인 스레드 예약 메커니즘을 구현합니다. 특히 머신러닝, 분산 안무 등 대규모 애플리케이션의 경우 컴퓨팅 성능을 크게 향상시킬 수 있습니다.


둘째, Linux의 차세대 비동기 I/O 작업 인터페이스인 io{0}}ing이 Occlum v1.0에 도입되었으며 대부분의 IO 작업(네트워크 IO/디스크 IO 포함)을 지원합니다. Rust 비동기 런타임과 결합된 이 새로운 기능을 사용하여 Occlum은 Linux 기본 네트워크 I/O 성능에 가깝습니다.


셋째, Occlum v1.0은 Ant Group이 독자적으로 개발한 로그 구조를 기반으로 하는 차세대 신뢰할 수 있는 가상 블록 장치를 흡수하여 기존 주류 파일 시스템에 디스크 I/O의 보안 보호 기능을 부여할 수 있으며, 보안은 Linux 커널의 다양한 파일 I/O 또는 디스크 I/O 보호 체계보다 높습니다. 동시에 보호 체계는 SGX-PFS와 같은 유사한 TEE보다 높습니다. 신뢰할 수 있는 가상 블록 장치는 새로운 추가 로그 구조 설계를 채택하므로 I/O 성능이 크게 향상됩니다.


넷째, Occlum v1.0은 주문형 할당 기반의 동적 메모리 관리 설계를 사용하여 Enclave 물리적 메모리 활용도를 높일 뿐만 아니라 TEE에 대한 애플리케이션 로딩 시간을 대폭 단축합니다.


Occlum v1.0과 이전 커뮤니티 릴리스 0.29 성능 테스트 데이터를 비교했습니다. Occlum v1.0의 스레드 스케줄링 성능은 이전 버전보다 5배 향상되었습니다. 애플리케이션 스레드 수가 증가하면 v1.0의 스케줄링 성능 이점이 더욱 분명해집니다. 네트워크 전송 속도와 파일 I/O 처리량 측면에서 이전 버전에 비해 성능도 2배, 3배 향상되었으며, 특히 네트워크 IO 측면에서 동일한 환경에서 기본 Linux 네트워크 전송 속도에 근접할 수 있습니다.

20221206145658b3e8bb0d2e374df4a98dbdd519770012

문의 보내기