Performing exact garbage collection using bitmaps that identify

Data processing: database and file management or data structures – Database design – Data structure types

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

707103, 711165, 709303, G06F 1200

Patent

active

059208767

ABSTRACT:
One embodiment of the present invention presents a method and apparatus for efficiently performing garbage collection on objects defined within an object-oriented programming system. Garbage collection typically involves following pointers to determine which objects are presently being referenced so that other objects, that are not being referenced, can be removed. To this end, the present invention maintains a bitmap for each object that indicates which variables in the object are pointer variables and which variables are non-pointer variables. A garbage collection process examines the bitmap, and on the basis of the pattern contained in the bitmap jumps to a particular routine that is tailored to garbage collect the particular pattern of pointer and non-pointer values in the object. Note that the system includes a routine tailored for each possible bitmap pattern. This technique speeds up the garbage collection process by eliminating the need to read type information one variable at a time to determine which variables within an object contain pointers.

REFERENCES:
patent: 4757438 (1988-07-01), Thatte et al.
patent: 4775932 (1988-10-01), Oxley et al.
patent: 4907151 (1990-03-01), Bartlett
patent: 4920483 (1990-04-01), Pogue et al.
patent: 4922414 (1990-05-01), Halloway et al.
patent: 4989134 (1991-01-01), Shaw
patent: 5088036 (1992-02-01), Ellis et al.
patent: 5136706 (1992-08-01), Courts
patent: 5218698 (1993-06-01), Mandl
patent: 5222221 (1993-06-01), Houri et al.
patent: 5241673 (1993-08-01), Schelvis
patent: 5301288 (1994-04-01), Newman et al.
patent: 5321834 (1994-06-01), Weiser et al.
patent: 5355483 (1994-10-01), Serlet
patent: 5367685 (1994-11-01), Gosling
patent: 5408650 (1995-04-01), Arsenault
patent: 5535329 (1996-07-01), Hastings
patent: 5560003 (1996-09-01), Nilsen et al.
patent: 5561786 (1996-10-01), Morse
patent: 5566321 (1996-10-01), Pase et al.
patent: 5692185 (1997-11-01), Nilsen et al.
Aho, et al., "compilers: Principles, Techniques and Tools," Addision-Wesley Publishing company, pp. 585-607, (1985).
Anderson, James R., "Simulation and Analysis of Barrier Synchronization Methods," University of Minnesota Technical Report No. HPPC-95-04 (Aug. 1995).
Anderson, et al., "LockFree Transactions for Real Time Systems," in Real-time Database Systems: Issues and applications, Kluwer Academic Publishe, Norwell Massachussetts (1997).
Appleby, Karen, "Garbage Collection for Prolog Based On WAM," Communications of ACM, vol. 31, Issue 6, pp. 1-20,(Jun 1, 1988).
Baker, Henry G., Jr., "List Processing in Real Time on a Serial Computer," Comm. ACM, vol. 21, No. 4, pp. 280-294 (Apr. 1978).
Barrett, David A., "Improving Performance of Conservative Generational Garbage Collection," Technical Report CU-CS-784-95, University of Colorado at Boulder (Sep. 1995).
Booch, Grady, "Object Oriented Design with Applications," The Benjamin/Cummings Publishing Company, Inc., pp. 26-71 (1991).
Bott, Ed, "Windows Invisble Wall: The 64K Barrier,"Windows Exam, pp. 210-212, (Mar. 1994).
Brooks, Roney A., "Trading Data Space for Reduced Time and Code Space in Real-Time Garbage Collection on Stock Hardware," in Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming, Austin, Texas, pp. 256-262 (1984).
Dawson, Jeffrey L. Imporved Effectiveness froma Real Time Lip Garbage Collector, Conference Record of the 1982 ACM Symposium on Lisp and Functional Programming, Pittsburgh, PA, pp. 159-167, (1982).
Dijkstra et al., "On-the-Fly Garbage Collection: An Exercise in Cooperation," Communications of the ACM, 21 (11), pp. 966-975 (1978).
Caro, Alejandro, "A Novel 64 Bit Data Representation for Garbage Collection and Synchronizing Memory," Computation Structures Group Memo 396, Massachusetts Institute of Technology,(Apr. 9, 1997).
Chandra, et al., "Scheduling and Page Migration for Multiprocessor Compute Servers," Proceedings of Architectural Support for Programming Languages and Operating Systems(1994).
Cohn, et al., Java Developer's Reference, pp. 1009-1010, Sams.net Publishing, (1996).
Courts, Robert, "Improving Locality of Reference in a Garbage Collecting Memory Management System," Communications of the ACM, vol. 31, No. 9,pp. 1128-1138, (Sep. 1988).
Grehan, Rick "If Memory Serves . . . ," BYTE, pp. 279-337, (Aug. 1989).
Grehan, Rick "Virtually Virtual Memory," BYTE, pp. 455-464, (Sep. 1990).
Harbaugh, et al. "HeapGuard, Eliminating Garbage Collection in Real-Time Ada Systems," Integrated Software, Inc., pp. 704-708, (1995).
Holze, Urs, "A Fast Write Barrier for Generational Garbage Collectors," Presented at the OPPSLA '93 Garbage Collection Workshop, Washington, D.C., (Oct. 1993).
Hudson et al., "Incremental Collection of Mature Objects", International Workshop IWMM92, pp. 388-403, (Sep. 1992).
Imai, et al..,"Evaluation of Parallel Copying Garbage Collection on a Shared-Memory Multiprocessor" IEEE Transaction on Parallel and Distributed Systems, vol. 4, No. 9 (Sep. 1993), p. 1030-1040.
Jones, et al. "Garbage Collection: Algorithms for Automatic Dynamic Memory Management," John Wiley & Sons, Ltd., pp. 1-41, 117-226, (1996).
Kuechlin, et al. "On Multi-Threaded List Processing and Garbage Collection," Department of Computer and Information Science, Ohio State University, pp. 894-897,(1991).
Kung et al. "An Efficient Parallel Garbage Collection System and its Correctness Proof," IEEE Symposium on Foundations of Computer Science, pp. 120-131, (1977).
Moon, David A., Architecture of the Symbolics 3600, IEEE, pp. 76-83, (1985).
Moon, et al., "Garbage Collection in a Large Lisp System," Association for Computing Machinery (1984).
Muller, et al., Multitasking and Multithreading on an Multiprocessor with Virtual Shared Memory, Published in: Proceedings of the 2nd International Symposium on High-Performance Computer Architecture, Feb. 5-7, 1996 San Jose, California, pp. 212-221.
Pike, et al., "Process Sleep and Wakeup on a Shared-Memory Multiprocessor," Lucent Technologies (1995).
Plevyak, et al. "A Hybrid Execution Model for Fine-Grained Languages on Distributed Memory Multicomputers," The Association for Computing Machinery, Inc., (1995).
Shaw, Richard H., "An Introduction to the Win32 API," PC Magazine, vol. 13, No. 4, pp. 291-295, (Apr. 16, 1994).
Steele, Guy L.,Jr., Multiprocessing Compactifying Garbage Collection, Comm. ACM, vol. 18, No. 9, pp. 495-508, (Sep. 1975).
Ungar, David, "Generation Scavenging: a Non-disruptive High Performance Storage Reclamation Algorithm," ACM SIGPLAN Notices, vol. 19, No. 5, pp. 157-167 (May 1984).
Ungar, et al. "An Adaptive Tenuring Policy for Generation Scavengers", ACM Transactionson Programming Languages and Systems, vol. 14, No. 1, pp. 1-27, (Jan. 1992).
Ungar et al, "Tenuring Policies for Generatio-Based Storage Reclamation," ACM SIGPLAN Notices, vol. 23, No. 11, pp. 1-17 (1988).
van der Linden, Peter, "Not Just Java," pp. 156-165, Sun Microsystems, Inc., (1997).
Wilson, et al., "Dynamic Storage Allocation: A Survey and Critical Review," Department of Computer Sciences, University of Texas at Austin, pp. 1-78.
Wilson et al. "Design of the Opportunistic Garbage Collector," OOPSLA '89 Proceeedings, pp. 23-35, (Oct. 1989).
Wolczko et al. "Multi-level Garbage Collection in a High-Performance Persisitent Object-System," Proceedings of the Fifth International Workshop on Persistent Object Systems, pp. 396-418, (Sep. 1992).
Yang, et al., "Fast, Scalable Synchronization with Minimal Hardware Support," Presendted at the Proceedings of the Seventh Annual ACM Symposium on Principles of Distributed Computing, ACM, New York, pp. 171-182, (Aug. 1993).
Yang et al., "A Fast, Scalable Mutual Exclusion Algorithm," Presented at the Twelfth Annual ACM Symposium on Principles of Distributed Computing, Ithica, New York, (Aug. 1993).
GC-FAQ-draft, 29 pages, http://www.centerfline.com/people/chase/GC/GC-faq.html.
Chung, Kin-Man and Yuen, Herbert, "A `Tiny` Pascal Compiler: Part 1: the P-Code Interpreter," BYTE Publications, Inc., Sep. 1978.
Chung, Kin-Man and Yuen, Herbert, "A `Tiny` Pascal Compiler: Part 2: The P-Compiler," BYTE Publications, Inc., Sep. 1978.
Thompson, K

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Performing exact garbage collection using bitmaps that identify does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Performing exact garbage collection using bitmaps that identify , we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Performing exact garbage collection using bitmaps that identify will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-907759

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.