论文部分内容阅读
近年来,智能手机等移动设备日益普及,同时移动应用也越来越精细复杂,对移动设备的性能要求越来越高。尽管近些年移动设备在硬件配置上取得了很大的提升,但依然难以满足复杂应用(如3D游戏,增强现实等)的需求。为了弥补移动设备的性能缺陷,移动云计算应运而生,利用云上丰富的资源,可以很轻松的完成移动应用中复杂的计算任务。然而,传统移动云计算中高延迟等问题却极大地限制了移动云服务的用户体验。为此,诞生了边缘计算和雾计算。通过将用户请求发送到临近的边缘服务器上进行计算,从而避免了长距离网络传输延迟的问题。然而,相对于数据中心的高性能服务器,边缘服务器的计算能力和资源较为有限。传统虚拟机由于体积笨重,资源开销巨大,启动速度缓慢等问题,很难应用在这种场景下。因此,必须针对边缘计算环境设计更加轻量级的服务器运行环境来高效地为终端请求服务。 针对传统虚拟机在边缘计算场景下存在的问题,我们提出基于特性化内核技术——Unikernel构建超轻量级计算卸载云平台的方法。Unikernel是一种新兴的超轻量级内核虚拟化技术,相对于传统虚拟机,Unikernel具有启动快、体积小、资源开销少、安全性高等众多优势,可以满足边缘计算环境下对服务器运行时的苛刻要求。通过提出通用型Rich-Unikernel,并基于此提出内核离线编译与应用在线加载的方法,实现了将应该快速Unikernel化并共享基础镜像以省去耗时的重复编译工作,最后将部分计算卸载场景下常用的Android系统库移植到Unikernel中,以此实现了在Unikernel中为Android应用卸载代码提供支持。利用Unikernel的众多优势,实现了在毫秒级响应终端卸载请求,同时只占用极少的服务器资源。 实验结果表明,通过Unikernel构建的计算卸载云平台,其运行时启动速度比传统基于虚拟机的运行时快25倍以上,磁盘开销和内存开销都仅为基于虚拟机的运行时的10%左右,同时减小了云端运行时的能耗开销,极大地提高了云平台的效率并减小了云平台的负担。