Shim Library Accelerating System Calls via Benchmark Thresholds
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Speed
If a shim library is introduced to accelerate system calls, then system call execution speed improves, but the overall system complexity increases
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.
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.
4Measurement precision
If benchmarking is performed for all hardware configurations, then optimization accuracy improves, but the time and resources required for testing increase
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.
Data Source
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.


