Sunt introduse patru tehnologii de bază pentru a eficientiza încărcarea aplicațiilor utilizatorilor care rulează
Dec 12, 2022| În primul rând, Occlum v1.0 propune o idee de proiectare asincronă și reproiectează întreaga arhitectură de cod Occlum. Folosind proprietatea asincronă a limbajului Rust, Occlum implementează un mecanism eficient de planificare a firelor de execuție în Enclave, bazat pe corotina ușoară Rust și timpul de execuție asincron. În special pentru aplicații mari, cum ar fi învățarea automată și coregrafia distribuită, poate îmbunătăți considerabil performanța de calcul.
În al doilea rând, io{{0}}uring, o nouă generație de interfețe de operare I/O asincrone ale Linux, este introdusă în Occlum v1.0 și acceptă majoritatea operațiunilor IO (inclusiv IO de rețea/Ieuri de disc). Folosind această nouă caracteristică, împreună cu durata de rulare asincronă Rust, Occlum are performanțe I/O în rețea nativă aproape de Linux.
În al treilea rând, Occlum v1.0 a absorbit dispozitivele bloc virtuale de încredere de nouă generație bazate pe structura jurnalului dezvoltată independent de Ant Group, ceea ce poate face ca sistemul de fișiere principal existent să aibă capacitatea de protecție a securității I/O pe disc și securitatea este mai mare decât cea a diferitelor scheme de protecție I/O de fișiere sau I/O de disc din nucleul Linux. În același timp, schema de protecție este mai mare decât cea a unui TEE similar, precum SGX-PFS. Deoarece dispozitivul bloc virtual de încredere adoptă noul design al structurii jurnalului de anexare, performanța I/O va fi mult îmbunătățită.
În al patrulea rând, folosind designul de gestionare dinamică a memoriei bazat pe alocarea la cerere, Occlum v1.0 nu numai că mărește utilizarea memoriei fizice Enclave, dar și scurtează foarte mult timpul de încărcare a aplicațiilor pe TEE.
Au fost comparate datele Occlum v1.0 și versiunea anterioară a comunității 0.29. Performanța de programare a firelor de execuție a Occlum v1.0 este de 5 ori mai mare decât cea a versiunii anterioare. Când numărul de fire de execuție a aplicației crește, avantajul de performanță de programare al v1.0 devine mai evident. În ceea ce privește viteza de transfer al rețelei și debitul I/O fișierelor, în comparație cu versiunea anterioară, are, de asemenea, o îmbunătățire a performanței de 2x și 3x, în special în ceea ce privește IO-ul rețelei, care se poate apropia de viteza de transfer al rețelei native Linux în același mediu.



