Implicit Locks in Shared Virtual Memory via Page Table Entries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional NUMA and ccNUMA systems burden applications with the need to explicitly manage application locks and invoke lock subsystem mechanisms, which does not alleviate the burden of protecting shared data.

Innovation Solution

The technique coordinates access to shared data using page tables for implicit locks, eliminating the need for explicit lock instructions and a specialized shared memory lock subsystem by utilizing page table entries to track and manage access to shared memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit lock instructions and a specialized lock subsystem are used, then shared data access coordination is achieved, but application complexity and burden increase

Engineering Contradiction:
Improveshared data access coordinationVSAvoidapplication complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the lock subsystem functionality into the existing virtual memory subsystem by utilizing page table entries for locking purposes. The page table, which already manages memory access, is enhanced to include lock state information, eliminating the need for a separate lock subsystem and reducing application burden while maintaining reliable coordination

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The page table structure is given multiple functions: it continues to manage virtual-to-physical address mapping while also serving as a locking mechanism. By embedding lock states in page table entries, the same data structure performs both memory management and access coordination, simplifying the overall system

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

2Reliability

If a separate lock subsystem is implemented, then shared memory coordination is provided, but system complexity increases

Engineering Contradiction:
Improveshared memory coordinationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The lock subsystem functionality is merged into the virtual memory subsystem by using page table entries to store lock states. This integration eliminates the need for separate lock management hardware or software structures, reducing system complexity while maintaining coordination capabilities

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The virtual memory subsystem serves itself by handling both address translation and locking functions through the page table. The system uses its existing infrastructure to provide lock management, eliminating the need for external or separate locking mechanisms

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7409525B1Implicit locks in a shared virtual memory system
Publication Date: 2008.08.05 EMC IP HLDG CO LLC
  • US7409525B1 patent drawing
  • US7409525B1 patent drawing
  • US7409525B1 patent drawing

AI summary

A technique coordinates access to shared data on a remote device from a local device having local physical memory. The technique involves observing a page table entry (PTE) on the remote device. The PTE is stored in a page table used for managing virtual to physical address translations and handling page faults between semiconductor memory and magnetic disk drive memory on the remote device. The technique further involves blocking access to the shared data from the local device when the PTE indicates that shared data corresponding to the PTE is in use on the remote device. The technique further involves moving the shared data into the local physical memory from the semiconductor memory of the remote device, and providing access to the shared data in the local physical memory when the PTE indicates that shared data corresponding to the PTE is not in use on the remote device.