Cross Process Memory Management
First Claim
1. A method for managing memory used by a plurality of processes, comprising:
- making a decision whether any of said plurality of processes can reduce memory usage, wherein said decision is made by comparing a memory requirement of each process with an actual memory usage of each process; and
communicating directly between said plurality of processes to trigger a reduction of memory usage by each process that can reduce memory usage.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for efficiently managing memory resources in a computer system having a graphics processing unit that runs several processes simultaneously on the same computer system includes using threads to communicate that additional memory is needed. If the request indicates that termination will occur then the other processes will reduce their memory usage to a minimum to avoid termination but if the request indicates that the process will not run optimally then the other processes will reduce their memory usage to 1/N where N is the count of the total number of running processes. The apparatus includes a computer system using a graphics processing unit and processes with threads that can communicate directly with other threads and with a shared memory which is part of the operating system memory.
21 Citations
20 Claims
-
1. A method for managing memory used by a plurality of processes, comprising:
-
making a decision whether any of said plurality of processes can reduce memory usage, wherein said decision is made by comparing a memory requirement of each process with an actual memory usage of each process; and communicating directly between said plurality of processes to trigger a reduction of memory usage by each process that can reduce memory usage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13)
-
-
9. (canceled)
-
14. A method for optimizing memory usage in a computer system running several processes comprising:
-
identifying that a first process does not have sufficient memory; using a first thread in said first process to communicate directly with a second thread in a second process to request that said second thread reduce its memory usage; determining that the second process can reduce its memory usage and still operate; reducing the amount of memory that the second process uses to 1/N where N is the total number of processes running; and determining that said first process has sufficient memory. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer system with a graphics processing unit, comprising:
-
a first process running a first application, said first process further comprising a first thread; a second process running a second application, said second process further comprises a second thread; a shared memory for storing a maximum number corresponding to the count of concurrently running processes; wherein said first thread and said second thread communicate directly with each other so that said first process can request that said second process reduce its memory usage; and wherein said first thread and said second thread communicate directly with said shared memory. - View Dependent Claims (20)
-
Specification