6 research outputs found
An Embedded Approach to Hypervisor-Oriented Interruption Virtualization Operation
This paper presents a method for virtualizing interruptions in an embedded hypervisor environment. The method involves the hypervisor taking control of hardware interruptions, providing them to a guest operating system (OS) for virtualization, and simulating interruption events through service threads running on the hypervisor. The guest OS executes a virtualization interruption service program using interruption injection operations provided by the hypervisor, bypassing the need to respond to hardware interruptions. This approach allows interruption service programs to be executed in a conventional stack environment, eliminating the need for copying and preserving the execution context. A comparative analysis with the virtualization scheme in Xen reveals that the proposed method reduces the overhead associated with field preservation, thereby enabling more efficient interruption response
Data Persistence Storage in VMs Cloud-Based Software
The virtual machine data persistence storage method in a cloud environment addresses the challenge of persistent storage for user data in cloud computing systems. This paper proposes a system and method that enables the creation and expansion of block devices for virtual machines. The method involves a major node receiving user requests, determining whether it is a block device creation or expansion request, and executing the appropriate steps. The major node interacts with storage nodes to create logical volumes and register them as block device services. By implementing this method, the issue of non-persistent storage for user data after virtual machine shutdown is effectively resolved. This paper presents a detailed description of the method, its background, research objectives, and a conclusion highlighting the significance and benefits of the proposed virtual machine data persistence storage system
Hadoop-based File Monitoring System for Processing Image Data
This paper presents a file monitoring system based on the Hadoop framework, specifically designed for image data processing. The system comprises a Hadoop cluster and a client, where the Hadoop cluster includes various modules such as a name node module, a name node agent module, data node modules, a matching module, and a response algorithm module. The name node agent module acts as an intermediary between the client and the name node module, forwarding function information and acquiring configuration information. The system provides comprehensive monitoring capabilities for the distributed file system, enabling real-time handling of requests and messages
A Scalable and Economical Method for Distributed Data Processing
This research paper presents a distributed data processing approach that involves the establishment of virtual machines, the creation of a distributed system, and the processing of data to obtain desired results. The proposed method aims to provide a simple and cost-effective solution for distributed data processing, with the ability to scale infrastructure according to the specific needs. Furthermore, a distributed data processing system is introduced, comprising virtual machines equipped with specialized software to facilitate the establishment of the distributed system. The method offers practical advantages in terms of implementation simplicity, reduced infrastructure costs, and improved resource utilization
Task Load and Work Property-Based Virtual Machine Dispatching Algorithm
This research proposes a virtual machine dispatching algorithm that takes into account the task load and work property of a virtual machine. The algorithm utilizes an interruption monitoring module to assess the interruption frequency of the virtual machine and determine whether it belongs to a CPU-dense or I/O-dense type. Additionally, a CPU monitoring module tracks the current CPU utilization rate to monitor the task load. By considering the historical information within a specified time range, the algorithm calculates a dispatching time segment for the virtual machine and notifies the dispatcher to update the time segment. The dispatcher module adjusts the credit value dispatcher based on inputs from the monitoring and CPU modules. It applies different dispatching time segments to virtual machines with varying work properties, aiming to reduce I/O request delays, provide sufficient time for I/O request handling, and minimize additional overhead. Notably, the modifications occur within the virtual machine monitor, ensuring practicality and adaptability
Recommended from our members
The Design, Implementation, and Evaluation of Software and Architectural Support for Nested Virtualization on Modern Architectures
Nested virtualization, the discipline of running virtual machines inside other virtual machines, is increasingly important because of the need to deploy workloads that are already using virtualization on top of virtualized cloud infrastructures. However, nested virtualization performance on modern computer architectures is far from native execution speed, which remains a key impediment to further adoption. My thesis is that simple changes to hardware, software, and virtual machine configuration that are transparent to nested virtual machines can provide near-native execution speed for real application workloads. This dissertation presents three mechanisms that improve nested virtualization performance.
First, we present NEsted Virtualization Extensions for Arm (NEVE). As Arm servers make inroads in cloud infrastructure deployments, supporting nested virtualization on Arm is a key requirement. The requirement has recently been met with the introduction of nested virtualization support for the Arm architecture. We built the first hypervisor using Arm nested virtualization support and show that, despite similarities between Arm and x86 nested virtualization support, performance on Arm is much worse than on x86. This is due to excessive traps to the hypervisor caused by differences in non-nested virtualization support. To address this problem, we introduce a novel paravirtualization technique to rapidly prototype architectural changes for virtualization and evaluate their performance impact using existing hardware. Using this technique, we introduce NEVE, a set of simple architectural changes to Arm that can be used by software to coalesce and defer traps by logging the results of hypervisor instructions until the results are actually needed by the hypervisor. We show that NEVE allows hypervisors running real application workloads to provide an order of magnitude improvement in performance over current Arm nested virtualization support and up to three times less overhead than x86 nested virtualization. NEVE is included in the Armv8.4 architecture.
Second, we introduce virtual-passthrough, a new approach for providing virtual I/O devices for nested virtualization without the intervention of multiple levels of hypervisors. Virtual-passthrough preserves I/O interposition while addressing the performance problem of I/O intensive workloads as they perform many times worse with nested virtualization than without virtualization. With virtual-passthrough, virtual devices provided by a host hypervisor, the hypervisor that runs directly on the hardware, can be assigned to nested virtual machines directly without delivering data and control through multiple layers of hypervisors. The approach leverages the existing direct device assignment mechanism and implementation, so it only requires virtual machine configuration changes. Virtual-passthrough is platform-agnostic and easily supports important virtualization features such as migration. We have applied virtual-passthrough in the Linux KVM hypervisor for both x86 and Arm hardware, and show that it can provide more than an order of magnitude improvement in performance over current KVM virtual device support on real application workloads.
Third, we introduce Direct Virtual Hardware (DVH), a new approach that enables a host hypervisor to directly provide virtual hardware to nested virtual machines without the intervention of multiple levels of hypervisors. DVH is a generalization of virtual-passthrough and does not limit virtual hardware to I/O devices. Beyond virtual-passthrough, we introduce three additional DVH mechanisms: virtual timers, virtual inter-processor interrupts, and virtual idle. DVH provides virtual hardware for these mechanisms that mimics the underlying hardware and, in some cases, adds new enhancements that leverage the flexibility of software without the need for matching physical hardware support. We have implemented DVH in KVM. Our experimental results show that combining the four DVH mechanisms can provide even greater performance than virtual-passthrough alone and provide near-native execution speeds on real application workloads