Shim Library Accelerating System Calls via Benchmark Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer applications often experience delays in file retrieval and write operations due to hard-coded storage access patterns, making it difficult to change access methods without recompiling and redeploying the application, which is time-consuming and not always feasible.

Innovation Solution

A performance threshold is determined through benchmarking, allowing a shim library to intercept and alter system calls to optimize them for specific hardware and software configurations, accelerating system calls without requiring application reconfiguration or redeployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hard-coded storage access patterns are used in applications, then the application structure remains simple and stable, but the system call execution speed deteriorates and file access takes longer

Engineering Contradiction:
Improvesystem call execution speedVSAvoidapplication structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

A shim library is introduced as an intermediary component between applications and the file system. The shim library intercepts system calls, determines whether to accelerate them based on benchmark data, and executes optimized access patterns without requiring application modification. This mediator resolves the contradiction by improving speed while keeping application structure simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system separates the optimization logic from the application code by dividing functionality into: (1) application layer with hard-coded patterns, (2) shim library layer for interception and decision-making, and (3) file system layer for actual operations. This segmentation allows speed improvement in the shim layer without complicating application structure.

Inventive Principle:
Principle #1Segmentation

2Productivity

If storage access patterns are changed to optimize performance, then file access speed improves, but the application requires reconfiguration and redeployment which increases time and complexity

Engineering Contradiction:
Improvefile access throughputVSAvoidrecompilation and redeployment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Benchmark tests are performed in advance to determine optimal acceleration parameters for different hardware configurations. These results are stored and used by the shim library to automatically select appropriate optimization strategies without requiring real-time analysis or application reconfiguration. This preliminary action enables immediate productivity improvement without time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The shim library autonomously determines whether to accelerate system calls based on stored benchmark data and current hardware configuration. It self-manages the optimization process without requiring external intervention, application reconfiguration, or redeployment, thereby eliminating time loss while maintaining high productivity.

Inventive Principle:
Principle #25Self-service

3Speed

If a shim library is introduced to accelerate system calls, then system call execution speed improves, but the overall system complexity increases

Engineering Contradiction:
Improvesystem call response timeVSAvoidsystem architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The shim library is designed as a universal component that handles multiple functions: intercepting system calls, querying hardware configuration, retrieving benchmark data, deciding on acceleration, and executing optimized operations. This multi-functionality consolidates complexity into a single reusable module rather than distributing it across multiple components.

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

Solution Approach 2:

The shim library dynamically changes execution parameters (whether to accelerate a system call) based on hardware configuration and benchmark data, rather than requiring structural changes to the system architecture. This parameter-based approach allows speed improvement with minimal increase in system complexity.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If benchmarking is performed for all hardware configurations, then optimization accuracy improves, but the time and resources required for testing increase

Engineering Contradiction:
Improveperformance threshold accuracyVSAvoidbenchmarking time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Benchmark tests are performed specifically for each hardware configuration to determine optimal acceleration parameters tailored to that configuration's characteristics. This localized approach ensures high measurement precision for each specific hardware setup without requiring exhaustive testing of all possible configurations, thereby balancing accuracy with time efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11599267B2Performance threshold
Publication Date: 2023.03.07 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US11599267B2 patent drawing
  • US11599267B2 patent drawing
  • US11599267B2 patent drawing

AI summary

Example systems relate to system call acceleration. A system may include a processor and a non-transitory computer readable medium. The non-transitory computer readable medium may include instructions to cause the processor to run a plurality of benchmarks for a hardware configuration. The non-transitory computer readable medium may further include instructions to determine a benchmark matrix based on the plurality of benchmarks. The non-transitory computer readable medium may include instructions to determine an input/output (I/O) bandwidth ceiling for the hardware configuration based on the benchmark matrix. Additionally, the non-transitory computer readable medium may include instructions to determine a performance threshold of an I/O access parameter for the hardware configuration based on the bandwidth ceiling.