登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 经济学类 > 国际经济与贸易 > 正文

内核服务外包 ︰ 一种方法来提高性能和可靠性,虚拟化系统外文翻译资料

 2022-11-16 03:11  

KERNEL SERVICE OUTSOURCING: AN APPROACH TO IMPROVE PERFORMANCE AND RELIABILITY OF VIRTUALIZED SYSTEMS

SUMMARY

Virtualization environments have become basic building blocks in consolidated

data centers and cloud computing infrastructures. By running multiple virtual machines (VMs) in a shared physical machine, virtualization achieves high utilization of hardware resources and provides strong isolation between virtual machines. This dissertation discusses the implementation and the evaluation of an approach called kernel service outsourcing that improves the performance and the reliability of guest systems in virtualized, multi-kernel environments. Kernel service outsourcing allows applications to exploit operating system (OS) services from an external kernel existing in the shared system without limiting application OS service requests to the local kernel. Because OS services by external kernels may be more efficient services by local kernels, kernel service outsourcing creates new opportunities for better performance by applications in the guest OS. Moreover, application of the kernel service outsourcing technique implements natural diversity, which improves the reliability of virtualized systems.

We present two major benefits of kernel service outsourcing. First, we show that

I/O service outsourcing can improve the I/O performance of guest OSes by up to several multiples. In some important cases, the performance of network applications in the guest OS using network outsourcing was comparable to that of the native OS. We also applied kernel service outsourcing between Windows and Linux, and determined that kernel service outsourcing is viable even with two heterogeneous OS kernels. In addition, we studied more performance optimization techniques that can be successfully implemented in the external kernel when certain OS services are outsourced to the external kernel.

The second benefit of kernel service outsourcing is to improve system reliability through the natural diversity created by the combination of different kinds of OS kernel implementations. Because OS services can be outsourced to different versions or even to heterogeneous types of OS kernel for equivalent functions, malicious attacks that target certain vulnerabilities in specific versions of OS kernels cannot succeed in the outsourced kernels. Our case studies with Windows and Linux show that in the outsourced systems, kernel service outsourcing prevented malicious attacks designed to exploit implementation-dependent vulnerabilities in the OS kernels.

INTRODUCTION

Virtualized environments have become basic building blocks in consolidated data centers and in cloud computing infrastructures. By running multiple virtual machines (VMs) in a shared physical machine, virtualization achieves high utilization of hardware resources. Live migration and easy restart of VMs improve the manageability of large datacenters. Meanwhile, virtual machine technology provides strong isolation among virtual domains. For example, security isolation prevents a malicious application from attacking applications or accessing data in other domains. Fault isolation prevents one misbehaving application from bringing down the whole system. Environment isolation allows multiple operating systems to run on the same machine, accommodating legacy applications and cutting-edge software, each with a separate set of configurations and parameters.

Typically, guest OSes in the virtualized environments run heterogeneous OS kernels. Some OS kernels have different types of OSes, such as Linux and Windows. Different OS kernels often have different functionalities. For example, some OS kernels have privileges to access hardware devices directly, while others do not. Vulnerabilities found in one OS kernel may not appear in another OS kernel in a different domain. This heterogeneity of OS kernels provides an interesting opportunity for combined kernel service processing. Kernel processing in one domain may be more efficient because of the differences in privileges. Malicious attacks that compromise one guest system may not work in another OS kernel because of the kernel implementation differences.

In this dissertation, we implemented and evaluated a mechanism called kernel service outsourcing. This mechanism allows applications to exploit OS services from an OS kernel of another domain in the physical host (an external kernel). Using kernel service outsourcing, applications in one guest OS can bypass the kernel services of the OS kernel the applications are running on (a local kernel) and forward the kernel service requests to an external kernel best suited for processing the requests.

The concept of kernel service outsourcing among multiple kernels is not entirely new: the microkernel approach, which implements high-level OS services through user-level servers, has been researched extensively in the literature. Applications in the microkernel can exploit customized OS services through mechanisms such as interprocess communication (IPC). Researchers have recently revisited the microkernel concept to support better scalability and customized performance in multicore systems. Helios [46] introduced satellite kernels that are customized to heterogeneous cores in the system. Satellite kernels communicate through a uniform set of OS abstractions across the heterogeneous codes. Multikernel [6] suggests a new scalable OS architecture, in which a machine is viewed as a network of independent cores and traditional OS functionalities are moved to distributed processes that communicate through message passing. On the other hand, kernel service outsourcing in virtualized systems allows applications to delegate the processing of kernel services into another kernel.

This dissertation explores two benefits of kernel service outsourcing. First, by

deleg

剩余内容已隐藏,支付完成后下载完整资料


内核服务外包 ︰ 一种方法来提高性能和可靠性,虚拟化系统

摘要

虚拟化环境已成为基本构建块合并数据中心和云计算基础设施。通过在共享物理机上运行多个虚拟机 (Vm),虚拟化实现硬件资源利用率高和强之间提供隔离的虚拟机。本论文讨论了实施和评价的一种称为内核服务外包,提高性能和可靠性的客人系统虚拟化,多内核环境中。内核服务外包允许应用程序以利用从外部的内核不限制应用程序操作系统服务请求到本地内核共享系统中现有的操作系统 (OS) 服务。因为 OS 服务由外部内核可能更有效率的服务,由本地的内核,内核服务外包创造新的机会,为更好的性能通过在来宾操作系统中的应用。此外,内核服务外包技术中的应用实现自然的多样性,提高了虚拟化系统的可靠性。

我们目前内核服务外包的两个主要的好处。首先,我们表明,I/O 服务外包可以提高 I/O 性能的客人由操作系统进好几倍。在一些重要的情况下,来宾操作系统使用的网络应用程序的性能网络外包是本机操作系统相媲美。我们还应用之间 Windows 和 Linux 内核服务外包和确定内核服务外包是可行的即使有两个异构的操作系统内核。此外,我们研究了更多的性能优化技术可成功实现在内核中外部时某些 OS 服务外包给外部的内核。

内核服务外包第二个好处是提高系统的可靠性,通过自然的多样性由 OS 内核实现各种不同的组合。因为可将 OS 服务外包到不同版本或甚至到异构类型的等效功能的操作系统内核,针对某些特定版本的 OS 内核中的漏洞的恶意攻击不能成功在外包的内核中。我们与 Windows 和 Linux 的案例研究表明,在外包的系统中,内核服务外包阻止旨在利用执行依赖于 OS 内核中的漏洞的恶意攻击。

介绍

虚拟化的环境已成为整合的数据中心和云计算基础架构的基本构造块。通过在共享物理机上运行多个虚拟机 (Vm),虚拟化实现硬件资源利用率高。实时迁移和容易重启虚拟机的改进的可管理性的大型数据中心。同时,虚拟机技术提供了强大的虚拟域之间的隔离。例如,安全隔离可以防止恶意应用程序攻击的应用程序或访问其他域中的数据。故障隔离可以防止一个行为不端的应用程序从打倒整个系统。环境隔离允许多个操作系统运行在同一计算机上,可容纳旧版应用程序和技术领先的软件,每个都有单独的一组配置和参数。

通常情况下,来宾操作系统运行异构的操作系统内核的虚拟化环境中。一些操作系统内核有不同类型的操作系统,Linux、 Windows 等。不同的操作系统内核往往有不同的功能。例如,一些操作系统内核有硬件设备直接访问,而别人没有的特权。发现在一个 OS 内核中的漏洞可能不出现在不同的域中的另一个 OS 内核。此非均质性的 OS 内核提供有趣的机会,结合的内核服务处理。处理在一个域中的内核可能效率更高的特权的差异性。破坏一个客人系统的恶意攻击由于内核执行差异在另一个操作系统内核中可能不工作。

在本论文中,我们实施和评价的机制称为内核服务外包。这种机制允许应用程序以利用从另一个域中的物理主机 (外部的内核) 操作系统内核的操作系统服务。一位客人,操作系统可以绕过操作系统内核应用程序的运行 (本地内核) 和内核服务请求转发到外部的内核最好的内核服务的应用程序使用内核服务外包,适合于处理的请求。

中多个内核的内核服务外包的概念并不是一个全新 ︰ 微内核的方法实现高级别通过用户级服务器的 OS 服务,已得到了广泛关注的文学。在微内核中的应用可以通过诸如进程间通信 (IPC) 机制利用自定义的 OS 服务。研究人员最近回顾微内核概念,以支持更好的可扩展性并在多核系统中自定义性能。非均质岩心的情况下在系统中自定义的赫利俄斯 [46] 介绍了卫星内核。卫星内核通信通过一套统一的操作系统抽象跨异构的代码。Multikernel [6] 建议新可扩展操作系统的体系结构,在其中一台机器被看作是独立的核心网络和传统 OS 功能移到通过消息传递通信的分布式流程。另一方面,虚拟化系统内核服务外包允许应用程序将委派到另一个内核的内核服务处理。

本论文探讨了内核服务外包的两个好处。第一,由

委派到一个特权的操作系统或主机操作系统的访客操作系统的 I/O 服务,内核服务外包绕过慢内核处理在访客操作系统的开销,达到更好的 I/O 性能。这被通过使用高效的内核处理的很 OS 内核。我们与不同来宾操作系统,如 Linux 的客人和客人 Windows 网络和文件系统服务的实验表明内核服务外包提高了 I/O 性能由尽可能多几次相比访客操作系统与虚拟设备。

内核服务外包第二个好处是提高了系统可靠性,通过结合两个不同的内核实现,创造了自然多样性。基于内核服务外包的自然多样性有优点,开发成本低、 应用程序兼容性,并提供有效防御针对依赖于实现漏洞的恶意攻击。我们提出基于自然的多样性,通过使用三个真实世界的例子,Windows 和 Linux 内核中存在的漏洞防御的效能。

本文的第一个贡献是可行性的其示范内核服务外包与现实世界的应用和展示的有效使用情况下,得益于我们的方法。若要显示该方法是可行的办法,在实际环境中,我们应用内核服务外包到几个不同来宾操作系统,如 Linux 和 Windows,以便外包加工为访客操作系统的主机操作系统内核的文件系统和网络这种内核服务。在我们的实验中,网络服务外包大大增加网络应用程序,匹配性能的本机系统在一些重要的情况下的吞吐量。我们也应用于完全虚拟化的来宾系统中网络服务外包机制和委托加工两个异构的操作系统,Windows 和 Linux 之间的服务网络。在此研究中,我们显示 outsourcing mechanism 是一个可行的解决方案,甚至与两个异构操作系统通过提高 fullyvirtualized Windows 网络性能了几倍。

本论文第二个贡献是影响的内核服务外包对系统性能和资源使用情况及其详细的分析。我们使用低级系统特性测量工具,如 dstat 和 kvm_stat,以及性能分析的工具,OProfile,监视低级系统的特性,如 CPU 利用率的总执行的指令数、 上下文切换的次数、 数量的模拟特权的指令,L2 缓存未命中和 TLB 失效。我们的测量结果显示内核服务外包网络和文件系统大大降低了此类系统资源使用,如 CPU 利用率。

第三个贡献是以目前的技术,提高系统性能在来宾操作系统中的集合。通过交流共享内存和减少内核用户级边界过境点的技术可以显著提高系统性能。我们与用户级内核服务展示我们的案例研究,并证明如何收集这些技术提供了更好的网络性能,在访客操作系统。此外,外部内核在这些技术中的应用可以导致更好的性能的几个倍数作为文件套接字直接数据传输这种活动的来宾系统中运行应用程序。

本文的第四个贡献是介绍一种方法来提高系统的可靠性。内核服务外包可以用于通过结合不同的内核服务实现实现的自然的多样性的 OS 服务。为了证明我们的方法的实用性,我们目前的现实世界中广泛使用 OS 内核 (Windows 和 Linux) 的安全漏洞的几个实例,并显示如何 kernelservice 外包有效地阻止恶意攻击成功利用这些漏洞。

本论文的最后贡献是提出在不同的操作系统和虚拟化平台中实现内核服务外包有条理的方法。各种各样的操作系统和虚拟化平台防止内核服务外包从被容易地部署到不同的环境。我们为内核服务外包的有条不紊、 循序渐进的方法,并展示如何应用此方法来执行网络和文件系统服务外包。

背景和相关的工作

在早些时候努力分享昂贵的大型机硬件由多个用户的不同要求探索了虚拟机 (VM) 的技巧。最早是 IBM VM/370,使用虚拟化来支持遗留的二进制文件。最近,虚拟化技术已成为广泛用于在数据中心实施服务器整合,提高了资源利用率,还可提供虚拟机之间的隔离。

尽管优势虚拟化提供,虚拟化的系统常常遭受的各种间接费用由虚拟化层差 I/O 性能。很多最近的研究工作集中在提高 I/O 性能的虚拟化系统。准虚拟化技术提高修改访客操作系统内核代码和应用新的虚拟设备,如拆分虚拟设备驱动程序模型的来宾操作系统的性能。其他的研究者们能够提高通过 VMM 绕客人 I/O 性能。然而,I/O 性能问题仍然存在一些重要的情况下,例如,I/O 性能的硬件辅助的完整的虚拟机 (HVM) 仍然是低因为无法修改访客操作系统内核代码的限制。

Bochs 项目模拟大量的不同的 x86 处理器环境对商品的操作系统。UMLinux 和 UML 是直接操作系统端口用户级操作系统。王等人描述与 UMLinux; 相关的开销7 频繁主机上下文切换,保护内核空间和应用程序之间切换。他们通过将一些 UMLinux 功能移动到主机内核减少频繁主机上下文切换。聚合的系统调用,我们介绍第 3 章中,遵循了类似的做法。开销的其他两个来源描述最近版本发布,UML 中的 SKAS 主机修补程序被删除。

研究人员作出努力改善网络性能的用户级 Vmm 的上下文切换减少、 避免复制和网络堆栈专业化。虽然他们的方法注重优化和专业化的来宾操作系统,内核服务外包方式绕过了整个加工在来宾操作系统中的提高网络性能。PlanetlabOS 使多个用户共享同一硬件,向每个用户提供一个虚拟化的用户级别工作环境。然而,PlanetlabOS,通过使用基于 Linux 和丝绸,实现不是一个完全虚拟化的操作系统因为其网络子系统未虚拟化。

许多研究工作重点实现高效数据包处理通过折叠层。集成的层处理 (ILP) 通过减少冗余复制和缓冲提高了性能。合成内核折叠层通过内联代码替换并应用保理不变量的进一步优化。在本论文中,我们适用 userlevel 操作系统改进的网络性能的网络堆栈代码代码专业化技术。

除了 ILP,已提出了几个方案没有复制图层间移动数据。朱为 Solaris 使用页面重新映射和写入时复制描述零拷贝 TCP 协议栈实现。Fbufs 使用 8 共享的内存空间不同的地址空间域之间移动数据。我们共享套接字缓冲区技术使用的 fbuf 同样的想法。

其他研究工作已通过优化设备驱动程序来提高网络性能的来宾操作系统。研究人员在文章中,介绍了新的虚拟网络设备驱动程序包含常见硬件 TCP/IP 校验和卸载更好来宾操作系统网络性能优化技术。VMware 工作站批仿真的几个 I/O 指令,可以减少上下文切换的次数。VMware 虚拟机界面 (VMI) 提供半虚拟化 I/O 功能,访客操作系统能用半虚拟化网络驱动程序。虽然这些方法主要关注于设备级模块基于半虚拟化,我们的核心服务外包方式提供 API 级别的虚拟化。

XWay、 XenLoop 和 XenSocket 加速除 VM 通信在 Xen 中的通过使用共享的内存和其他的 Xen 的通信支持。这些方法只注重提高除 VM 通信性能。我们网络服务外包技术已经能够通过消除冗余网络在来宾操作系统处理提高除 VM 通信性能。通过利用虚拟机之间共享的内存的专业化技术的应用,我们进一步提高除 VM 网络性能。第 3 章中提出了我们的测量结果。

TCP/IP 卸载委托到硬件的某些网络处理。其他研究人员使用专用的 Cpu 在对称多处理器 (SMPs) 和专用的群集节点为委托网络处理。应用程序必须进行通信的专用的 Cpu 和节点与共享的内存和系统区域网络 (SNA)。库马尔等人加速通讯产品加工; 使用 9 个网络处理器。拉杰等人提出提供虚拟接口,通过该客人域可以访问物理设备、 提高网络吞吐量,减少他们在实验中使用 IXP24 基于主板的延迟自虚拟化 I/O 的概念。一些研究者使用网络处理器在系统中增加计算/通信重叠,通过动态映射不同的流处理到最适合的平台。网络处理内核服务外包可以看作技术,如 TCP/IP 卸载的软件实现。然而,不像其他的办法,我们内核服务外包方法不需要特殊的硬件或专用的系统资源。

在农 et al,来宾操作系统运行在域-U 可以使用智能网卡设施,包括分散/聚集 I/O 和 TCP/IP 校验和卸载。Linux 内核后 2.6.24 版本包括一个框架,称为 Virtio 为半虚拟化设备驱动程序。VMware 虚拟机界面 (VMI) 为半虚拟化网络驱动程序在 VMware 工作站提供 I/O 设施。这些办法着重于低层模块基于半虚拟化,而我们专注于基于内核服务外包高级模块。

研究人员亦已在虚拟磁盘上他们的努力。Ventana 介绍了虚拟化意识到分布式文件系统,提供功能强大的版本控制、 安全性和流动性属性的虚拟磁盘的好处。O2S2 体系结构提供了基于对象的存储设备服务的启用高效共享的物理设备、 动态访问控制和基于可用性的性能隔离在异构存储环境中的虚拟机。用户模式 Linux 包括一种称为 hostfs 访问主机操作系统中的文件的特殊文件系统。合作 Linux (coLinux) 是一个端口 10 为 Windows 和 Linux Linux。合作 Linux 包括一种称为 cofs 访问 Windows 文件的特殊文件系统。在 UML 中的 hostfs 文件系统作为文件系统内核服务外包遵循类似的办法。不过,我们内核服务外包达到更好的性能,通过使用有效的技术,如 DLL 注入截获系统调用从应用程序,而 UML 遭受沉重的拦截系统调用的开销。

此外,还探讨了虚拟化的图形处理单元 (Gpu)。Gupta 等提出了一种设计进行虚拟化和管理系统资源的一般用途由 Gpu 加速的 GViM 系统。

多样性是物种的一种重要的自然防御技术,以提高生存能力在疫症中,例如,在新型病毒的传播。研究人员有多样性概念应用到计算机软件在试图改善软件的可靠性。N 版本节目增加了通过实施相同规格的软件组件的不同版本的软件可靠性。然而,n 版本编程通常需要执行和维护成本高。

随着信息技术的发展,近年来的分集技术应用更令人鼓舞。自动化的技术,有时

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[30032],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图