Syscall Scheduler Segments Long Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face inefficiencies in syscall processing due to long-running syscalls that occupy array control devices for extended periods, leading to increased requirements for array control devices and higher overall syscall processing times, which can result in reduced availability for user IO and increased complexity in managing large numbers of devices.

Innovation Solution

Implementing an optimized syscall scheduling process that breaks long-running syscalls into discrete operations, saves the state of partially executed syscalls, and reorders their execution to free up array control devices for other syscalls, thereby reducing the overall number of devices needed for management traffic and improving response times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If long-running syscalls are executed to completion without interruption, then syscall processing is simple and state management is minimal, but array control devices are occupied for extended periods increasing the number of devices required

Engineering Contradiction:
Improvenumber of array control devicesVSAvoidsyscall processing simplicity
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent segments long-running syscalls into multiple smaller operations or time slices. The syscall scheduler divides the execution of a long-running syscall into discrete units, allowing the array control device to be freed between units. This segmentation enables the system to handle fewer devices while maintaining processing capability, as multiple devices can be utilized concurrently for different syscall operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic syscall processing where the execution of syscalls can be paused and resumed based on device availability. The syscall scheduler dynamically adjusts the processing state of syscalls - transitioning between executing, paused, and completed states - to optimize device utilization. This dynamic approach allows the system to adapt to varying workload conditions and reduce the total number of devices required.

Inventive Principle:
Principle #15Dynamics

2Reliability

If long-running syscalls occupy array control devices continuously, then device availability for user IO is reduced, but implementing interruption and state saving increases system complexity

Engineering Contradiction:
Improvedevice availability for user IOVSAvoidsyscall scheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The syscall scheduler segments the execution of long-running syscalls into manageable portions, allowing the array control device to be released and reallocated to user IO operations between syscall segments. This segmentation ensures that device availability for user IO is maintained while the syscall processing continues in the background, resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a syscall scheduler as an intermediary component that mediates between the management applications and the array control devices. This scheduler handles the complexity of interruption, state saving, and device allocation, allowing long-running syscalls to proceed without blocking device availability for user IO. The intermediary absorbs the scheduling complexity while maintaining simple device access for user applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the number of array control devices is increased to handle more concurrent syscalls, then syscall processing throughput improves, but management traffic complexity and resource allocation requirements increase

Engineering Contradiction:
Improvesyscall processing throughputVSAvoidmanagement traffic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic device allocation and syscall scheduling that adapts to the current workload. Rather than provisioning a fixed number of devices for maximum throughput, the system dynamically assigns devices based on actual syscall processing needs. This dynamic approach maintains high productivity during peak loads while reducing complexity during lower-demand periods, optimizing the throughput-complexity trade-off.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The syscall scheduler is designed to handle multiple types of syscalls and device operations through a unified mechanism. The same scheduling infrastructure manages both long-running syscalls and quick operations, as well as allocation across multiple devices. This multi-functionality reduces the need for separate management mechanisms for different device scenarios, thereby reducing overall management traffic complexity while maintaining high throughput capability.

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

Data Source

PatentUS20240012698A1Method and Apparatus for Optimizing System Call (Syscall) Processing
Publication Date: 2024.01.11 DELL PROD LP
  • US20240012698A1 patent drawing
  • US20240012698A1 patent drawing
  • US20240012698A1 patent drawing

AI summary

A management daemon sorts syscalls received from the management applications into First In First Out (FIFO) queues and, when there is an available array control device, selects a syscall from one of the FIFO queues, and spawns a thread on the available array control device to service the selected syscall. The management system has a syscall scheduler configured to optimize handling of syscalls, by breaking long running syscalls into discrete operations, implementing a portion of the syscall, and then stopping operation of the syscall while saving the state of the partially executed syscall. The partially executed syscall is placed back into a queue for subsequent operation, thus freeing up the array control devise for use in connection with other syscalls. By optimizing syscall scheduling, and incremental processing of long running syscalls, it is possible to reduce the overall syscall processing time for a set of syscalls.