Prelinking Software for Virtual Memory De-duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization systems face inefficiencies in memory management due to randomization of memory addresses during prelinking operations, which hinders the detection and merging of duplicative content, leading to performance penalties in memory management techniques.

Innovation Solution

Implementing enhanced prelinking techniques that remove randomization for relocation operations of software libraries, allowing them to be stored using a known virtual address space, enabling memory de-duplication across multiple virtual machines and facilitating more efficient memory sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory address randomization is applied during prelinking operations, then security against attacks is improved, but memory de-duplication capability deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidmemory de-duplication capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different address assignment strategies to different code sections: readonly sections use fixed addresses to enable de-duplication, while other sections maintain randomization for security. This local differentiation resolves the contradiction by applying quality control at a granular level.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the software code into readonly sections and other sections, applying different address randomization policies to each segment. Readonly sections are assigned fixed addresses to facilitate memory de-duplication, while other sections maintain randomization for security purposes.

Inventive Principle:
Principle #1Segmentation

2Productivity

If fixed virtual addresses are used for software libraries, then memory sharing efficiency is improved, but security against attacks deteriorates

Engineering Contradiction:
Improvememory sharing efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies different address assignment strategies to different code sections: readonly sections use fixed addresses to enable de-duplication, while other sections maintain randomization for security. This local differentiation resolves the contradiction by applying quality control at a granular level.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the software code into readonly sections and other sections, applying different address randomization policies to each segment. Readonly sections are assigned fixed addresses to facilitate memory de-duplication, while other sections maintain randomization for security purposes.

Inventive Principle:
Principle #1Segmentation

3Reliability

If address space layout randomization is applied, then protection against exploits is improved, but performance of memory management techniques deteriorates

Engineering Contradiction:
Improveprotection against exploitsVSAvoidperformance of memory management techniques
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different address assignment strategies to different code sections: readonly sections use fixed addresses to enable de-duplication, while other sections maintain randomization for security. This local differentiation resolves the contradiction by applying quality control at a granular level.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the software code into readonly sections and other sections, applying different address randomization policies to each segment. Readonly sections are assigned fixed addresses to facilitate memory de-duplication, while other sections maintain randomization for security purposes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2788864B1Techniques to prelink software to improve memory de-duplication in a virtual system
Publication Date: 2016.09.21 INTEL CORP
  • EP2788864B1 patent drawingFigure 1
  • EP2788864B1 patent drawingFigure 2
  • EP2788864B1 patent drawingFigure 3

AI summary

Techniques to prelink software to improve memory de-duplication in a virtual system are described. An apparatus may comprise a processor circuit, a memory unit coupled to the processor circuit to store private memory pages for multiple virtual machines, and a dynamic linker application operative on the processor circuit to link a binary version of a software program with associated program modules at run-time of the binary version on a virtual machine. The dynamic linker application may comprise a master prelink component operative on the processor circuit to relocate a first set of program modules for a first binary version of the software program for a first virtual machine using a first set of virtual memory addresses from a first private memory page allocated to the first virtual machine, and store relocation information for the first set of program modules in a global prelink layout map for use by a second virtual machine. Other embodiments are described and claimed.