Virtines: Virtualization at Function Call Granularity

ArXiv(2021)

引用 0|浏览0
暂无评分
摘要
Virtual execution environments provide strong isolation, ondemand infrastructure, simplified device models, and many other benefits for systems and application programmers. However, these environments are often perceived as heavyweight and rife with performance pitfalls for fine-grained or low-latency tasks. While others have shown that a virtual environment’s footprint can be drastically reduced by paring down the guest and host software stacks, in this paper we take a different approach. We probe the limits of finegrained, virtual execution by investigating the viability of hardware virtualized environments at function call granularity. We introduce a new abstraction called a virtine, or virtualized subroutine, and present the design of a new microhypervisor called Wasp that enables them. Through a series of examples we show that Wasp can enable virtines with start-up latencies as low as 100 μs. We also provide two convenient programming interfaces to virtines, using the Rust language and using extensions to C. Using these extensions we implement a simple HTTP server and integrate virtines into an off-the-shelf implementation of OpenSSL.
更多
查看译文
关键词
virtualization,function call granularity
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要