JP2014044472A - ガーベジコレクションのための情報処理方法、プログラム及び装置 - Google Patents
ガーベジコレクションのための情報処理方法、プログラム及び装置 Download PDFInfo
- Publication number
- JP2014044472A JP2014044472A JP2012184922A JP2012184922A JP2014044472A JP 2014044472 A JP2014044472 A JP 2014044472A JP 2012184922 A JP2012184922 A JP 2012184922A JP 2012184922 A JP2012184922 A JP 2012184922A JP 2014044472 A JP2014044472 A JP 2014044472A
- Authority
- JP
- Japan
- Prior art keywords
- area
- pointer
- phase
- garbage collection
- generation
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 172
- 238000000034 method Methods 0.000 claims description 139
- 230000008569 process Effects 0.000 claims description 119
- 239000000725 suspension Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 24
- 238000011084 recovery Methods 0.000 description 12
- 230000004083 survival effect Effects 0.000 description 10
- 230000004888 barrier function Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
- G06F12/0276—Generational garbage collection
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
【解決手段】情報処理方法は、(A)複数の領域に分割されたヒープ領域101から、第1のポインタが指すオブジェクトを特定し、(B)特定されたオブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、(C)ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域と判断した場合に、特定されたオブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで第1のポインタを更新する処理を含む。
【選択図】図1
Description
図2を用いて、本実施の形態の並行型ガーベジコレクションにおけるフェーズの推移について説明する。図2は、特定の世代領域が創成されてから解放されるまでに行われる処理の処理フローである。なお、「並行」とは、異なる作業を同時に行うことを意味している。
次に、図6乃至図8を用いて、マーキング部1031が実行するマーキング処理について説明する。
次に、図9を用いて、解放処理(S1011)について説明する。なお、解放処理は、他の処理と並列に実行することができる。ここで、並列とは、同じ作業を多重で処理することを意味している。
次に、図10乃至図13を用いて、移動フェーズにおいて移動部1033が実行する処理について説明する。まず、図10を用いて、確保処理(S1007)について説明する。なお、確保処理は世代領域毎に実行される。
次に、図14を用いて、参照更新フェーズにおいて設定部1039が実行する設定処理(S1009)について説明する。なお、参照更新処理は世代領域毎に実行される。
次に、図15乃至図23を用いて、アプリケーション処理部105がオブジェクトにアクセスする際の処理について説明する。
複数の領域に分割されたヒープ領域から、第1のポインタが指すオブジェクトを特定し、
特定された前記オブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、
前記ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であると判断した場合に、特定された前記オブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで前記第1のポインタを更新する
処理をコンピュータが実行する情報処理方法。
前記移動先のアドレスにより特定されるオブジェクトに対し、生存オブジェクトであることを表すマークを付与する
処理を前記コンピュータがさらに実行する付記1記載の情報処理方法。
前記ヒープ領域における前記複数の領域の中のうち第1の領域に対してガーベジコレクションを実行する場合、前記第1の領域のオブジェクトの移動先の領域である第2の領域を確保し、
前記ヒープ領域を使用してアプリケーションプログラムの処理を実行する処理部が前記第1の領域のオブジェクトに対して書き込みをすることを禁止し且つ読み出しをすることを可能とするための設定をし、
前記第1の領域のオブジェクトを、前記第2の領域にコピーする、
処理を前記コンピュータがさらに実行する付記1又は2記載の情報処理方法。
前記2の領域を確保する処理において、
前記第1の領域のオブジェクトの移動先のアドレスを当該第1の領域のオブジェクトに格納し、
前記処理部が、
前記第1の領域におけるオブジェクトに対して読み出し又は書き込みのためにアクセスする場合、当該オブジェクトの移動先のアドレスを当該オブジェクトから取得し、当該オブジェクトを指す第2のポインタを、取得した前記移動先のアドレスで更新し、
更新後の前記第2のポインタによって、前記第2の領域にコピーされたオブジェクトにアクセスする
ことを特徴とする付記3記載の情報処理方法。
前記第1の領域のオブジェクトにアクセスする処理部があるか否かを、アクセス中の前記処理部の数を計数するためのカウンタを用いて判断し、
前記第1の領域のオブジェクトにアクセスする処理部が無いと判断した場合に、前記第1の領域を解放する
処理を前記コンピュータがさらに実行する付記4記載の情報処理方法。
前記複数の領域のうち解放されている領域のいずれかに対し、前記処理部が書き込み及び読み出しをすることを可能とするための設定をする
処理を前記コンピュータがさらに実行する付記5記載の情報処理方法。
前記第2の領域を確保する処理において、
前記複数の領域の中から、生存オブジェクトのサイズ又は数に基づき、前記ガーベジコレクションを実行する領域を特定する
ことを特徴とする付記2乃至6のいずれか1つ記載の情報処理方法。
複数の領域に分割されたヒープ領域から、第1のポインタが指すオブジェクトを特定し、
特定された前記オブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、
前記ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であると判断した場合に、特定された前記オブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで前記第1のポインタを更新する
処理をコンピュータに実行させるためのプログラム。
メモリと、
前記メモリにおける、複数の領域に分割されたヒープ領域から、第1のポインタが指すオブジェクトを特定し、特定された前記オブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、前記ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であると判断した場合に、特定された前記オブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで前記第1のポインタを更新する処理部と、
を有する情報処理装置。
103 ガーベジコレクタ部 1031 マーキング部
1033 移動部 1035 第1処理部
1037 第2処理部 1039 設定部
105 アプリケーション処理部 107 ルートセット
109 アクセサ 111 参照更新部
Claims (5)
- 複数の領域に分割されたヒープ領域から、第1のポインタが指すオブジェクトを特定し、
特定された前記オブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、
前記ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であると判断した場合に、特定された前記オブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで前記第1のポインタを更新する
処理をコンピュータが実行する情報処理方法。 - 前記ヒープ領域における前記複数の領域の中のうち第1の領域に対してガーベジコレクションを実行する場合、前記第1の領域のオブジェクトの移動先の領域である第2の領域を確保し、
前記ヒープ領域を使用してアプリケーションプログラムの処理を実行する処理部が前記第1の領域のオブジェクトに対して書き込みをすることを禁止し且つ読み出しをすることを可能とするための設定をし、
前記第1の領域のオブジェクトを、前記第2の領域にコピーする、
処理を前記コンピュータがさらに実行する請求項1記載の情報処理方法。 - 前記2の領域を確保する処理において、
前記第1の領域のオブジェクトの移動先のアドレスを当該第1の領域のオブジェクトに格納し、
前記処理部が、
前記第1の領域におけるオブジェクトに対して読み出し又は書き込みのためにアクセスする場合、当該オブジェクトの移動先のアドレスを当該オブジェクトから取得し、当該オブジェクトを指す第2のポインタを、取得した前記移動先のアドレスで更新し、
更新後の前記第2のポインタによって、前記第2の領域にコピーされたオブジェクトにアクセスする
ことを特徴とする請求項2記載の情報処理方法。 - 複数の領域に分割されたヒープ領域から、第1のポインタが指すオブジェクトを特定し、
特定された前記オブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、
前記ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であると判断した場合に、特定された前記オブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで前記第1のポインタを更新する
処理をコンピュータに実行させるためのプログラム。 - メモリと、
前記メモリにおける、複数の領域に分割されたヒープ領域から、第1のポインタが指すオブジェクトを特定し、特定された前記オブジェクトが存在する領域が、ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であるか判断し、前記ガーベジコレクションの対象となる領域であり且つオブジェクトのコピーが完了している領域であると判断した場合に、特定された前記オブジェクトの移動先のアドレスを取得し、当該移動先のアドレスで前記第1のポインタを更新する処理部と、
を有する情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012184922A JP6044181B2 (ja) | 2012-08-24 | 2012-08-24 | ガーベジコレクションのための情報処理方法、プログラム及び装置 |
US13/972,179 US20140059093A1 (en) | 2012-08-24 | 2013-08-21 | Information processing method and apparatus for garbage collection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012184922A JP6044181B2 (ja) | 2012-08-24 | 2012-08-24 | ガーベジコレクションのための情報処理方法、プログラム及び装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014044472A true JP2014044472A (ja) | 2014-03-13 |
JP2014044472A5 JP2014044472A5 (ja) | 2014-06-19 |
JP6044181B2 JP6044181B2 (ja) | 2016-12-14 |
Family
ID=50148979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012184922A Expired - Fee Related JP6044181B2 (ja) | 2012-08-24 | 2012-08-24 | ガーベジコレクションのための情報処理方法、プログラム及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140059093A1 (ja) |
JP (1) | JP6044181B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018010507A (ja) * | 2016-07-14 | 2018-01-18 | 富士通株式会社 | メモリ管理プログラム、メモリ管理方法及びメモリ管理装置 |
JP2018073406A (ja) * | 2016-10-24 | 2018-05-10 | ダトリウム インコーポレイテッド | 記憶空間を解放するための分散データ並列方法 |
JP2018524696A (ja) * | 2015-06-30 | 2018-08-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特殊命令を使用しないガベージ・コレクション |
JP2021509509A (ja) * | 2018-01-09 | 2021-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 同時コピー・ガベージ・コレクションのためのコピーおよび転送 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176093B2 (en) | 2015-06-30 | 2019-01-08 | International Business Machines Corporation | Pauseless location and object handle based garbage collection |
US9734053B2 (en) | 2015-06-30 | 2017-08-15 | International Business Machines Corporation | Garbage collection handler to update object pointers |
US10761979B2 (en) * | 2016-07-01 | 2020-09-01 | Intel Corporation | Bit check processors, methods, systems, and instructions to check a bit with an indicated check bit value |
US11281578B2 (en) * | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
US10929288B1 (en) * | 2019-10-08 | 2021-02-23 | International Business Machines Corporation | Protecting against data loss during garbage collection |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213252A (ja) * | 2006-02-08 | 2007-08-23 | Hitachi Ltd | ゴミ集め処理プログラム及びゴミ集め処理方法 |
US20110264712A1 (en) * | 2010-04-23 | 2011-10-27 | Tatu Ylonen Oy Ltd | Copy planning in a concurrent garbage collector |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5560003A (en) * | 1992-12-21 | 1996-09-24 | Iowa State University Research Foundation, Inc. | System and hardware module for incremental real time garbage collection and memory management |
US6038572A (en) * | 1997-04-23 | 2000-03-14 | Sun Microsystems, Inc. | Method and apparatus for localizing nodes in a garbage collected carded 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 |
US6618737B2 (en) * | 2000-03-09 | 2003-09-09 | International Business Machines Corporation | Speculative caching of individual fields in a distributed object system |
US6526422B1 (en) * | 2000-05-15 | 2003-02-25 | Sun Microsystems, Inc. | Striding-type generation scanning for parallel garbage collection |
US7210122B2 (en) * | 2001-03-22 | 2007-04-24 | International Business Machines, Corporation | Method for reducing write barrier overhead |
US7058670B2 (en) * | 2002-12-20 | 2006-06-06 | Sun Microsystems, Inc. | Scalable, space-efficient, parallel remembered-sets |
US7590632B1 (en) * | 2004-10-12 | 2009-09-15 | Sun Microsystems, Inc. | Method for serializer maintenance and coalescing |
US20070162475A1 (en) * | 2005-12-30 | 2007-07-12 | Intel Corporation | Method and apparatus for hardware-based dynamic escape detection in managed run-time environments |
US8281293B2 (en) * | 2007-07-24 | 2012-10-02 | International Business Machines Corporation | Copy-on-write optimization of immutable objects for objects oriented languages |
US9110791B2 (en) * | 2008-03-03 | 2015-08-18 | Microsoft Technology Licensing, Llc | Optimistic object relocation |
US7937419B2 (en) * | 2008-06-26 | 2011-05-03 | Tatu Ylonen Oy | Garbage collection via multiobjects |
US8312219B2 (en) * | 2009-03-02 | 2012-11-13 | International Business Machines Corporation | Hybrid caching techniques and garbage collection using hybrid caching techniques |
JP2011134202A (ja) * | 2009-12-25 | 2011-07-07 | Internatl Business Mach Corp <Ibm> | メモリ管理装置、メモリ管理方法、及びメモリ管理プログラム |
US8555022B1 (en) * | 2010-01-06 | 2013-10-08 | Netapp, Inc. | Assimilation of foreign LUNS into a network storage system |
US9213562B2 (en) * | 2010-12-17 | 2015-12-15 | Oracle International Corporation | Garbage collection safepoint system using non-blocking asynchronous I/O call to copy data when the garbage collection safepoint is not in progress or is completed |
US8793452B1 (en) * | 2012-03-30 | 2014-07-29 | Emc Corporation | Method of guaranteeing replication of data written by a mainframe to a virtual tape |
-
2012
- 2012-08-24 JP JP2012184922A patent/JP6044181B2/ja not_active Expired - Fee Related
-
2013
- 2013-08-21 US US13/972,179 patent/US20140059093A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213252A (ja) * | 2006-02-08 | 2007-08-23 | Hitachi Ltd | ゴミ集め処理プログラム及びゴミ集め処理方法 |
US20110264712A1 (en) * | 2010-04-23 | 2011-10-27 | Tatu Ylonen Oy Ltd | Copy planning in a concurrent garbage collector |
Non-Patent Citations (1)
Title |
---|
JPN6016021742; 湯浅 太一: '3.実時間ごみ集め' 情報処理 第35巻 第11号, 19941115, 第1006-1013ページ, 社団法人情報処理学会 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018524696A (ja) * | 2015-06-30 | 2018-08-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特殊命令を使用しないガベージ・コレクション |
JP2018010507A (ja) * | 2016-07-14 | 2018-01-18 | 富士通株式会社 | メモリ管理プログラム、メモリ管理方法及びメモリ管理装置 |
JP2018073406A (ja) * | 2016-10-24 | 2018-05-10 | ダトリウム インコーポレイテッド | 記憶空間を解放するための分散データ並列方法 |
JP2021509509A (ja) * | 2018-01-09 | 2021-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 同時コピー・ガベージ・コレクションのためのコピーおよび転送 |
Also Published As
Publication number | Publication date |
---|---|
US20140059093A1 (en) | 2014-02-27 |
JP6044181B2 (ja) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6044181B2 (ja) | ガーベジコレクションのための情報処理方法、プログラム及び装置 | |
US7827374B2 (en) | Relocating page tables | |
US7490214B2 (en) | Relocating data from a source page to a target page by marking transaction table entries valid or invalid based on mappings to virtual pages in kernel virtual memory address space | |
JP6882662B2 (ja) | マイグレーションプログラム、情報処理装置およびマイグレーション方法 | |
US7721068B2 (en) | Relocation of active DMA pages | |
US20110264880A1 (en) | Object copying with re-copying concurrently written objects | |
US20100312955A1 (en) | Memory system and method of managing the same | |
JP6192660B2 (ja) | ステージング・エリアを管理するためのコンピュータ実施プロセス、コンピュータ・プログラム製品、装置 | |
CN108132890B (zh) | 存储芯片的垃圾回收方法、装置、设备及存储介质 | |
JP2008033483A (ja) | 計算機システム、計算機および計算機動作環境の移動方法 | |
KR101650424B1 (ko) | 기점 가상 머신으로부터 목적지 가상 머신으로의 동작 전송 | |
JP2007140698A (ja) | 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法 | |
JP2002268933A (ja) | クラスタシステム | |
US20110264713A1 (en) | Garbage collector with concurrent flipping without read barrier and without verifying copying | |
JP3872968B2 (ja) | コンピュータ・システムにおいてメモリを動的に再割当てするシステムおよび方法 | |
CN109074308A (zh) | 适应性的块转换表(btt) | |
JP3701890B2 (ja) | 圧縮メモリ・システムの再利用スペース予約 | |
US7660961B2 (en) | Concurrent evacuation of the young generation | |
US8898413B2 (en) | Point-in-time copying of virtual storage | |
US7644114B2 (en) | System and method for managing memory | |
US7653797B1 (en) | Optimizing a marking phase in mark-sweep garbage collectors by reducing paging activity | |
US20110004869A1 (en) | Program, apparatus, and method of optimizing a java object | |
US8892838B2 (en) | Point-in-time copying of virtual storage and point-in-time dumping | |
US20080109607A1 (en) | Method, system and article for managing memory | |
WO2011120335A1 (zh) | 数据操作的方法、装置及计算机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140424 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160812 |
|
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: 20161018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6044181 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |