序一
面对新一轮全球科技产业竞争,更高效能的新一代系统的软硬件已成为各国政府高度重视并优先布局的方向。新应用、新技术、新计算架构、百亿级连接、爆炸式数据增长将重塑ICT(信息和通信技术)产业新格局,催生新的计算产业链条。如同在物理世界中电力是生产力一般,在数字经济时代,算力是生产力,驱动数字经济高质量发展。2019年,华为公司首次发布计算产业战略,以鲲鹏和昇腾为根基,围绕五大根技术CPU、NPU、OS、DB和AI框架,持续构建开放生态,联合产业伙伴共同推进计算产业发展。
由《鲲鹏计算产业发展白皮书》可知,“到2023年,全球基础软件市场空间将达1524.7亿美元,5年复合增长率为5.3%,中国基础软件市场拥有更大的活力和增长潜力。在操作系统、虚拟化等软件市场,新计算平台的出现,为厂商带来了更大的发展空间”。因此,虚拟化是计算全栈的重要技术之一,是基础软件生态的重要组成部分。
虚拟化技术当前主要应用于从云数据中心到边缘智能设备等 “云网边端”全场景。历史上,虚拟化技术和计算机的发展密切相关,相辅相成。从1959年开始,虚拟化技术就一直备受重视,在主机、服务器和云计算时代,虚拟化技术一直是计算的底层推动力之一。在早期的主机虚拟化和x86虚拟化阶段,我们的虚拟化技术整体受制于人。但随着新型硬件和新型计算架构的出现,我们在系统虚拟化方面取得了部分突破,并建立了基于多样化算力的虚拟化基础软件生态。我相信随着计算产业的持续战略投入,必将迎来一个以系统虚拟化等技术为代表的基础软件黄金时代。
计算产业的繁荣离不开生态的支持,华为公司将通过“硬件开放、软件开源、使能伙伴、发展人才”的方式构建计算产业生态,并为此建立了openEuler等一系列开源社区,持续投入开源社区建设,同时推出“华为智能计算技术丛书”。作为该丛书的重要组成部分,本书基于主流虚拟化架构,结合鲲鹏和openEuler操作系统的虚拟化技术,系统介绍了CPU、内存和I/O 虚拟化的基本原理,通过重要的虚拟化相关文献和静态源码解读深入理解原理,设计实验进行动态技术验证。通过“理论+实践”的有机结合,动手构建一个基于开源StratoVirt的轻量级虚拟化平台,希望帮助读者更好地理解系统虚拟化技术的来龙去脉。希望读者通过本书,将虚拟化技术更深入地应用到计算产业中,共同构建繁荣的可持续发展的基础软件新生态,共创数字经济新未来!
华为技术有限公司副总裁/计算产品线总裁
2021年9月
序二
互联网、物联网、5G移动通信、大数据、云计算、人工智能、虚拟现实、区块链等新一代信息技术将加速创新和应用步伐。随着算法、算力和数据的进一步发展,众多的新兴计算模式正在创造万物互联的新时代,数字化、网络化、智能化的基础设施将发挥更大的作用。云计算作为信息社会的重要基础设施,承载了物联网、大数据、人工智能等各种各样的应用,我国“十三五”规划将云计算列为国家的重大战略性新兴产业予以大力扶持和发展。在数字化基建的推动下,新技术、新模式不断发展,我国云计算迎来快速发展期,延伸出创新的应用场景和市场需求。我国拥有数量较多的网民和IT从业者,拥有较好的移动通信基础设施,拥有较多的超级应用需求,云计算基础设施具有超级应用驱动、系统深度集成和优化、平台高度可扩展的特点。因此,我国主要的云服务提供商倾向于构建自己的基础设施,并为其超级应用量身定制了大量优化,并且正朝着软硬件共同设计的方向发展,以提高效率和灵活性。由此可见,云计算规模的增长使效率成为首要的优化目标,基于深度集成和优化才能提供具有竞争力的云计算产品和服务。
系统虚拟化技术是云计算的核心支撑技术之一,我国在这方面长期落后。近年来,随着国内学术界和工业界的不断努力,系统虚拟化技术与国外的差距正在缩小,但国内这方面的人才比较缺乏。只有解决了人才问题,我们才能在国际竞争中不落下风。目前,鲲鹏计算产业生态正在蓬勃发展,从产业生态和人才培养的角度来看,《深入浅出系统虚拟化: 原理与实践》的出版有助于推广虚拟化技术,有利于构建软硬件协同、深度集成和优化的可扩展的自主云计算基础设施。本书系统地介绍了当前系统虚拟化技术的发展历史、基本原理和应用实践,包括CPU、内存和I/O等主要硬件资源的虚拟化方法和技术,以及华为公司的鲲鹏虚拟化架构和基于Rust的轻量级虚拟化平台。同时结合虚拟化技术领域的前沿研究,本书还介绍了通用“多虚一”架构的关键技术路线。通过本书的源码分析,读者能较为深入地了解系统虚拟化的基本原理,并通过相应的实验动手实践。本书适合用作高年级本科生或研究生学习虚拟化和云计算的教材,对于希望在虚拟化和云计算领域进行深入探索的研发人员,本书也是一部很好的参考书。
金海
华中科技大学教授/IEEE Fellow2021年9月