-
公开(公告)号:CA2832571C
公开(公告)日:2021-01-12
申请号:CA2832571
申请日:2013-11-07
Applicant: IBM CANADA LTD IBM CANADA LIMITEE
Inventor: MICIC ALEKSANDAR , GRACIE CHARLES ROBERT
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.
-
公开(公告)号:CA2848683C
公开(公告)日:2022-07-05
申请号:CA2848683
申请日:2014-04-10
Applicant: IBM CANADA LTD IBM CANADA LIMITEE
Inventor: DAWSON MICHAEL HILTON , GRACIE CHARLES ROBERT , JOHNSON GRAEME
Abstract: An illustrative embodiment of a computer-implemented method for working set adjustment receives a request to use less heap memory than an original maximum forming a new maximum, and determines whether a garbage collection will move objects in response to the request. Responsive to a determination the garbage collection will move objects, add a first callback triggered by initiation of the garbage collection and invoking a handler for the first callback notifying a memory manager to free objects allocated by balloon. The first callback completes and the garbage collection starts. A handler for a second callback is invoked which notifies the memory manager to allocate balloon objects and frees backing memory to an operating system. Completion of the second call back allows the garbage collection to proceed as usual.
-
公开(公告)号:CA2832571A1
公开(公告)日:2015-05-07
申请号:CA2832571
申请日:2013-11-07
Applicant: IBM CANADA
Inventor: MICIC ALEKSANDAR , GRACIE CHARLES ROBERT
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.
-
公开(公告)号:DE112018005998T5
公开(公告)日:2020-08-06
申请号:DE112018005998
申请日:2018-11-16
Applicant: IBM
Inventor: MICIC ALEKSANDAR , SIU JORAN , D´SOUZA IRWIN , JEREMIC FILIP , GRACIE CHARLES ROBERT , PIVKINE DMITRI
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.
-
公开(公告)号:CA2848683A1
公开(公告)日:2015-10-10
申请号:CA2848683
申请日:2014-04-10
Applicant: IBM CANADA
Inventor: DAWSON MICHAEL HILTON , GRACIE CHARLES ROBERT , JOHNSON GRAEME
Abstract: An illustrative embodiment of a computer-implemented method for working set adjustment receives a request to use less heap memory than an original maximum forming a new maximum, and determines whether a garbage collection will move objects in response to the request. Responsive to a determination the garbage collection will move objects, add a first callback triggered by initiation of the garbage collection and invoking a handler for the first callback notifying a memory manager to free objects allocated by balloon. The first callback completes and the garbage collection starts. A handler for a second callback is invoked which notifies the memory manager to allocate balloon objects and frees backing memory to an operating system. Completion of the second call back allows the garbage collection to proceed as usual.
-
公开(公告)号:DE112018005998B4
公开(公告)日:2022-06-15
申请号:DE112018005998
申请日:2018-11-16
Applicant: IBM
Inventor: MICIC ALEKSANDAR , SIU JORAN , D´SOUZA IRWIN , JEREMIC FILIP , GRACIE CHARLES ROBERT , PIVKINE DMITRI
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.
-
-
-
-
-