ALLOCATION AWARE HEAP FRAGMENTATION METRICS

    公开(公告)号:CA2832571A1

    公开(公告)日:2015-05-07

    申请号:CA2832571

    申请日:2013-11-07

    Applicant: IBM CANADA

    Abstract: An illustrative embodiment of a computer-implemented method for estimating heap fragmentation in real time, models a runtime view of free heap memory, models a runtime view of heap allocation patterns for the heap memory and takes a snapshot of the heap memory. A batch allocator simulator is executed at a predetermined event and a remaining amount of memory unused in the simulation is identified as fragmented memory.

    WRITE BARRIER ELISION FOR REFERENCE ARRAYS

    公开(公告)号:CA2700217C

    公开(公告)日:2011-07-19

    申请号:CA2700217

    申请日:2010-04-01

    Applicant: IBM CANADA

    Abstract: An illustrative embodiment of a computer-implemented process for write barrier elision during program execution receives a request to overwrite a reference, determines whether garbage collection is active and responsive to a determination that garbage collection is active, determines whether a reference object has been scanned. Responsive to a determination that the reference object has not been scanned set a mark bit for the reference object in a modified mark map, scan the reference object and set a scan bit for the reference object in the modified mark map.

    KOPIEREN UND WEITERLEITEN FÜR EINE GLEICHZEITIG ABLAUFENDE KOPIERENDE GARBAGE-COLLECTION

    公开(公告)号:DE112018005998T5

    公开(公告)日:2020-08-06

    申请号:DE112018005998

    申请日:2018-11-16

    Applicant: IBM

    Abstract: Eine Vorgehensweise, um ein Kopieren eines Datenobjekts in einer gleichzeitig ablaufenden kopierenden Garbage-Collection-Operation zu optimieren, wird bereitgestellt. In einer Ausführungsform wird eine Quellenkopie des Datenobjekts erkannt, das als Teil der Garbage-Collection-Operation kopiert werden soll. Ein Kopieren der Quellenkopie an einen Zielspeicherort wird durch einen primären zugreifenden Thread eingeleitet. Dieses Einleiten des Kopierens umfasst die Erstellung eines temporären Zielobjekt-Kopfbereichs für das Zielobjekt an dem Zielspeicherort, welcher einen Anzeiger enthält, der so gesetzt ist, dass er anzeigt, dass das Kopieren im Gange ist. Während das Kopieren stattfindet, wird die Ausführung von beliebigen anderen zugreifenden Threads, die versuchen, das Datenobjekt zu verwenden, so lange angehalten, wie der Anzeiger anzeigt, dass das Kopieren im Gange ist. Sobald das Kopieren abgeschlossen ist, wird der Zielobjekt-Kopfbereich durch eine Kopie des Quellenobjekt-Kopfbereichs ersetzt, wobei der Anzeiger zurückgesetzt wird.

    Inkrementelles Entladen von Klassen in einem auf Bereichen beruhenden Speicherbereiniger

    公开(公告)号:DE112012000365T5

    公开(公告)日:2013-10-17

    申请号:DE112012000365

    申请日:2012-02-06

    Applicant: IBM

    Abstract: Es wird ein Verfahren zum inkrementellen Entladen von Klassen unter Verwendung eines auf Bereichen beruhenden Speicherbereinigers beschrieben. In einer Ausführungsform beinhaltet ein derartiges Verfahren das Pflegen eines gemerkten Satzes für einen Klassensatz. Der gemerkte Satz gibt an, ob Instanzen der Klasse in einem oder mehreren Bereichen in einem Hauptspeicher enthalten sind und in welchen Bereichen die Instanzen enthalten sind. Beim Durchführen eines inkrementellen Speicherbereinigungsprozesses für eine Teilmenge der Bereiche in dem Hauptspeicher untersucht das Verfahren den gemerkten Satz, um zu ermitteln, ob der Klassensatz Instanzen in Bereichen außerhalb der Teilmenge beinhaltet. Wenn der gemerkte Satz angibt, dass der Klassensatz Instanzen außerhalb der Teilmenge von Bereichen beinhaltet, erkennt das Verfahren den Klassensatz als „aktiv”. Hierdurch wird ausgeschlossen, dass der Klassensatz aus der Teilmenge von Bereichen entladen wird. Ein entsprechendes Computerprogrammprodukt und Vorrichtungen werden auch hierin offenbart.

    KOPIEREN UND WEITERLEITEN FÜR EINE GLEICHZEITIG ABLAUFENDE KOPIERENDE GARBAGE-COLLECTION

    公开(公告)号:DE112018005998B4

    公开(公告)日:2022-06-15

    申请号:DE112018005998

    申请日:2018-11-16

    Applicant: IBM

    Abstract: Verfahren, um ein Kopieren eines Datenobjekts (88) in einer gleichzeitig ablaufenden kopierenden Garbage-Collection-Operation zu optimieren, wobei das Verfahren die folgenden durch einen Computer (12, 82) ausgeführten Prozesse umfasst:Erkennen (610) einer Quellenkopie des Datenobjekts (88), das als Teil der Garbage-Collection-Operation kopiert werden soll;Auswählen eines primären zugreifenden Threads (92A) aus einer Mehrzahl von zugreifenden Threads (92), die in einem Wettlauf um die Zuweisung von Speicherbereich für ein einzelnes Datenobjekt (88), das das Datenobjekt (88) ist, in einem Survivor-Bereich (86N) konkurrieren, wobei der primäre zugreifende Thread (92A) als Ergebnis davon ausgewählt wird, dass er ein erster Thread ist, der den Speicherbereich zuweist und einen Quellobjekt-Kopfbereich des Datenobjekts (88) in einer atomaren Operation aktualisiert;Einleiten (620), durch den primären zugreifenden Thread (92A), eines Kopierens der Quellenkopie an einen Zielspeicherort, wobei das Einleiten (620) ein Erstellen eines Zielobjekt-Kopfbereichs (200, 300, 524) für ein Zielobjekt (500) an dem Zielspeicherort umfasst, wobei der Zielobjekt-Kopfbereich (200, 300, 524) einen Anzeiger enthält, der so gesetzt ist, dass er anzeigt, dass das Kopieren im Gange ist, so dass andere zugreifende Threads (92) über einen Status des Kopierens durch Zugriff auf den Zielobjekt-Kopfbereich (200, 300, 524) benachrichtigt werden, wobei der Anzeiger ein Kopierbit (212, 312) in dem Zielobjekt-Kopfbereich (200, 300, 524) ist, das einen Speicherort hat, der einem Speicherort des Weiterleitungsbits (112) in dem Quellenobjekt-Kopfbereich (120) entspricht, und wobei das Setzen des Weiteren ein Setzen des Kopierbits (212, 312) umfasst;Anhalten (630) einer Ausführung eines sekundären zugreifenden Threads (92N), der versucht, das Datenobjekt (88) zu verwenden, und zwar so lange, wie der Anzeiger anzeigt, dass das Kopieren im Gange ist; undErsetzen (640), als Reaktion auf einen Abschluss des Kopierens, des Zielobjekt-Kopfbereichs (200, 300, 524) durch eine Kopie eines Quellenobjekt-Kopfbereichs (120) der Quellenkopie.

Patent Agency Ranking