Memory-Monitored Message-Signaled Interrupts for Virtualized Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing systems, managing message-signaled interrupts efficiently is challenging due to the restrictive address allocation in conventional MSI implementations, leading to increased computational and time overheads, especially when handling multiple events from various sources.

Innovation Solution

The system employs memory monitoring instructions to enable direct message-signaled interrupts (MSI or MSI-X) from event sources to a host or guest CPU, allowing for efficient event handling by writing interrupts directly to designated memory addresses, thereby reducing the need for interrupt controllers and minimizing overheads associated with conventional interrupt handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional MSI implementations are used in virtualized computing systems, then interrupt handling can be performed, but computational and time overheads increase due to restrictive address allocation and need for interrupt controllers

Engineering Contradiction:
Improveevent handling efficiencyVSAvoidinterrupt handling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the interrupt controller from the interrupt handling path by enabling message-signaled interrupts (MSI/MSI-X) where devices write directly to memory addresses monitored by the CPU. This eliminates the need for interrupt controllers to mediate between devices and CPUs, directly reducing computational overhead and handling time in virtualized environments

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces memory monitoring instructions as an intermediary mechanism that allows the CPU to efficiently detect changes at designated memory addresses without requiring traditional interrupt controllers. The memory monitoring instruction acts as a mediator between the device writing MSI messages and the CPU needing to respond, enabling direct communication while maintaining efficient event detection

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If message-signaled interrupts are implemented without memory monitoring instructions, then interrupt delivery is possible, but computational overhead increases due to lack of efficient event detection

Engineering Contradiction:
Improveevent detection efficiencyVSAvoidCPU energy consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent employs memory monitoring instructions that enable the CPU to enter wait states and periodically check for memory changes at designated addresses. This periodic monitoring mechanism allows the CPU to efficiently detect MSI events only when they occur, rather than continuously polling, thereby reducing energy consumption while maintaining efficient event detection capability

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The memory monitoring instruction enables the CPU to autonomously detect changes at monitored memory addresses without requiring external interrupt controllers or continuous software polling. The CPU services itself by automatically waking from wait states when monitored memory is written to, reducing the need for additional hardware and minimizing energy overhead

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If traditional interrupt handling with interrupt controllers is used, then all interrupt sources can be managed, but device complexity and system overhead increase

Engineering Contradiction:
Improveinterrupt source compatibilityVSAvoidinterrupt controller requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent leverages the universality of memory monitoring instructions to handle diverse interrupt sources without requiring separate interrupt controllers for each device. The same memory monitoring mechanism can detect MSI/MSI-X messages from any device that writes to the monitored address, providing a universal interrupt handling approach that reduces overall system complexity while maintaining adaptability to multiple interrupt sources

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent extracts the interrupt controller functionality by enabling devices to write directly to memory addresses that are monitored by the CPU. This removes the intermediary interrupt controller layer, simplifying the system architecture while maintaining the ability to handle multiple interrupt sources through direct memory-based signaling

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10078603B2MSI events using dynamic memory monitoring
Publication Date: 2018.09.18 RED HAT ISRAEL
  • US10078603B2 patent drawing
  • US10078603B2 patent drawing
  • US10078603B2 patent drawing

AI summary

A method and system for managing message-signaled interrupt-based events sent from an event source to a host or a guest is disclosed. A central processing unit instructs an event source to write a message-signaled interrupt to a designated address of a random access memory of the host. The host or a guest of the central processing unit executes a memory monitoring instruction to the designated address. The host or the guest enters a wait state. The host or the guest detects a write of the message-signaled interrupt by the event source to the designated address, the message-signaled interrupt comprising data items pertaining to an event to be performed. The host or the guest exits from the wait state. The host or the guest performs an atomic operation with respect to the event based on the data items in the message-signaled interrupt.