Multi-Kernel I/O Offloading via Shared Memory and DMA

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory access management in manycore systems, particularly in portable devices, faces challenges in optimizing performance and power usage due to interference from conventional operating systems and the difficulty in applying high-performance file input/output techniques to lightweight kernels, leading to performance degradation.

Innovation Solution

A method and apparatus for processing input/output operations in a multi-kernel system by setting shared memory between a main processor and a parallel processor, using dynamic memory access (DMA) to offload file input/output tasks, minimizing operating system interference and enhancing performance through a lightweight kernel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional operating systems are used in manycore systems, then system stability and comprehensive functionality are maintained, but performance degradation occurs due to software stack interference and computing overhead

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system is segmented into multiple independent kernel spaces: a first kernel space running on a main processor and a second lightweight kernel space running on a parallel processor. This segmentation allows the lightweight kernel to operate without the interference of conventional OS software stacks, achieving high performance for specific tasks while the main processor handles general system functions, thus resolving the contradiction between stability and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A shared memory space is introduced as an intermediary between the first kernel and the second lightweight kernel. This shared memory enables efficient communication and data exchange without requiring complex inter-process communication mechanisms from conventional OS kernels, reducing overhead while maintaining system coherence and stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If lightweight kernel is used on parallel processor, then operating system interference is minimized and processing speed is enhanced, but file input/output capability is lost due to absence of software stack

Engineering Contradiction:
Improveprocessing speedVSAvoidfile input/output capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The first kernel acts as an intermediary that provides file input/output capabilities to the second lightweight kernel. When the lightweight kernel needs to perform file I/O operations, it communicates these requests through the shared memory to the main processor's kernel, which then executes the appropriate file system operations and returns results, thus enabling I/O capability without adding software stack overhead to the lightweight kernel.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The shared memory space serves multiple functions: it acts as both the execution environment for the lightweight kernel and the communication channel for file I/O operations. This multi-functionality allows the system to maintain processing speed while gaining file I/O capability through a single unified mechanism.

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

3Speed

If shared memory is set between main processor and parallel processor, then data transmission efficiency is improved, but system complexity increases due to additional memory management requirements

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The shared memory is merged with the existing memory management structures of the first kernel. The first kernel manages the shared memory as part of its address space, using existing page table and memory allocation mechanisms. This approach enables efficient data transmission between processors without requiring a completely separate and complex memory management subsystem.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11042394B2Method for processing input and output on multi kernel system and apparatus for the same
Publication Date: 2021.06.22 ELECTRONICS & TELECOMM RES INST
  • US11042394B2 patent drawing
  • US11042394B2 patent drawing
  • US11042394B2 patent drawing

AI summary

Disclosed is an apparatus and method of processing input and output in a multi-kernel system. A method of processing input and output in a multi-kernel system according to the present disclosure includes: setting a shared memory between a first kernel on a main processor and a lightweight kernel on a parallel processor; setting a data transmission and reception channel between the first kernel on the main processor and the lightweight kernel on the parallel processor using the shared memory; providing, on the basis of the data transmission and reception channel, an input/output task that occurs in the lightweight kernel to the first kernel on the main processor; processing, by the first kernel on the main processor, an operation corresponding to the input/output task; and providing a result of the processing to the lightweight kernel.