Application-Reserved Cache for Direct I/O Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-speed and high-throughput network workloads, CPU caches become inefficient due to competing demands from various applications, daemons, and operating system tasks for limited resources, leading to reduced performance.

Innovation Solution

Reserving portions of cache for specific applications allows direct transfer of I/O data to and from the cache without intermediate storage in system memory, using techniques like direct memory access (DMA) and memory controllers to bypass RAM, thereby optimizing data processing speed for network applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CPU cache is shared among multiple applications and operating system tasks, then resource utilization is improved, but processing speed for individual applications deteriorates due to competing demands

Engineering Contradiction:
Improvecache resource sharingVSAvoiddata processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The CPU cache is segmented into application-reserved cache portions and system cache portions. The application-reserved cache is dedicated to specific applications for direct I/O operations, while the system cache serves operating system tasks. This segmentation eliminates competition for cache resources between applications and system tasks, allowing high-speed direct I/O processing while maintaining overall system functionality.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If I/O data is transferred through system memory (RAM), then data accessibility is improved, but processing time increases due to additional memory access steps

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata access time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The direct I/O path extracts the I/O data transfer process from the conventional I/O controller → system memory → application sequence. Instead, I/O data is transferred directly from the I/O controller to the application-reserved cache portion, bypassing system memory entirely. This extraction eliminates the time-consuming intermediate storage step while maintaining data accessibility through the cache.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If cache is dedicated to specific applications, then processing speed is improved, but overall cache utilization efficiency deteriorates

Engineering Contradiction:
ImproveI/O processing speedVSAvoidcache utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

Different portions of the CPU cache are assigned different qualities and functions. The application-reserved cache portions are optimized for high-speed direct I/O operations with dedicated access paths, while other cache portions maintain general-purpose functionality for system tasks. This local quality differentiation allows each cache region to be optimized for its specific purpose, achieving both high speed for I/O and efficient utilization overall.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9411725B2Application-reserved cache for direct I/O
Publication Date: 2016.08.09 INTEL CORP
  • US9411725B2 patent drawing
  • US9411725B2 patent drawing
  • US9411725B2 patent drawing

AI summary

Described are embodiments of mediums, methods, and systems for application-reserved use of cache for direct I/O. A method for using application-reserved cache may include reserving, by one of a plurality of cores of a processor, use of a first portion of one of a plurality of levels of cache for an application executed by the one of the plurality of cores, and transferring, by the one of the plurality of cores, data associated with the application from an input/output (I/O) device of a computing device directly to the first portion of the one of the plurality of levels of the cache. Other embodiments may be described and claimed.