Data processing: database and file management or data structures – Database design – Data structure types
Patent
1997-04-23
1999-05-11
Kulik, Paul V.
Data processing: database and file management or data structures
Database design
Data structure types
711170, 711171, G06F17/30
Patent
active
059039000
ABSTRACT:
Apparatus, methods, systems and computer program products are disclosed that optimize a programmed loop that stores pointer variables in an array in a card-marked heap. These methods also optimize garbage collection operations on these pointer variables. Instead of implementing a write-barrier in the body of a programmed loop, the loop is parameterized. This parameterization is associated with the pointer array stored in the heap. This parameterization specifies the first and last modified elements in the array. It further specifies the stride (which indicates how many elements are skipped to reach the next modified element of the array). The parameterization is modified by successive loops that access the array. During a garbage collection operation, the array's parameterization is used to optimize the process of locating modified elements in the array.
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: 5652883 (1997-07-01), Adcock
Ladin et al. "Garbage Collection of a Distributed Heap" IEEE, pp. 708-715, Jan. 1992.
Diwan et al. "Memory System Performance of Programs with Intensive Heap Allocation" ACM Transactions on Computer Systems, vol. 13, No. 3, pp. 244-273, Aug. 1995.
Lins, R. D., "A Multi-processor Shared Memory Architecture for Parallel Cyclic Reference Counting," Microprocessing and Microprogramming, vol. 35, No. 1 / 05, Sep. 1, 1992, pp. 563-569.
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 Massachusetts (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).
Jones, et al. "Garbage Collection: Algorithms for Automatic Dynamic Memory Management," John Wiley & Sons, Ltd., pp. 1-41,(1990).
Jones, et al. "Garbage Collection: Algorithms for Automatic Dynamic Memory Management," John Wiley & Sons, Ltd., pp. 1-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. 26, 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 Generation-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).
Wallace, et al., "Simple Garbage Collection in G++," Cygnus Support, pp. 1-4.
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 Proceedings, 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 Princ
Beylin Boris
Knippel Ross C.
Kulik Paul V.
Sun Microsystems Inc.
Wallace, Jr. Michael J.
LandOfFree
Method and apparatus for optimizing exact garbage collection of does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for optimizing exact garbage collection of , we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for optimizing exact garbage collection of will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-255691