JP7304119B2 - ポーズレスなガベージ・コレクションのための活性化フレームを表す方法および装置 - Google Patents
ポーズレスなガベージ・コレクションのための活性化フレームを表す方法および装置 Download PDFInfo
- Publication number
- JP7304119B2 JP7304119B2 JP2020564524A JP2020564524A JP7304119B2 JP 7304119 B2 JP7304119 B2 JP 7304119B2 JP 2020564524 A JP2020564524 A JP 2020564524A JP 2020564524 A JP2020564524 A JP 2020564524A JP 7304119 B2 JP7304119 B2 JP 7304119B2
- Authority
- JP
- Japan
- Prior art keywords
- pauseless
- thread
- activation frame
- activation
- garbage collection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 247
- 230000004913 activation Effects 0.000 title claims description 122
- 230000008569 process Effects 0.000 claims description 91
- 238000004590 computer program Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004884 risky behavior Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
Description
Claims (10)
- ポーズレスなガベージ・コレクションのための方法であって、
ガベージ・コレクタによって、ガベージ・コレクションのために、プロセスを実行しているプロセス・スレッドを選択するステップと、
ガベージ・コレクタ・スレッドまたは現在実行中の前記プロセス・スレッドによって、第1のメソッドに関連付けられた第1のポーズレス活性化フレームをスキャンさせるステップと、
前記プロセス・スレッドが現在実行中のプロセスからの第2のメソッドに関連付けられた第2のポーズレス活性化フレームを、制御が戻る際に、続けてスキャンするように前記プロセス・スレッドに命令するステップと、
前記ガベージ・コレクタによって、ガベージ・コレクタ・スレッドを使用して、前記プロセスからの第3のメソッドに関連付けられた第3のポーズレス活性化フレームをスキャンするステップと
を含み、
ポーズレス活性化フレームをスキャンするステップが、スキャンされている前記ポーズレス活性化フレームに対応するメソッドからの1つまたは複数のライブ・ポインタを検査し、上書きするステップを含む、方法。 - 前記第2のメソッドは、前記第1のメソッドを起動する、請求項1に記載の方法。
- 前記第2のポーズレス活性化フレームは、複数のポーズレス活性化フレームである、請求項1に記載の方法。
- 前記第3のポーズレス活性化フレームは、複数のポーズレス活性化フレームである、請求項1に記載の方法。
- 前記プロセス・スレッドは、前記ガベージ・コレクタ・スレッドが前記第3のポーズレス活性化フレームをスキャンするのと実質的に同時に前記第2のポーズレス活性化フレームをスキャンする、請求項1に記載の方法。
- メソッドのための前記ポーズレス活性化フレームは、前記メソッドによって起動された第4のメソッドに関連付けられた記号情報を表すオブジェクトへのオブジェクト・ポインタを含む、請求項1に記載の方法。
- メソッドのための前記ポーズレス活性化フレームは、メソッドを起動した前記メソッドへの復帰アドレスを示すポインタを含む、請求項1に記載の方法。
- メソッドのための前記ポーズレス活性化フレームは、前記メソッドにおける各ライブ・ポインタの値を保存するポインタ変数プリエンプション保存領域を含む、請求項1に記載の方法。
- 請求項1ないし8のいずれかに記載の方法のステップの全てを実行するように適合された手段を含む、システム。
- コンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・システム上で実行されると、請求項1ないし8のいずれかに記載の方法のステップの全てを実行するための命令を含む、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/017,107 US10459656B1 (en) | 2018-06-25 | 2018-06-25 | Method and apparatus to represent activation frame for pause-less garbage collection |
US16/017,107 | 2018-06-25 | ||
PCT/IB2019/055073 WO2020003050A1 (en) | 2018-06-25 | 2019-06-18 | Method and apparatus to represent activation frame for pause-less garbage collection |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021530756A JP2021530756A (ja) | 2021-11-11 |
JP7304119B2 true JP7304119B2 (ja) | 2023-07-06 |
Family
ID=68314973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020564524A Active JP7304119B2 (ja) | 2018-06-25 | 2019-06-18 | ポーズレスなガベージ・コレクションのための活性化フレームを表す方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10459656B1 (ja) |
JP (1) | JP7304119B2 (ja) |
CN (1) | CN112219196B (ja) |
DE (1) | DE112019001821B4 (ja) |
GB (1) | GB2586769B (ja) |
WO (1) | WO2020003050A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132294B2 (en) * | 2019-03-28 | 2021-09-28 | International Business Machines Corporation | Real-time replicating garbage collection |
US11550714B2 (en) | 2019-04-15 | 2023-01-10 | International Business Machines Corporation | Compiling application with multiple function implementations for garbage collection |
US10936483B2 (en) | 2019-04-15 | 2021-03-02 | International Business Machines Corporation | Hybrid garbage collection |
US11620215B2 (en) | 2019-06-26 | 2023-04-04 | International Business Machines Corporation | Multi-threaded pause-less replicating garbage collection |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005001695A1 (ja) | 2003-06-30 | 2005-01-06 | Matsushita Electric Industrial Co., Ltd. | ガーベジコレクションシステム |
US20100114998A1 (en) | 2008-10-30 | 2010-05-06 | Microsoft Corporation | Incremental lock-free stack scanning for garbage collection |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848423A (en) * | 1997-04-23 | 1998-12-08 | Sun Microsystems, Inc. | Garbage collection system and method for locating root set pointers in method activation records |
US6049810A (en) * | 1997-04-23 | 2000-04-11 | Sun Microsystems, Inc. | Method and apparatus for implementing a write barrier of a garbage collected heap |
US5873105A (en) | 1997-06-26 | 1999-02-16 | Sun Microsystems, Inc. | Bounded-pause time garbage collection system and method including write barrier associated with a source instance of a partially relocated object |
US6308319B1 (en) | 1999-02-22 | 2001-10-23 | Sun Microsystems, Inc. | Thread suspension system and method using trapping instructions in delay slots |
US6249793B1 (en) | 1999-06-10 | 2001-06-19 | Sun Microsystems, Inc. | Mostly concurrent compaction in a garbage collection system |
US6381738B1 (en) | 1999-07-16 | 2002-04-30 | International Business Machines Corporation | Method for optimizing creation and destruction of objects in computer programs |
US6625808B1 (en) * | 1999-12-10 | 2003-09-23 | Microsoft Corporation | Method and apparatus for facilitating memory management in a program comprised of heterogeneous components |
US6484188B1 (en) | 1999-12-30 | 2002-11-19 | Intel Corporation | Optimization of garbage collection code in the context of raw native interface function calls in the java programming language |
WO2006069484A1 (en) * | 2004-12-30 | 2006-07-06 | Intel Corporation | Methods and apparatuses to maintain multiple execution contexts |
US7548940B2 (en) | 2005-06-10 | 2009-06-16 | International Business Machines Corporation | Generational real-time garbage collection |
CN101046755B (zh) * | 2006-03-28 | 2011-06-15 | 郭明南 | 一种计算机自动内存管理的系统及方法 |
JP2009266113A (ja) | 2008-04-28 | 2009-11-12 | Internatl Business Mach Corp <Ibm> | メモリ管理方法およびシステム |
US8065349B2 (en) * | 2008-06-30 | 2011-11-22 | Oracle America, Inc. | Method and apparatus for performing concurrent garbage collection |
CN101706756A (zh) * | 2009-12-10 | 2010-05-12 | 金蝶软件(中国)有限公司 | 一种元数据的缓存方法及装置 |
US8862640B2 (en) * | 2011-04-25 | 2014-10-14 | Microsoft Corporation | Conservative garbage collecting and tagged integers for memory management |
US9229858B2 (en) * | 2013-10-08 | 2016-01-05 | Red Hat, Inc. | Concurrent garbage collector thread |
CN103577335B (zh) * | 2013-10-23 | 2016-09-07 | 中国科学院计算技术研究所 | 一种内存垃圾回收系统及方法 |
JP5889270B2 (ja) * | 2013-12-13 | 2016-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | スタック・スキャンのコストを削減するための方法、プログラム及びシステム |
-
2018
- 2018-06-25 US US16/017,107 patent/US10459656B1/en active Active
-
2019
- 2019-06-18 CN CN201980036867.3A patent/CN112219196B/zh active Active
- 2019-06-18 GB GB2019822.2A patent/GB2586769B/en active Active
- 2019-06-18 WO PCT/IB2019/055073 patent/WO2020003050A1/en active Application Filing
- 2019-06-18 JP JP2020564524A patent/JP7304119B2/ja active Active
- 2019-06-18 DE DE112019001821.3T patent/DE112019001821B4/de active Active
- 2019-08-21 US US16/546,434 patent/US10831400B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005001695A1 (ja) | 2003-06-30 | 2005-01-06 | Matsushita Electric Industrial Co., Ltd. | ガーベジコレクションシステム |
US20100114998A1 (en) | 2008-10-30 | 2010-05-06 | Microsoft Corporation | Incremental lock-free stack scanning for garbage collection |
Also Published As
Publication number | Publication date |
---|---|
GB202019822D0 (en) | 2021-01-27 |
JP2021530756A (ja) | 2021-11-11 |
US20190391753A1 (en) | 2019-12-26 |
GB2586769B (en) | 2021-08-04 |
DE112019001821T5 (de) | 2021-01-21 |
WO2020003050A1 (en) | 2020-01-02 |
CN112219196B (zh) | 2023-12-26 |
US10459656B1 (en) | 2019-10-29 |
DE112019001821B4 (de) | 2022-04-21 |
GB2586769A (en) | 2021-03-03 |
US10831400B2 (en) | 2020-11-10 |
CN112219196A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7304119B2 (ja) | ポーズレスなガベージ・コレクションのための活性化フレームを表す方法および装置 | |
JP4511653B2 (ja) | マルチスレッド仮想マシン内におけるメモリ・アロケーションの方法及び装置 | |
Von Behren et al. | Capriccio: Scalable threads for internet services | |
US8245239B2 (en) | Deterministic runtime execution environment and method | |
US11620215B2 (en) | Multi-threaded pause-less replicating garbage collection | |
US7069396B2 (en) | Deferred memory allocation for application threads | |
EP3577567B1 (en) | Multiple stage garbage collector | |
EP3577565B1 (en) | Garbage collector | |
US11994988B2 (en) | Multi-ring shared, traversable, and dynamic advanced database | |
Gerlitz et al. | Non-blocking garbage collection for real-time android | |
US11550714B2 (en) | Compiling application with multiple function implementations for garbage collection | |
US10936483B2 (en) | Hybrid garbage collection | |
Raman et al. | Patterns and tools for achieving predictability and performance with real time Java | |
US10521155B2 (en) | Application management data | |
Stilkerich et al. | A practical getaway: Applications of escape analysis in embedded real-time systems | |
Stilkerich et al. | RT-LAGC: Fragmentation-tolerant real-time memory management revisited | |
Halpern et al. | Unleashing the Power of Allocator-Aware Software Infrastructure | |
US10754766B2 (en) | Indirect resource management | |
Borg | On The Development of Dynamic Real-Time Applications in the RTSJ-A Model for Expressing Dynamic Memory Requirements | |
Siebert | Parallel real-time garbage collection | |
Muralidharan | An Analysis of Garbage Collectors for Multicore Platforms | |
Cutler et al. | Extracting parallelism in OS kernels using type-safe languages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20201117 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211028 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220502 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230606 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20230606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230622 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7304119 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |