In a multi-threaded computing environment, a shared cache system reduces
the amount of redundant information stored in memory. A cache memory area
provides both global readable data and private writable data to processing
threads. A particular processing thread accesses data by first checking
its private views of modified data and then its global views of read-only
data. Uncached data is read into a cache buffer for global access. If
write access is required by the processing thread, the data is copied into
a new cache buffer, which is assigned to the processing thread's private
view. The particular shared cache system supports generational views of
data. The system is particularly useful in on-line analytical processing
of multi-dimensional databases. In one embodiment, a dedicated collector
reclaims cache memory blocks for the processing threads. By utilizing a
dedicated collector thread, any processing penalty encountered during the
reclamation process is absorbed by the dedicated collector. Thus the user
session threads continue to operate normally, making the reclaiming of
cache memory blocks by the dedicated collector task thread transparent to
the user session threads. In an alternative embodiment, the process for
reclaiming page buffers is distributed amongst user processes sharing the
shared memory. Each of the user processes includes a user thread collector
for reclaiming a page buffer as needed and multiple user processes can
concurrently reclaim page buffers.
Σε ένα πολύπλοκο υπολογιστικό περιβάλλον, ένα κοινό σύστημα κρύπτης μειώνει το ποσό περιττών πληροφοριών που αποθηκεύεται στη μνήμη. Μια περιοχή μνήμης κρύπτης παρέχει και τα σφαιρικά αναγνώσιμα στοιχεία και τα ιδιωτικά writable στοιχεία στα νήματα επεξεργασίας. Ένα ιδιαίτερο νήμα επεξεργασίας έχει πρόσβαση στα στοιχεία με πρώτα να ελέγξει τις ιδιωτικές απόψεις τροποποιημένων στοιχείων του και έπειτα τις σφαιρικές απόψεις μόνο ανάγνωσης στοιχείων του. Το στοιχείο Uncached διαβάζεται σε έναν απομονωτή κρύπτης για τη σφαιρική πρόσβαση. Εάν γράψτε η πρόσβαση απαιτείται από το νήμα επεξεργασίας, το στοιχείο αντιγράφεται σε έναν νέο απομονωτή κρύπτης, ο οποίος ορίζεται στην ιδιωτική άποψη του νήματος επεξεργασίας. Το ιδιαίτερο κοινό σύστημα κρύπτης υποστηρίζει τις απόψεις generational των στοιχείων. Το σύστημα είναι ιδιαίτερα χρήσιμο στη σε απευθείας σύνδεση αναλυτική επεξεργασία των πολυδιάστατων βάσεων δεδομένων. Σε μια ενσωμάτωση, ένας αφιερωμένος συλλέκτης παίρνει τους φραγμούς μνήμης κρύπτης για τα νήματα επεξεργασίας. Με τη χρησιμοποίηση ενός αφιερωμένου νήματος συλλεκτών, οποιαδήποτε ποινική ρήτρα επεξεργασίας που αντιμετωπίζεται κατά τη διάρκεια της διαδικασίας αποκατάστασης απορροφάται από τον αφιερωμένο συλλέκτη. Κατά συνέπεια τα νήματα συνόδου χρηστών συνεχίζουν να λειτουργούν κανονικά, καθιστώντας τη λήψη των φραγμών μνήμης κρύπτης από το αφιερωμένο νήμα στόχου συλλεκτών διαφανή στα νήματα συνόδου χρηστών. Σε μια εναλλακτική ενσωμάτωση, η διαδικασία για τους απομονωτές σελίδων διανέμεται μεταξύ των διαδικασιών χρηστών μοιραμένος την κοινή μνήμη. Κάθε μια από τις διαδικασίες χρηστών περιλαμβάνει έναν συλλέκτη νημάτων χρηστών για τη λήψη ενός απομονωτή σελίδων όπως απαιτείται και οι πολλαπλάσιες διαδικασίες χρηστών μπορούν ταυτόχρονα να πάρουν τους απομονωτές σελίδων.