The present invention provides a novel method and apparatus for performing
real-time computer garbage collection, in a manner that offers
unprecedented low bounds on the worst-case frequency and duration of the
collection task. The invention is used with a plurality of data objects
and with one or more mutator programs. The mutators and a garbage
collector run on one or more processors. The mutators each have a
corresponding thread with a corresponding thread state. In the present
invention, execution of all mutators is temporarily restricted at the
start of each new garbage collection cycle. However, unrestricted
execution of a mutator is quickly resumed, as soon as that mutator's
thread state is processed. The remainder of the garbage collection cycle
may be performed concurrently with the mutators. In another feature of the
present invention yielding important performance benefits, the mutators
are executed subject to a protective write barrier, but the write barrier
does not have to be applied to the modification of mutator thread states.
Η παρούσα εφεύρεση παρέχει μια νέες μέθοδο και μια συσκευή για τη σε πραγματικό χρόνο συλλογή απορριμάτων υπολογιστών, με έναν τρόπο που προσφέρει τα πρωτοφανή χαμηλά όρια στη στη χειρότερη περίπτωση συχνότητα και τη διάρκεια του στόχου συλλογής. Η εφεύρεση χρησιμοποιείται με μια πολλαπλότητα των αντικειμένων στοιχείων και με ένα ή περισσότερα προγράμματα mutator. Τα mutators και ένας συλλέκτης απορριμάτων τρέχουν σε έναν ή περισσότερους επεξεργαστές. Τα mutators κάθε ένα έχουν ένα αντίστοιχο νήμα με ένα αντίστοιχο κράτος νημάτων. Στην παρούσα εφεύρεση, η εκτέλεση όλων των mutators είναι προσωρινά περιορισμένη στην έναρξη κάθε νέου κύκλου συλλογής απορριμάτων. Εντούτοις, η απεριόριστη εκτέλεση ενός mutator επαναλαμβάνεται γρήγορα, μόλις υποβάλλεται σε επεξεργασία το κράτος νημάτων εκείνου του mutator. Το υπόλοιπο του κύκλου συλλογής απορριμάτων μπορεί να εκτελεσθεί ταυτόχρονα με τα mutators. Σε ένα άλλο χαρακτηριστικό γνώρισμα της παρούσας εφεύρεσης που παράγει τα σημαντικά οφέλη απόδοσης, τα mutators εκτελούνται υπό τον όρο ενός προστατευτικού γράφουν το εμπόδιο, αλλά γράψτε ότι το εμπόδιο δεν ειναι απαραίτητο να εφαρμοστεί στην τροποποίηση των κρατών νημάτων mutator.