Memory Page Markings Reduce Processor Complexity in Execution Tracing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache-based tracking bits for recording replayable execution traces increase processor performance and design complexities, leading to larger IC die sizes and fabrication challenges.
Innovation Solution
Utilize memory markings to categorize different memory regions as logged or not logged, eliminating the need for cache-based tracking bits, thereby reducing processor design complexity and IC die size while maintaining trace size reduction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cache-based tracking bits are added to record replayable execution traces, then trace recording capability is improved, but processor design complexity and IC die size increase
Solution Approach 1:
The patent segments the tracking function by separating it from the cache structure. Instead of embedding tracking bits within the cache, the system uses external memory markings in the memory hierarchy to indicate which memory regions should be traced. This segmentation eliminates the need to modify the cache structure while maintaining trace recording capability.
Solution Approach 2:
The tracking functionality is extracted from the cache structure and relocated to the memory system. The patent removes tracking bits from the cache and replaces them with memory page markings that serve the same purpose of identifying which data should be traced, thereby reducing processor design complexity.
2Reliability
If cache-based tracking bits are added to record replayable execution traces, then trace recording capability is improved, but IC die size increases
Solution Approach 1:
The tracking function is segmented from the cache structure and implemented externally in the memory system. Memory page markings are used to indicate which regions should be traced, eliminating the need for additional tracking bits within the cache structure and reducing IC die size.
Solution Approach 2:
The tracking functionality is extracted from the cache and relocated to the memory subsystem. By using memory markings instead of cache-based tracking bits, the patent removes the need for additional circuitry within the processor die while maintaining trace recording capability.
3Quantity of substance
If cache-based tracking bits are used to reduce trace size, then trace size is reduced, but processor performance decreases due to tracking overhead
Solution Approach 1:
The memory system automatically provides tracing information through memory page markings without requiring active intervention from the processor. The markings are set by the operating system or memory management unit based on the execution context, and the tracing logic automatically checks these markings during memory access, eliminating the need for processor performance overhead.
Solution Approach 2:
The patent introduces memory markings as an intermediary between the execution context and the tracing system. These markings serve as a mediator that provides tracing information without requiring direct involvement of the processor execution units, thereby avoiding performance overhead while still enabling trace size reduction.
Data Source
AI summary
Cache-based tracing based on categorizing memory regions as being logged or not logged. A computer system identifies a first memory region within a first memory space of a first context, and determines that the first context is in a logging state. The computer system configures a data structure to categorize the first memory region as being logged. The data structure also categorizes a second memory region corresponding to a second context as being not logged. The computer system exposes the data structure to a processor. Upon detecting a memory access by a processing unit, the processor uses determinations of one or more of (i) whether a target memory address is categorized as being logged or not logged, (ii) whether an executing context is logging or not non-logging, or (iii) a type of the memory access to initiate a logging action or refrain from the logging action.


