GPU Copy-on-Write Memory Sharing for Cloud Image Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of users accessing cloud-based streaming services leads to contention for shared resources, particularly in memory usage, causing data corruption and inefficiencies in resource allocation.
Innovation Solution
Implementing a copy on write strategy that utilizes local shared and non-shared memory to manage image objects, ensuring that updates are made in a way that maintains original data integrity by using hash values and reference counting to allocate separate storage for updated copies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple users share the same memory resources in cloud-based streaming services, then resource utilization efficiency is improved, but data corruption and memory access conflicts increase
Solution Approach 1:
The patent segments memory resources by creating separate memory spaces for shared and non-shared data. When a process needs to modify shared memory, the system segments it into a private copy, ensuring that multiple users can access shared resources without interfering with each other's data integrity.
Solution Approach 2:
The patent implements a copy-on-write mechanism where shared memory is copied when modification is needed. The system maintains both the original shared memory and creates a private copy for the modifying process, allowing multiple users to share read-only data efficiently while protecting data integrity during writes.
2Reliability
If separate memory is allocated for each user process, then data corruption is prevented, but memory usage and resource allocation efficiency deteriorate
Solution Approach 1:
The patent merges memory resources by allowing multiple processes to share the same physical memory pages when no modifications are needed. The system combines shared memory segments that can be safely accessed by multiple users, reducing overall memory consumption while maintaining data integrity through controlled copying only when necessary.
Solution Approach 2:
The patent makes memory pages universal by enabling them to serve multiple purposes: shared read-only memory for multiple processes, and privately writable memory when modification is required. This multi-functionality allows the same memory infrastructure to support both sharing and isolation needs.
3Productivity
If shared memory is used for all processes, then resource allocation efficiency is improved, but memory access conflicts and contention increase
Solution Approach 1:
The patent implements dynamic memory management where the sharing status of memory pages can change over time. Memory pages transition from shared to private state when a process needs to modify them, and can potentially be shared again after modification. This dynamic approach optimizes resource allocation based on actual usage patterns.
Solution Approach 2:
The patent uses reference counting as a feedback mechanism to track how many processes are accessing shared memory. When the reference count changes, the system automatically adjusts memory allocation and sharing status, providing automated feedback-driven memory management that reduces manual intervention and complexity.
Data Source
AI summary
An apparatus and method for performing efficient sharing of network-based resources. In various implementations, a computing system includes a remote server providing a streaming service to a client computing device over a network. The remote servers include shared resources that provide services and content on the client computing device. When executing instructions of a shared layer of a graphics library, the circuitry of a parallel data processing circuit of the remote server searches for any instances sharing the image object. If there are any instances sharing the image object, then the circuitry maintains the image object stored in a first location of the local shared memory. The circuitry performs a copy on write operation using a local non-shared memory to generate the copy of the first image object in a second location different from the first location of the local shared memory.


