Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 

Repository files navigation

proj227-Lightweight-resource-isolation-technology-based-on-eBPF

题目 设计实现基于eBPF的轻量级资源隔离技术

学校:华中科技大学

队名:nopnop 队员:姜昊哲,朱晔,王与峥 指导教师:樊浩,邵志远

项目简介

我们设计实现了Esolation,这是一款serverless框架下,基于eBPF和wasm的轻量级、用户可定义的CPU、network、IO、Memory资源隔离机制和内存共享机制,
目标为降低serverless中函数运行容器的初始化开销,提高高并发下函数沙箱的启动速度。

赛题目标

· 目标一:实验测试现有cgroup、namespace机制的并发性能
· 目标二:基于eBPF实现对disk io、network io资源的约束
· 目标三:基于eBPF实现对CPU、Memory资源的约束

项目进度

· 已完成cgroup并发启动性能的测试和wasm启动性能的测试
· 设计并实现了基于eBPF对CPU、Memory资源的约束
· 设计和基本实现了基于eBPF的内存共享
· 设计了基于eBPF对IO、network资源约束的方案

项目贡献

我们基于wasm容器作为serverless沙箱搭建平台,利用eBPF技术,实现了名为 Esolation 的一种轻量级的、无侵入的、平台可定义的、满足无感知计算平台隔离需求的资源隔离机制。
Esolation利用wasm实例独立的线性内存,保证了内存的天然隔离,并显著降低了平台容器启动的时间开销;引入了新的eBPF程序类型与辅助函数,在Linux的调度器中设置了一系列覆盖
容器生命周期的eBPF挂载点以动态执行隔离策略,通过BPF程序中轻量的数据结构设计,在不改变原有调度逻辑的情况下,于内核调度器中完成了对cgroup机制的对标与优化;提出了利用
eBPF进行网络虫洞加速与穿越overlay网络的初步设计;验证了利用eBPF可以完成高效的容器内存共享以减少容器通信开销的方法;设计了利用eBPF在通用块设备层实现按比例分享和IO
带宽限制的方案。

代码文件说明

我们的代码仓库请访问Github链接:https://github.com/LancelottJ/proj227-nopnop-code-repository

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages