Hardware Update Mechanism for Virtualized Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, updating computing resources such as hypervisors and microcode while maintaining system stability and minimizing disruption to connected customers is challenging, especially when security patches and software updates are required, as interruptions can significantly impact user experience.
Innovation Solution
The use of hardware-supported management modes, like SMM, allows for suspended instruction execution, enabling safe updates of virtualization software and firmware by isolating and authenticating updates within a secure memory area, ensuring minimal disruption by resuming execution without restarting servers or shutting down virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional software update methods are used to patch security flaws and software bugs, then system reliability is improved, but system availability deteriorates due to required interruptions and restarts
Solution Approach 1:
The system is segmented into two separate processor execution contexts: a service domain (SD) for performing updates and a customer domain (CD) for maintaining customer workloads. This segmentation allows updates to be applied in isolation without interrupting customer-facing services, resolving the contradiction between improving reliability through updates and maintaining productivity/availability.
Solution Approach 2:
A hypervisor acts as an intermediary layer between the physical hardware and customer virtual machines. The hypervisor enables the processor to switch between service domain and customer domain execution contexts, facilitating seamless updates while maintaining continuous service availability. The hardware-supported execution environments provide the intermediary mechanism for transitioning between update and service modes.
2Productivity
If computing resources are shared amongst multiple customers via virtualization, then resource utilization efficiency is improved, but the complexity of coordinating updates without impacting customer experience increases
Solution Approach 1:
The virtualization architecture is segmented into customer domains for service delivery and a service domain for management operations. This segmentation simplifies update coordination by providing a dedicated execution context that is isolated from customer workloads, eliminating the need for complex coordination mechanisms while maintaining high resource utilization through virtualization.
3Reliability
If server restarts are performed to install updates, then software bug fixes are applied, but service interruption to virtual machines occurs
Solution Approach 1:
The processor dynamically switches between execution contexts (service domain and customer domain) based on operational requirements. This dynamic context switching enables updates to be applied in the service domain without requiring server restarts or VM shutdowns, eliminating service interruption time while ensuring software updates are properly applied through the controlled service domain execution environment.
Data Source
AI summary
Techniques for using hardware-based mechanisms for updating computing resources are described herein. At a time after receiving a code update request, one or more hardware-supported system management capabilities of processors within a computing system are invoked at least to interrupt execution of currently running instructions. While the system management capabilities are active and instruction execution is suspended, programmatic routines are updated. After the updates are complete, instruction execution is resumed.


