ORC: Increasing Cloud Memory Density via Object Reuse with Capabilities
ORC: Increasing Cloud Memory Density via Object Reuse with Capabilities
复制标题
DOI:
--
复制
发表时间:
2023
期刊:
影响因子:
--
通讯作者:
V. Sartakov;Lluís Vilanova;Munir Geden;D. Eyers;Takahiro Shinagawa;P. Pietzuch
中科院分区:
文献类型:
--
作者:
V. Sartakov;Lluís Vilanova;Munir Geden;D. Eyers;Takahiro Shinagawa;P. Pietzuch
Cloud environments host many tenants, and typically there is substantial overlap between the application binaries and libraries executed by tenants. Thus, memory de-duplication can increase memory density by allocating memory for shared binaries only once. Existing de-duplication approaches, however, either rely on a shared OS to de-deduplicate binary objects, which provides unacceptably weak isolation; or exploit hypervisor-based de-duplication at the level of memory pages, which is blind to the semantics of the objects to be shared. We describe Object Reuse with Capabilities (ORC) , which supports the fine-grained sharing of binary objects between tenants, while isolating tenants strongly through a small trusted computing base (TCB). ORC uses hardware support for memory capabilities to isolate tenants, which permits shared objects to be accessible to multiple tenants safely. Since ORC shares binary objects within a single address space through capabilities, it uses a new relocation type to create per-tenant state using thread-local storage when loading shared objects. ORC supports the loading of objects by an untrusted guest, outside of its TCB, only verifying the safety of the loaded data. Our experiments show that, compared to hypervisor-based de-deduplication, ORC achieves a higher memory density with a lower performance overhead.