JP4064404B2 - 適応型ガーベージコレクション方法及び前記方法を行う装置 - Google Patents

適応型ガーベージコレクション方法及び前記方法を行う装置 Download PDF

Info

Publication number
JP4064404B2
JP4064404B2 JP2005010862A JP2005010862A JP4064404B2 JP 4064404 B2 JP4064404 B2 JP 4064404B2 JP 2005010862 A JP2005010862 A JP 2005010862A JP 2005010862 A JP2005010862 A JP 2005010862A JP 4064404 B2 JP4064404 B2 JP 4064404B2
Authority
JP
Japan
Prior art keywords
memory
space
area
memory area
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.)
Expired - Fee Related
Application number
JP2005010862A
Other languages
English (en)
Other versions
JP2005216298A (ja
Inventor
承範 鄭
アレクセイ・ロマノフスキ
雄石 趙
得萬 許
アレクサンダー・マルコフ
ヴィタリー・ミクヒーフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005216298A publication Critical patent/JP2005216298A/ja
Application granted granted Critical
Publication of JP4064404B2 publication Critical patent/JP4064404B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • G06F12/0276Generational garbage collection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D46/00Filters or filtering processes specially modified for separating dispersed particles from gases or vapours
    • B01D46/0027Filters or filtering processes specially modified for separating dispersed particles from gases or vapours with additional separating or treating functions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L9/00Disinfection, sterilisation or deodorisation of air
    • A61L9/16Disinfection, sterilisation or deodorisation of air using physical phenomena
    • A61L9/22Ionisation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D46/00Filters or filtering processes specially modified for separating dispersed particles from gases or vapours
    • B01D46/10Particle separators, e.g. dust precipitators, using filter plates, sheets or pads having plane surfaces
    • B01D46/12Particle separators, e.g. dust precipitators, using filter plates, sheets or pads having plane surfaces in multiple arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D46/00Filters or filtering processes specially modified for separating dispersed particles from gases or vapours
    • B01D46/42Auxiliary equipment or operation thereof
    • B01D46/4263Means for active heating or cooling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D46/00Filters or filtering processes specially modified for separating dispersed particles from gases or vapours
    • B01D46/42Auxiliary equipment or operation thereof
    • B01D46/44Auxiliary equipment or operation thereof controlling filtration

Landscapes

  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Epidemiology (AREA)
  • Veterinary Medicine (AREA)
  • Memory System (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

本発明はガーベージコレクションに関し、より詳細にはセミスペース・コピーイング・コレクションの構造において、スペース境界線の位置が変化する適応型非対称スペース構造を利用した適応型ガーベージコレクションに関する。
ガーベージとは、プログラミングの観点からメモリ空間内でもう不要であると判断されて運用体制により回収されたデータ保存空間をいう。また、ガーベージコレクション(Garbage collection:以下、GC)とは、このようなメモリ空間を他のプログラムが効率的に再使用できるように解放することをいい、‘ゴミコレクション’ともいう。すなわち、ガーベージコレクションとは、メモリを動的に管理するための方法をいう。
過去には、場合によっては使用しない保存空間を正しく返却しないプログラムは、運用体制により強制的に終了されることもあったが、一般的にはプログラマが必要とする保存空間を明示的に宣言し、その空間がもう不要となる時には、システムに返却するようにプログラムを作成しなければならなかった。
したがって、このような作業を正しく行わなければ、正常に行われていたプログラムも原因も知らずに止まってしまうが、このような場合には、論理的なバグでもために原因を捜し出すことも非常に困難である。したがって、システム内で自動的に使用中でないメモリ領域を探して解放するGC機能が開発された。
前記GCに関する一般的なアルゴリズムには、セミスペース・コピーイング・コレクション方法と、世代別GC方法とがあるが、それについて簡単に説明する。
図1は、従来のセミスペース・コピーイング・コレクション方法を示す例示図である。
前記図1に図示されたように、メモリ領域は、同じ大きさのfromスペース及びtoスペースに分割される。この時、前記fromスペースは、オブジェクトが割り当てられるメモリ領域を示し、前記toスペースは、GCにより前記fromスペースに割り当てられたオブジェクトがコピーされるメモリ領域を示す。一方、前記toスペースとfromスペースとは、その大きさが同一でなければならない。なぜなら、もし、GCが行われる時、fromスペースに存在するオブジェクトがすべて生きている(使用中の)オブジェクトである場合に、あらゆるオブジェクトがtoスペースにコピーされねばならず、また、典型的なセミスペース・コピーイング・コレクションアルゴリズムが行われるためには、ポインタ逆転のために一つのオブジェクトに対して二つのコピー本が臨時で存在しなければならないからである。これに関しては非特許文献1に開示されている。
また、前記オブジェクトは、オブジェクト向けプログラミングにおいて特定クラスまたはそのクラスの自体方法や手順、そしてデータ変数を有しているサブクラスが実際に具現されたもの、すなわち、用例をいう。
1段階から3段階まで前記fromスペースにオブジェクトが割り当てられるが、3段階で前記fromスペースが満たされてそれ以上オブジェクトを割り当てられなくなる。したがって、4段階ではfromスペースに割り当てられたオブジェクトのうちもう使用中でないオブジェクト、すなわち、ガーベージを除いて生きているオブジェクトを前記toスペースにコピーする。このようにすることにより、以前にfromスペースであった領域はtoスペースに、toスペースであった領域はfromスペースに役割が変わる。したがって、5段階からは、前記1段階のようにfromスペースにオブジェクトが割り当てられる。
一般的に、前記セミスペース・コピーイング・コレクション方法は、メモリ動的管理方法において単独で使われるよりは、他のメモリ動的管理方法に応用されるが、その例として世代別GC方法がある。
図2は、従来の世代別GC方法を示す例示図である。
前記世代別GC方法は、1980年代以後に効率的なGC方法として広く使われるアルゴリズムであって、メモリヒープはオブジェクトの年齢によって二つ以上の世代領域に分割される。前記図2では、若い世代領域200と老いた世代領域250とに分けられている。また、前記若い世代領域200では、前記図1に図示されたようなセミスペース・コピーイング・コレクション方法によりGCが行われるためにfromスペース210とtoスペース220とが存在する。
この時、前記オブジェクトの年齢とは、オブジェクトが一つのセミスペースから他のセミスペースにコピーされる回収をいう。したがって、例えば、あるオブジェクトが数回コピーされたとすれば、前記オブジェクトは‘老いた’といえる。
以下、従来の世代別GC方法を具体的に説明する。
若い世代領域200でのGC方法としては、セミスペース・コピーイング・コレクション方法が使われ、老いた世代領域250でのGC方法としては表示−圧縮方法が使われる。
新しいオブジェクトは、若い世代領域200であるセミスペースのうちfromスペース210に割り当てられる。前記図2に、fromスペース210に割り当てられたオブジェクト212、214、216、218を示す。
若い世代領域200でのGCは、fromスペース210からtoスペース220に生きているオブジェクト212、216だけコピーすることによって行われ、若い世代領域200に対するGCが数回行われる間に生きているオブジェクトは老いたオブジェクトに分類されつづける。このような老いたオブジェクト218は、老いた世代領域250に移転される。
老いた世代領域250にそれ以上オブジェクトを移転する空間がない場合、老いた世代領域250に対するGCが行われ、一般的に若い世代領域200でのGCに比べて長時間を要する。
前記図1に図示されたセミスペース・コピーイング・コレクション方法の場合には、二つのセミスペース領域のうち一つの領域だけがメモリ割り当てのために使われる。すなわち、GCはメモリ領域が満たされた時に行われるため、メモリ領域が小さいほどGCはさらに頻繁に発生するという問題点がある。
また、前記図2に図示された世代別GC方法は、若い世代領域で主にセミスペースコピーイング方法を使用するために依然として前記のような問題点が存在し、フローティングガーベージの量が増加してしまう問題点がある。この時、前記フローティングガーベージとは、若い世代領域でのGCを通じて老いた世代領域に移動したオブジェクトが、実際にはもう使用中でないが、老いた世代領域でのGCがまだ発生しなかったためにメモリ領域にそのまま存在するということをいう。若い世代領域でのGCが頻繁に発生するほど、より多くのオブジェクトが老いた世代領域に移動するようになり、その結果、フローティングガーベージの量も増加してしまうので、全体的にメモリ効率が悪くなる。
特開平3−189747号公報 特開2002−278828号公報 Cheneyの‘A nonrecursive list compaction algorithm,Communications of the ACM,13(11),pp677−678,1970’
本発明は前記問題点を改善するために案出されたものであって、本発明は、セミスペース・コピーイング・コレクション方法を行うために必要とするスペースの大きさをそれぞれ別にすることによって、より効率的なGCが行われる方法を提供するところにその目的がある。
本発明の目的は、前記で言及した目的に限定されず、言及しなかったさらに他の目的は下の記載から当業者ならば明確に理解できる。
前記目的を達成するために、動的メモリを割り当てる方法において、本発明の実施によるGC方法は、所定のプロセスの要請により第1メモリ領域に新しいオブジェクトのための領域が割り当てられる(a)段階と、前記第1メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトを第2メモリ領域にコピーする(b)段階と、前記第1メモリ領域及び前記第2メモリ領域の大きさが所定の情報によって調節される(c)段階とを含む。この時、望ましくは、前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであるか、またはシステムアプリケーションにより生成されたプロセスである。
望ましくは、前記情報は、前記(a)段階及び(b)段階が行われつつ発生する履歴情報である。
望ましくは、前記情報は、前記第1メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第2メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比である。
前記目的を達成するために、動的メモリの割り当てにおいて、本発明の実施によるガーベージコレクション機能を提供する装置には、所定のプロセスの要請により新しいオブジェクトを割り当てるための第1メモリ領域と、前記第1メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトをコピーして割り当てるための第2メモリ領域と、前記プロセスにより活性化されて、前記メモリ領域にオブジェクトを保存するための領域を割り当て、前記第1メモリ領域及び前記第2メモリ領域の大きさを所定の情報によって調節した後、前記プロセスに制御権をわたして自身は非活性化されるガーベージコレクションモジュールとが搭載された。この時、望ましくは、前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであるか、またはシステムアプリケーションにより生成されたプロセスである。
望ましくは、前記情報は、前記プロセスの要請により前記第1メモリ領域に新しいオブジェクトのための領域が割り当てられ、前記第1メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトが前記第2メモリ領域にコピーされながら発生する履歴情報である。
望ましくは、前記情報は、前記第1メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第2メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比である。
本発明の実施によって世代別GCを行うに当たって、同じ大きさのメモリを使用した場合、従来には若い世代領域に割り当てられた領域の半分だけをメモリとして割り当てることができたが、本発明を通じて半分以上、一般的には大部分の若い世代領域に割り当てられた領域をメモリとして割り当てられることによってメモリ使用効率が増加する効果がある。
また、さらに大きいメモリ割り当て領域を有するために、単位時間当りガーベージコレクタが行われる回数が減少し、これに伴い従来技術の問題点であったフローティングガーベージの量も減少するようになってメモリ使用効率が向上する効果がある。
また、メモリ使用効率の向上の結果として、ガーベージコレクタの最も大きい性能上指標であるGC時間の総和もやはり従来の世代別ガーベージコレクタに比較して短縮される効果がある。
その他の実施形態の具体的な事項は、詳細な説明及び図面に含まれている。
本発明の利点及び特徴、そしてそれらを達成する方法は添付される図面と共に詳細に後述される実施形態を参照すれば明らかになる。しかし、本発明は以下の実施形態に限定されるものではなく多様な形態に具現でき、但し、本実施形態は本発明の開示を完全にし、当業者に本発明の範囲を完全に知らせるために提供されるものであり、本発明は特許請求の範囲により定義されるだけである。明細書全体にわたって同一参照符号は同一構成要素を示す。
以下、添付された図面を参照して本発明の望ましい実施形態を詳細に説明する。
図3は、本発明の実施による適応型世代別GC方法のためのメモリ構造を示す例示図である。
前記図3に図示されたように、GCのために、ヒープのようなメモリ領域は、老いた世代領域350と若い世代領域300とに分割され、前記若い世代領域300は、スペース境界線320を中心としてfromスペース310とtoスペース330とに分けられる。この時、前記スペース境界線320は、前記二つのスペースを均等に分けることではなく、自由に移動可能になっている。
図4は、本発明の実施による若い世代領域でのGCを行う方法を示す一実施形態の処理フローチャートである。
GCを行うガーベージコレクタ400は、システム内で動作するプロセッサであって、ユーザープロセス470との相互作用を通じてGC機能を行う。すなわち、前記ガーベージコレクタ400は、ユーザープロセス470からメモリ割り当てを要請されてメモリを割り当て、メモリが足りない場合、自身が管理するメモリヒープ内でもう使用中でないガーベージを除去してメモリを確保する独立的なモジュールである。また、前記ガーベージコレクタ400は、メモリの割り当て及び解除を自動的に行うために、あらゆるプロセッサに連結されてメモリ管理者として使用でき、特にJava(登録商標)をはじめとする仮想マシンにも適用できる。
ガーベージコレクタ400は、ユーザープロセス470から新しいオブジェクトのためのメモリ割り当て要請を受ければ動作を行い始める(S410)。それから、前記オブジェクトのための新しいメモリ空間を割り当てるためにfromスペースに余裕があるかどうかを検査する(S420)。もし、前記fromスペースに余裕がある場合には前記ユーザープロセス470にfromスペースのうち要請されたオブジェクトの大きさだけ割り当て、再びユーザープロセス470に制御権を渡す。
もし、前記S420段階で、fromスペースに余裕がない場合には若い世代領域に対するGC動作が行われる(S430)。
この時、もし、toスペースの空間が不足すれば、まだ処理され終わらずにfromスペースに残っているオブジェクトはfromスペース内で公知の表示−圧縮方法により処理される(S450)。
前記ガーベージコレクタ400によりGC作業が正常に終了すれば、前記ガーベージコレクタ400は、本発明の特徴であるfromスペースとtoスペースとを分けるスペース境界線を再設定する(S460)。このために、前記ガーベージコレクタ400は所定の予測値を持ってfromスペースとtoスペース間の境界線を再設定する。
以下では、スペース境界線を再設定する方法を具体的に説明する。
従来にはfromスペースとtoスペースとの大きさが同一であったが、本発明では、fromスペースとtoスペースとの境界が適応的に計算される。一般的な場合、fromスペースに割り当てられた大部分のオブジェクトがもう不要なガーベージに分類されて削除され、一部分だけがtoスペースにコピーされる。したがって、GCが終わる度にfromスペースがtoスペースよりさらに大きくなるようにスペース境界線を再設定する。
スペース境界線が計算される方法を説明すれば次の通りである。
若い世代領域でのGCが行われた時、行われる前に割り当てられていたメモリの総和と遂行後に生き残ったオブジェクトのメモリ総和との比をR、i番目のGC時に測定された比率をR(i)と定義する。この比率に該当するR(i)が安定した確率分布を有すると仮定する場合、最近k回の平均は、
avg=(R(i)+R(i−1)+…+R(i−k+1))/k
といえる。
次回のGC時の予想比率は、現在までの比率のk回の履歴の平均で線形近似になる。この時、線形離脱は、各R(i)比率と平均との差で定義され、この線形離脱値もGC時に履歴のひとつとして、
div(i)=|R(i)−avg|
のように別途に保存される。
本発明では、fromスペースとtoスペースとのスペース境界線の急な移動を防止し、メモリプロフィールを安定化させた。このために最近k回のdiv(i)の値がいずれも設定限界値MAX_D内に入っているかどうかを確認し、これが確認された時に新しい境界線の再設定のための離脱値divは、
div=max(div,MIN_D)
を経て確率分布上発生しうる雑音変動を吸収できるように最小限MIN_Dの値を有するようにし、最終的にはdivが最大許容離脱値MAX_Dより小さい時にのみ境界線を
R*=max(avg,R(i))+div
のように設定する。
本発明は、このような予測値を有してfromスペースとtoスペースとのスペース境界線を変化させ続ける。
一方、前記図3では若い世代領域でのGC方法を示し、老いた世代領域と関連したプロセス、すなわち、数回の若い世代領域のコレクションを通じて年齢が増加したオブジェクトを老いた世代領域に移動させるプロセス及び老いた世代領域自体のGCと両世代間のメモリ参照更新などの事項は、従来の世代別GC方法を利用できる。一般的な世代別GCに関しては、JonesとLinsの‘Garbage Collection:Algorithms for Automatic Dynamic Memory Management,pp.1−41,Wiley(1996)’に開示されている。
本発明の実施による適応型ガーベージコレクタの性能を従来のGC方法と比較するために、サン・マイクロシステムズで標準として提供するJ2 Micro Edition Connected Device Configuration Reference Implementation(以下、‘J2ME CDC RI’という)をテストベッドとした。
前記J2ME CDC RIでは‘マークアンドスウィープ(mark and sweep)’、‘コピーイングセミスペース(copying semi−space’、‘ジェネレーショナル(generational)’などのGCアルゴリズムが行われるが、前記3種のアルゴリズムのうち性能の最も良い‘ジェネレーショナル’、すなわち、世代別GCアルゴリズム(以下、‘RI GC’という)と本発明の実施によるアルゴリズム(以下、‘new GC’という)との性能を比較した。
また、Java(登録商標)仮想マシンの性能を測定するのに広く使われるSPECjvm98ベンチマークテストを通じて前記両アルゴリズムの性能を測定したが、リファレンスPCの仕様として、リヌックスレッドホット8.0(Linux RedHat 8.0)を運用体制とし、ペンティアム(登録商標)II、233MHz、32MB RAMをハードウェアシステム仕様とした。これは、本発明が主にメモリリソース管理を重要視するエンベデッドシステムに有効に使われるために、前記のような仕様とした。
表1は、前記SPECjvm98ベンチマークに対するGCの性能を比較した結果を示している。
Figure 0004064404
前記表1で‘メモリ’は、ベンチマーク遂行のためのメモリの大きさを示す。
そして、‘総GC休止時間’はミリ秒単位であって、GCを行うためにユーザープロセスがしばらく休止した時間を累積した値を示す。この値が小さいほど性能がさらに優秀であるということが分かる。
前記表1に示されたように、本発明の実施による適応型GC方法を使用する場合に、Java(登録商標)仮想マシンに適用されてガーベージコレクタにかかる時間がかなり短縮され、最大休止時間もまた短縮された結果を得られる。
以上説明した本発明は、当業者により、本発明の技術的思想を離脱しない範囲内で色々な置換、変形及び変更ができるので、前述した実施形態及び添付された図面に限定されることではない。
本発明は、適応型ガーベージコレクション方法及び前記方法を行う装置に利用されうる。
従来のセミスペース・コピーイング・コレクション方法を示す例示図である。 従来の世代別GC方法を示す例示図である。 本発明の実施による適応型世代別GC方法のためのメモリ構造を示す例示図である。 本発明の実施による若い世代領域でのGCを行う方法を示す一実施形態の処理フローチャートである。
符号の説明
300…若い世代領域
310…fromスペース
320…スペース境界線
330…toスペース
350…老いた世代領域

Claims (6)

  1. 動的メモリを割り当てる方法において、
    所定のプロセスの要請により第1メモリ領域に新しいオブジェクトのための領域が割り当てられる(a)段階と、
    前記第1メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトを第2メモリ領域にコピーする(b)段階と、
    前記第1メモリ領域及び前記第2メモリ領域の大きさが、所定の情報によって調節される(c)段階と
    を含み、
    前記情報は、前記第1メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第2メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比の履歴の平均であることを特徴とするガーベージコレクション方法。
  2. 前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項1に記載のガーベージコレクション方法。
  3. 前記プロセスはシステムアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項1に記載のガーベージコレクション方法。
  4. 動的メモリの割り当てにおいて、所定のプロセスの要請により新しいオブジェクトを割り当てるための第1メモリ領域と、
    前記第1メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトをコピーして割り当てるための第2メモリ領域と、
    前記プロセスにより活性化されて、前記メモリ領域にオブジェクトを保存するための領域を割り当て、前記第1メモリ領域及び前記第2メモリ領域の大きさを所定の情報によって調節した後、前記プロセスに制御権をわたして自身は非活性化されるガーベージコレクションモジュールと
    が搭載され
    前記情報は、前記第1メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第2メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比の履歴の平均であることを特徴とするガーベージコレクション機能を提供する装置。
  5. 前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項に記載のガーベージコレクション機能を提供する装置。
  6. 前記プロセスは、システムアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項に記載のガーベージコレクション機能を提供する装置。
JP2005010862A 2004-01-28 2005-01-18 適応型ガーベージコレクション方法及び前記方法を行う装置 Expired - Fee Related JP4064404B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040005469A KR100608606B1 (ko) 2004-01-28 2004-01-28 적응형 가비지 컬렉션 방법 및 상기 방법을 수행하는 장치

Publications (2)

Publication Number Publication Date
JP2005216298A JP2005216298A (ja) 2005-08-11
JP4064404B2 true JP4064404B2 (ja) 2008-03-19

Family

ID=34651525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005010862A Expired - Fee Related JP4064404B2 (ja) 2004-01-28 2005-01-18 適応型ガーベージコレクション方法及び前記方法を行う装置

Country Status (6)

Country Link
US (1) US7302544B2 (ja)
EP (1) EP1560119B1 (ja)
JP (1) JP4064404B2 (ja)
KR (1) KR100608606B1 (ja)
CN (1) CN1329844C (ja)
AT (1) ATE525696T1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529786B2 (en) * 2003-07-30 2009-05-05 Bea Systems, Inc. System and method for adaptive garbage collection in a virtual machine environment
JP4996073B2 (ja) * 2005-07-13 2012-08-08 富士通株式会社 世代別ガベージコレクションプログラム
KR100753821B1 (ko) * 2005-11-01 2007-08-31 한국전자통신연구원 가비지 컬렉션 장치 및 그 방법
KR100737345B1 (ko) * 2006-03-28 2007-07-09 한국전자통신연구원 점진적인 가비지 콜렉션 수행 시에 순환적 가비지의 회수방법 및 장치
US7480782B2 (en) 2006-06-14 2009-01-20 Sun Microsystems, Inc. Reference-updating using per-chunk referenced-address ranges in a compacting garbage collector
KR101297563B1 (ko) 2007-11-15 2013-08-19 삼성전자주식회사 스토리지 관리 방법 및 관리 시스템
WO2010018613A1 (ja) * 2008-08-11 2010-02-18 富士通株式会社 ガーベジコレクションプログラム、及びガーベジコレクション方法、ならびにガーベジコレクションシステム
US8301672B2 (en) * 2008-09-22 2012-10-30 Advanced Micro Devices, Inc. GPU assisted garbage collection
WO2010033997A2 (en) * 2008-09-22 2010-03-25 Fiji Systems, Llc Hybrid fragmenting real time garbage collection
US8473900B2 (en) * 2009-07-01 2013-06-25 Advanced Micro Devices, Inc. Combining classes referenced by immutable classes into a single synthetic class
US8463826B2 (en) * 2009-09-03 2013-06-11 Apple Inc. Incremental garbage collection for non-volatile memories
US8943108B2 (en) * 2009-12-23 2015-01-27 International Business Machines Corporation Hardware off-load memory garbage collection acceleration
US8407444B2 (en) * 2009-12-23 2013-03-26 International Business Machines Corporation Hardware off-load garbage collection acceleration for languages with finalizers
JP2011192260A (ja) * 2010-02-16 2011-09-29 Toshiba Corp 半導体記憶装置
US8327109B2 (en) * 2010-03-02 2012-12-04 Advanced Micro Devices, Inc. GPU support for garbage collection
CN102023891A (zh) * 2010-12-20 2011-04-20 复旦大学 基于Java虚拟机的并发垃圾收集器框架
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8966205B1 (en) 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
US8984247B1 (en) * 2012-05-10 2015-03-17 Western Digital Technologies, Inc. Storing and reconstructing mapping table data in a data storage system
US9977612B1 (en) 2012-05-11 2018-05-22 Western Digital Technologies, Inc. System data management using garbage collection and logs
US9170932B1 (en) 2012-05-22 2015-10-27 Western Digital Technologies, Inc. System data storage mechanism providing coherency and segmented data loading
CN103412825B (zh) * 2013-05-21 2016-12-28 青岛海信移动通信技术股份有限公司 一种内存释放方法及装置
TWI512609B (zh) 2014-09-05 2015-12-11 Silicon Motion Inc 讀取命令排程方法以及使用該方法的裝置
KR102449192B1 (ko) 2015-09-10 2022-09-29 삼성전자주식회사 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
CN105183566B (zh) * 2015-10-16 2019-01-29 上海恺英网络科技有限公司 3d游戏渲染引擎的资源管理方法
US10146684B2 (en) * 2016-10-24 2018-12-04 Datrium, Inc. Distributed data parallel method for reclaiming space

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60252968A (ja) 1984-05-30 1985-12-13 Hitachi Ltd メモリ管理方式
US4989134A (en) * 1987-03-20 1991-01-29 Hewlett-Packard Company Method and apparatus for enhancing data storage efficiency
JPH03189747A (ja) * 1989-12-19 1991-08-19 Fujitsu Ltd メモリ管理処理方式
US5218698A (en) * 1991-11-22 1993-06-08 Aerojet-General Corporation Garbage collection system for a symbolic digital processor
JP2580519B2 (ja) 1993-04-27 1997-02-12 工業技術院長 メモリ制御方法
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
US5873104A (en) * 1997-06-26 1999-02-16 Sun Microsystems, Inc. Bounded-pause time garbage collection system and method including write barrier associated with source and target instances of a partially relocated object
US5857210A (en) * 1997-06-26 1999-01-05 Sun Microsystems, Inc. Bounded-pause time garbage collection system and method including read and write barriers associated with an instance of a partially relocated object
JP3795669B2 (ja) 1998-04-28 2006-07-12 富士通株式会社 メモリ管理装置およびメモリ管理プログラムを記憶した記憶媒体
US6065020A (en) * 1998-05-27 2000-05-16 Microsoft Corporation Dynamic adjustment of garbage collection
US6286016B1 (en) * 1998-06-09 2001-09-04 Sun Microsystems, Inc. Incremental heap expansion in a real-time garbage collector
US6681306B1 (en) * 1999-11-29 2004-01-20 Sun Microsystems, Inc. Method and apparatus for increasing scavenging garbage collection effectiveness
GB0027053D0 (en) * 2000-11-06 2000-12-20 Ibm A computer system with two heaps in contiguous storage
JP2002278828A (ja) 2001-03-21 2002-09-27 Sony Corp ガーベージコレクション実行方法、コンピュータプログラム、プログラム格納媒体、および情報処理装置
KR100591117B1 (ko) * 2002-03-20 2006-06-19 리서치 인 모션 리미티드 이동 장치에서의 안전 가비지 수집 시스템 및 방법

Also Published As

Publication number Publication date
EP1560119A3 (en) 2008-01-09
EP1560119A2 (en) 2005-08-03
US7302544B2 (en) 2007-11-27
KR20050077602A (ko) 2005-08-03
JP2005216298A (ja) 2005-08-11
CN1329844C (zh) 2007-08-01
EP1560119B1 (en) 2011-09-21
KR100608606B1 (ko) 2006-08-03
US20050166028A1 (en) 2005-07-28
ATE525696T1 (de) 2011-10-15
CN1648879A (zh) 2005-08-03

Similar Documents

Publication Publication Date Title
JP4064404B2 (ja) 適応型ガーベージコレクション方法及び前記方法を行う装置
US7165255B2 (en) Method and apparatus for managing surplus memory in multitasking system
JP4079684B2 (ja) ヒープメモリ管理方法およびそれを用いた計算機システム
US7707232B2 (en) Implementation for collecting unmanaged memory
US6862674B2 (en) Methods and apparatus for performing a memory management technique
US7779054B1 (en) Heuristic-based resumption of fully-young garbage collection intervals
US11232026B2 (en) Deferred destruction for efficient resource reclamation
US8805896B2 (en) System and method for use with garbage collected languages for enabling the allocated heap memory to be updated at runtime
US6510440B1 (en) Method and apparatus for performing generational garbage collection using barrier bits
US7650370B2 (en) System and method for regeneration of methods and garbage collection of unused methods
US20070192388A1 (en) Method of and apparatus for managing memory
EP3577565B1 (en) Garbage collector
US7870171B2 (en) Method and system for garbage collection in a multitasking environment
US6427154B1 (en) Method of delaying space allocation for parallel copying garbage collection
US20070203959A1 (en) Apparatus and method for managing resources using virtual ID in multiple Java application environment
US11416392B2 (en) Arena-based memory management
US7853627B2 (en) Dense prefix generation for garbage collection
US7660961B2 (en) Concurrent evacuation of the young generation
US7792880B2 (en) Method and apparatus for efficient implementation of discontiguous objects
JP5381624B2 (ja) メモリ管理機能を有するプログラム及び装置
KR20170122090A (ko) 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러
JP2000099351A (ja) プログラム制御装置とメモリ割当装置および方法
US7194494B1 (en) Method for garbage collection of unused methods

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071031

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: 20071127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees