SYSTEM AND METHOD FOR MEMORY MANAGEMENT
First Claim
1. An apparatus for automatic memory management for parallel computing of a web application, said apparatus comprising:
- a processor having at least two computer processing unit (CPU) cores;
an operating system configured to assign one or more threads of a processing function of a web application to corresponding CPU cores of said processor for concurrent execution on said corresponding CPU cores, said one or more threads comprise a first thread and at least one spawned thread;
memory having a set of blocks distributed to said first thread and said at least one spawned thread, said memory being partitioned into a nursery heap, a mature heap and a database having a plurality of private nurseries;
wherein said first thread has access to said nursery heap and mature heap, said first thread being configured to allocate and manipulate one or more objects in said nursery heap and write references to one or more objects stored in said nursery and mature heaps; and
wherein said at least one spawned thread has access to an associated one of said plurality of private nurseries, said at least one spawned thread being configured to allocate and manipulate one or more objects within said associated private nursery.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for automatic memory management of a shared memory during parallel processing of a web application. The system includes a computing system configured to allow parallel computing of a web application executed within a web browser. The computing system includes shared memory having a set of blocks distributed at least a first thread and at least one spawned thread of a processing function of the web application. The memory is partitioned into a nursery heap, a mature heap and a database having a plurality of private nurseries, wherein the first thread has access to the nursery heap and mature heap and the at least one spawned thread has access to an associated one of the plurality of private nurseries. During parallel computing of the web application, management of the shared memory includes garbage collection of at least each of the plurality of private nurseries.
9 Citations
25 Claims
-
1. An apparatus for automatic memory management for parallel computing of a web application, said apparatus comprising:
-
a processor having at least two computer processing unit (CPU) cores; an operating system configured to assign one or more threads of a processing function of a web application to corresponding CPU cores of said processor for concurrent execution on said corresponding CPU cores, said one or more threads comprise a first thread and at least one spawned thread; memory having a set of blocks distributed to said first thread and said at least one spawned thread, said memory being partitioned into a nursery heap, a mature heap and a database having a plurality of private nurseries; wherein said first thread has access to said nursery heap and mature heap, said first thread being configured to allocate and manipulate one or more objects in said nursery heap and write references to one or more objects stored in said nursery and mature heaps; and wherein said at least one spawned thread has access to an associated one of said plurality of private nurseries, said at least one spawned thread being configured to allocate and manipulate one or more objects within said associated private nursery. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for automatic memory management for parallel computing of a web application, said system comprising:
-
a media source; and a client device configured to communicate with said media source over a network and access and execute a web application provided by said media source, said client device having a computing system configured to allow parallel computing of said web application, said computing system comprising; a processor having at least two computer processing unit (CPU) cores; an operating system configured to assign one or more threads of a processing function of said web application to corresponding CPU cores of said processor for concurrent execution on said corresponding CPU cores, said one or more threads comprise a first thread and at least one spawned thread; memory having a set of blocks distributed to said first thread and said at least one spawned thread, said memory being partitioned into a nursery heap, a mature heap and a database having a plurality of private nurseries; wherein said first thread has access to said nursery heap and mature heap, said first thread being configured to allocate and manipulate one or more objects in said nursery heap and write references to one or more objects stored in said nursery and mature heaps; and wherein said at least one spawned thread has access to an associated one of said plurality of private nurseries, said at least one spawned thread being configured to allocate and manipulate one or more objects within said associated private nursery. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. At least one computer accessible medium storing instructions which, when executed by a machine, cause the machine to perform operations for automatic memory management for parallel computing of a web application, said operations comprising:
-
initiating concurrent execution of one or more threads of a processing function of a web application on corresponding CPU cores of a processor, said one or more threads comprise a first thread and at least one spawned thread; acquiring associated blocks in a shared memory distributed to said first thread and said at least one spawned thread, said blocks comprising a nursery heap, a mature heap and a database having a plurality of private nurseries, wherein said first thread has access to and is configured to allocate and manipulate one or more objects within said nursery heap and mature heap and said at least one spawned thread has access to and is configured to allocate and manipulate one or more objects within an associated one of said plurality of private nurseries; and monitoring execution of at least said first thread and said at least one spawned thread and managing life cycles of one or more objects allocated and stored within said nursery heap, mature heap and each of said plurality of nurseries of said memory. - View Dependent Claims (19, 20, 21)
-
-
22. A method for automatic memory management for parallel computing of a web application, said method comprising:
-
initiating concurrent execution of one or more threads of a processing function of a web application on corresponding CPU cores of a processor, said one or more threads comprising a first thread and at least one spawned thread; acquiring associated blocks in a shared memory distributed to said first thread and said at least one spawned thread, said blocks comprising a nursery heap, a mature heap and a database having a plurality of private nurseries, wherein said first thread has access to and is configured to allocate and manipulate one or more objects within said nursery heap and mature heap and said at least one spawned thread has access to and is configured to allocate and manipulate one or more objects within an associated one of said plurality of private nurseries; and monitoring execution of at least said first thread and said at least one spawned thread and managing life cycles of one or more objects allocated and stored within said nursery heap, mature heap and each of said plurality of nurseries of said memory. - View Dependent Claims (23, 24, 25)
-
Specification