JP2018524696A - 特殊命令を使用しないガベージ・コレクション - Google Patents
特殊命令を使用しないガベージ・コレクション Download PDFInfo
- Publication number
- JP2018524696A JP2018524696A JP2017564432A JP2017564432A JP2018524696A JP 2018524696 A JP2018524696 A JP 2018524696A JP 2017564432 A JP2017564432 A JP 2017564432A JP 2017564432 A JP2017564432 A JP 2017564432A JP 2018524696 A JP2018524696 A JP 2018524696A
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- object pointer
- memory
- handler
- address
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】 ガベージ・コレクションの処理が容易にされる。コンピューティング環境のプロセッサ内で実行されるハンドラにより、ロード命令の実行と、ロードされるオブジェクト・ポインタのアドレスがポインタ・ストレージ領域内に位置し、オブジェクト・ポインタは、ガベージ・コレクションが行われるメモリの選択された部分内の位置を示すと判断することとに基づいて、処理の制御を取得する。ハンドラは、ポインタ・ストレージ領域からオブジェクト・ポインタを取得し、オブジェクト・ポインタが修正されるべきかどうかを判断する。オブジェクト・ポインタが修正されるべきである場合、ハンドラは、オブジェクト・ポインタを修正する。次に、修正されたオブジェクト・ポインタを選択された位置に格納することができる。
【選択図】 図8
Description
ここで、load_eaはオブジェクト・ポインタであり、EAはオブジェクト・ポインタのアドレスであり、BESCRは、分岐イベント状況−制御レジスタ(branch event status-control register)を指し、GEは全体的なイネーブル(enable)を指し、LME=load monitored enabled(ロード監視イネーブル)である。
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で述べられる教示の実装は、クラウド・コンピューティング環境に限定されるものではないことが予め理解される。むしろ、本発明の実施形態は、現在知られている又は後に開発される他のいずれかのタイプのコンピューティング環境と併せて実装することができる。
オンデマンド・セルフサービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないが、より高レベルの抽象化では位置(例えば、国、州、又はデータセンタ)を特定できる場合があるという点で、位置とは独立しているといえる。
迅速な弾力性:機能は、迅速かつ弾力的に、幾つかの場合自動的に、プロビジョニングして素早くスケール・アウトし、迅速にリリースして素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、多くの場合、無制限であり、いつでもどんな量でも購入できるように見える。
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
Software as a Service(SaaS):クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
Platform as a Service(PaaS):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上に配備するために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
Infrastructure as a Service(IaaS):コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント(例えば、ホストのファイアウォール)選択の限定された制御を有する。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、構内又は構外に存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、構内又は構外に存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって結び付けられる2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム61と、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバ62と、サーバ63と、ブレード・サーバ64と、ストレージ・デバイス65と、ネットワーク及びネットワーキング・コンポーネント66とが含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68を含む。
仮想化層70は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティング・システム74、並びに仮想クライアント75を提供することができる。
12:コンピュータ・システム/サーバ
16、102:プロセッサ
18、108、208:バス
28、104、204、400:メモリ
50、100、200:コンピューティング環境
60:ハードウェア及びソフトウェア層
70:仮想化層
80:管理層
90:ワークロード層
106、206:インターフェース
202:ネイティブ中央処理ユニット
212:エミュレータ・コード
250:ゲスト命令
254:変換命令
256:ネイティブ命令
260:エミュレーション制御ルーチン
300:load doubleword(ld)命令
302a、302b:操作コード(オペコード)フィールド
302b:操作コード(オペコード)フィールド
304:結果フィールド(RT)
306:レジスタ・フィールド(RA)
308:別のフィールド(DS)
402:ロード監視領域
404、406:オブジェクト
420:アプリケーション・プログラム
422:ld命令
424:イベント・ベース分岐(EBB)ハンドラ
500:ポインタ・ストレージ領域(PSA)レジスタ
550:ロード監視領域レジスタ(LMRR)
Claims (20)
- コンピューティング環境内のガベージ・コレクションを容易にするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
方法を実施するために処理回路により実行される命令を含み、前記方法は、
前記コンピューティング環境のプロセッサ内で実行されるハンドラにより、処理の制御を取得することであって、前記処理の制御を取得することは、ロード命令の実行と、ロードされるオブジェクト・ポインタのアドレスがポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、ガベージ・コレクションが行われるメモリの選択された部分内の位置を示すと判断することとに基づく、取得することと、
前記ハンドラにより処理の制御を取得することに基づいて、前記ハンドラにより、前記ポインタ・ストレージ領域から前記オブジェクト・ポインタを取得することであって、前記オブジェクト・ポインタは、前記オブジェクト・ポインタにより指し示されるオブジェクトの位置を示す、取得することと、
前記ハンドラにより、前記オブジェクト・ポインタが修正されるべきかどうかを判断することと、
前記オブジェクト・ポインタが修正されるべきとの判断に基づいて、前記ハンドラにより、前記オブジェクト・ポインタを修正して、修正されたオブジェクト・ポインタを提供することと、
前記オブジェクト・ポインタを修正することに基づいて、前記修正されたオブジェクト・ポインタを選択された位置に格納することと、
を含む、コンピュータ・プログラム。 - 前記選択された位置は、前記ポインタ・ストレージ領域内の位置又は前記ロード命令により指定された位置である、請求項1に記載のコンピュータ・プログラム。
- 前記処理の制御を取得することは、プロセッサ・ハードウェアにより発行された割り込みを介し、前記発行された割り込みは、前記ロード命令の実行と、ロードされる前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、ガベージ・コレクションが行われる前記メモリの選択された部分内の前記位置を示すと判断することとに基づく、請求項1に記載のコンピュータ・プログラム。
- ガベージ・コレクションが行われる前記メモリの選択された部分は、ガベージ・コレクションが行われない1つ又は複数の他のオブジェクトを含むオブジェクト領域の部分であり、ガベージ・コレクション中、ガベージ・コレクションが行われない前記オブジェクト領域にアクセスする1つ又は複数のアプリケーションは、処理を続行する、請求項1に記載のコンピュータ・プログラム。
- 前記方法は、
前記ロード命令の実行から前記オブジェクト・ポインタの前記アドレスを判断することと、
前記オブジェクト・ポインタの前記アドレスを、前記ポインタ・ストレージ領域に関連するデータと比較して、前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置するかどうかを判断することと、
前記比較が、前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置すると判断することに基づいて、前記オブジェクト・ポインタを、前記メモリの選択された部分に関連する情報と比較して、前記オブジェクト・ポインタが前記メモリの選択された部分内の前記位置を示すと判断することと、
前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、前記メモリの選択された部分内の前記位置を示すと判断することに基づいて、制御を前記ハンドラに提供することと、
をさらに含む、請求項1に記載のコンピュータ・プログラム。 - 前記ポインタ・ストレージ領域は、複数のオブジェクト・ポインタ・アドレスを含むメモリの連続領域を含む、請求項1に記載のコンピュータ・プログラム。
- 前記ポインタ・ストレージ領域は、レジスタ又はメモリ内の位置の一方により指し示される、請求項1に記載のコンピュータ・プログラム。
- 前記メモリの選択された部分は、レジスタ又はメモリ内の位置の一方により指し示される、請求項1に記載のコンピュータ・プログラム。
- 前記レジスタは、前記メモリの選択された部分のベース・アドレスと、前記メモリの選択された部分のサイズとを含む、請求項8に記載のコンピュータ・プログラム。
- 前記ロード命令は、ロード操作を指定するための1つ又は複数の操作コード・フィールドと、前記オブジェクト・ポインタを取得するために用いられる結果フィールドと、前記ロード操作に用いられる1つ又は複数の他のフィールドとを含む、請求項1に記載のコンピュータ・プログラム。
- コンピューティング環境内のガベージ・コレクションを容易にするためのコンピュータ・システムであって、前記コンピュータ・システムは、
メモリと、
前記メモリと通信するプロセッサと、
を備え、前記コンピュータ・システムは方法を実施するように構成され、前記方法は、
前記コンピューティング環境のプロセッサ内で実行されるハンドラにより、処理の制御を取得することであって、前記処理の制御を取得することは、ロード命令の実行と、ロードされるオブジェクト・ポインタのアドレスがポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、ガベージ・コレクションが行われるメモリの選択された部分内の位置を示すと判断することとに基づく、取得することと、
前記ハンドラにより処理の制御を取得することに基づいて、前記ハンドラにより、前記ポインタ・ストレージ領域から前記オブジェクト・ポインタを取得することであって、前記オブジェクト・ポインタは、前記オブジェクト・ポインタにより指し示されるオブジェクトの位置を示す、取得することと、
前記ハンドラにより、前記オブジェクト・ポインタが修正されるべきかどうかを判断することと、
前記オブジェクト・ポインタが修正されるべきとの判断に基づいて、前記ハンドラにより、前記オブジェクト・ポインタを修正して、修正されたオブジェクト・ポインタを提供することと、
前記オブジェクト・ポインタを修正することに基づいて、前記修正されたオブジェクト・ポインタを選択された位置に格納することと、
を含む、コンピュータ・システム。 - 前記処理の制御を取得することは、プロセッサ・ハードウェアにより発行された割り込みを介し、前記発行された割り込みは、前記ロード命令の実行と、ロードされる前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、ガベージ・コレクションが行われる前記メモリの選択された部分内の前記位置を示すと判断することとに基づく、請求項11に記載のコンピュータ・システム。
- ガベージ・コレクションが行われる前記メモリの選択された部分は、ガベージ・コレクションが行われない1つ又は複数の他のオブジェクトを含むオブジェクト領域の部分であり、ガベージ・コレクション中、ガベージ・コレクションが行われない前記オブジェクト領域にアクセスする1つ又は複数のアプリケーションは、処理を続行する、請求項11に記載のコンピュータ・システム。
- 前記方法は、
前記ロード命令の実行から前記オブジェクト・ポインタの前記アドレスを判断することと、
前記オブジェクト・ポインタの前記アドレスを、前記ポインタ・ストレージ領域に関連するデータと比較して、前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置するかどうかを判断することと、
前記比較が、前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置すると判断することに基づいて、前記オブジェクト・ポインタを、前記メモリの選択された部分に関連する情報と比較して、前記オブジェクト・ポインタが前記メモリの選択された部分内の前記位置を示すと判断することと、
前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタが前記メモリの選択された部分内の前記位置を示すと判断することに基づいて、制御を前記ハンドラに提供することと、
をさらに含む、請求項11に記載のコンピュータ・システム。 - 前記選択された位置は、前記ポインタ・ストレージ領域内の位置又は前記ロード命令により指定された位置である、請求項11に記載のコンピュータ・システム。
- コンピューティング環境内のガベージ・コレクションを容易にするためのコンピュータ実施方法であって、前記コンピュータ実施方法は、
前記コンピューティング環境のプロセッサ内で実行されるハンドラにより、処理の制御を取得することであって、前記処理の制御を取得することは、ロード命令の実行と、ロードされるオブジェクト・ポインタのアドレスがポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、ガベージ・コレクションが行われるメモリの選択された部分内の位置を示すと判断することとに基づく、取得することと、
前記ハンドラにより処理の制御を取得することに基づいて、前記ハンドラにより、前記ポインタ・ストレージ領域から前記オブジェクト・ポインタを取得することであって、前記オブジェクト・ポインタは、前記オブジェクト・ポインタにより指し示されるオブジェクトの位置を示す、取得することと、
前記ハンドラにより、前記オブジェクト・ポインタが修正されるべきかどうかを判断することと、
前記オブジェクト・ポインタが修正されるべきとの判断に基づいて、前記ハンドラにより、前記オブジェクト・ポインタを修正して、修正されたオブジェクト・ポインタを提供することと、
前記オブジェクト・ポインタを修正することに基づいて、前記修正されたオブジェクト・ポインタを選択された位置に格納することと、
を含む、コンピュータ実施方法。 - 前記処理の制御を取得することは、プロセッサ・ハードウェアにより発行された割り込みを介し、前記発行された割り込みは、前記ロード命令の実行と、ロードされる前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、ガベージ・コレクションが行われる前記メモリの選択された部分内の前記位置を示すと判断することとに基づく、請求項16に記載のコンピュータ実施方法。
- ガベージ・コレクションが行われる前記メモリの選択された部分は、ガベージ・コレクションが行われない1つ又は複数の他のオブジェクトを含むオブジェクト領域の部分であり、ガベージ・コレクション中、ガベージ・コレクションが行われない前記オブジェクト領域にアクセスする1つ又は複数のアプリケーションは、処理を続行する、請求項16に記載のコンピュータ実施方法。
- 前記ロード命令の実行から前記オブジェクト・ポインタの前記アドレスを判断することと、
前記オブジェクト・ポインタの前記アドレスを、前記ポインタ・ストレージ領域に関連するデータと比較して、前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置するかどうかを判断することと、
前記比較が、前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置すると判断することに基づいて、前記オブジェクト・ポインタを、前記メモリの選択された部分に関連する情報と比較して、前記オブジェクト・ポインタが前記メモリの選択された部分内の前記位置を示すと判断することと、
前記オブジェクト・ポインタの前記アドレスが前記ポインタ・ストレージ領域内に位置し、前記オブジェクト・ポインタは、前記メモリの選択された部分内の前記位置を示すと判断することに基づいて、制御を前記ハンドラに提供することと、
をさらに含む、請求項16に記載のコンピュータ実施方法。 - コンピューティング環境内のガベージ・コレクションを容易にするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
方法を実施するために処理回路により実行される命令を含み、前記方法は、
前記コンピューティング環境のプロセッサ内で実行されるハンドラにより、処理の制御を取得することであって、前記処理の制御を取得することは、アクセスされるオブジェクト・ポインタが指定されたメモリ領域内の位置を示すとの判断に基づく、取得することと、
前記ハンドラにより処理の制御を取得することに基づいて、前記ハンドラにより、アクションを取ることであって、前記アクションを取ることは、警告を与える、前記指定されたメモリ領域へのアクセスを防止する、又は前記オブジェクト・ポインタを修正し、前記修正されたオブジェクト・ポインタを格納することのうちの少なくとも1つを含む、アクションを取ることと、
を含む、コンピュータ・プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/755,748 US10176093B2 (en) | 2015-06-30 | 2015-06-30 | Pauseless location and object handle based garbage collection |
US14/755,748 | 2015-06-30 | ||
US14/941,558 | 2015-11-14 | ||
US14/941,558 US10180902B2 (en) | 2015-06-30 | 2015-11-14 | Pauseless location and object handle based garbage collection |
PCT/IB2016/053675 WO2017001967A1 (en) | 2015-06-30 | 2016-06-21 | Garbage collection absent use of special instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018524696A true JP2018524696A (ja) | 2018-08-30 |
JP6697486B2 JP6697486B2 (ja) | 2020-05-20 |
Family
ID=57607955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017564432A Active JP6697486B2 (ja) | 2015-06-30 | 2016-06-21 | 特殊命令を使用しないガベージ・コレクション |
Country Status (6)
Country | Link |
---|---|
US (1) | US10180902B2 (ja) |
JP (1) | JP6697486B2 (ja) |
CN (1) | CN107636624B (ja) |
DE (1) | DE112016001686B4 (ja) |
GB (1) | GB2556547B (ja) |
WO (1) | WO2017001967A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783073B2 (en) * | 2018-02-23 | 2020-09-22 | International Business Machines Corporation | Chronologically ordered out-of-place update key-value storage system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0442338A (ja) * | 1990-06-07 | 1992-02-12 | Fuji Xerox Co Ltd | ガーベッジコレクションシステムにおけるアクセス可能なオブジェクトの判別方法 |
JPH06230963A (ja) * | 1993-01-29 | 1994-08-19 | Oki Electric Ind Co Ltd | メモリアクセス制御装置 |
JPH09106377A (ja) * | 1995-10-11 | 1997-04-22 | Casio Comput Co Ltd | メモリ管理装置 |
JP2007026368A (ja) * | 2005-07-21 | 2007-02-01 | Canon Inc | システムlsi用マルチタスクos |
JP2014044472A (ja) * | 2012-08-24 | 2014-03-13 | Fujitsu Ltd | ガーベジコレクションのための情報処理方法、プログラム及び装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5088036A (en) | 1989-01-17 | 1992-02-11 | Digital Equipment Corporation | Real time, concurrent garbage collection system and method |
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 |
US5920876A (en) | 1997-04-23 | 1999-07-06 | Sun Microsystems, Inc. | Performing exact garbage collection using bitmaps that identify pointer values within objects |
US6098089A (en) | 1997-04-23 | 2000-08-01 | Sun Microsystems, Inc. | Generation isolation system and method for garbage collection |
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 |
WO1999045481A1 (en) | 1998-03-03 | 1999-09-10 | Geodesic Systems, Inc. | Transparent garbage collection of resources |
US6308185B1 (en) * | 1998-03-06 | 2001-10-23 | Sun Microsystems, Inc. | Methods and apparatus for generational dynamic management of computer memory |
US6874074B1 (en) | 2000-11-13 | 2005-03-29 | Wind River Systems, Inc. | System and method for memory reclamation |
DE10329680A1 (de) * | 2003-07-01 | 2005-02-10 | Universität Stuttgart | Prozessorarchitektur für exakte Zeigeridentifizierung |
US8108628B2 (en) * | 2003-08-04 | 2012-01-31 | Azul Systems, Inc. | Processor instruction used to perform a matrix test to generate a memory-related trap |
US7469324B2 (en) | 2005-01-07 | 2008-12-23 | Azul Systems, Inc. | System and method for concurrent compacting self pacing garbage collection using loaded value and access barriers |
US8131955B2 (en) | 2004-04-15 | 2012-03-06 | Microsoft Corporation | Ephemeral garbage collection using a tracking mechanism on a card table to determine marked bundles |
US7287049B1 (en) | 2004-06-29 | 2007-10-23 | Sun Microsystems, Inc. | Tracking minimum mutator utilization (MMU) constraints in a garbage-collection system |
US7313566B1 (en) | 2004-12-23 | 2007-12-25 | Sun Microsystems, Inc. | Method and apparatus for isolating selected heap objects using a faulting address trap |
US8452938B1 (en) * | 2004-12-30 | 2013-05-28 | Azul Systems, Inc. | Garbage collection with memory quick release |
US7647458B1 (en) * | 2004-12-30 | 2010-01-12 | Azul Systems, Inc. | Garbage collection |
US20060248130A1 (en) * | 2005-04-22 | 2006-11-02 | Steffen Grarup | Process and system for real-time relocation of objects during garbage collection |
US7512745B2 (en) | 2006-04-28 | 2009-03-31 | International Business Machines Corporation | Method for garbage collection in heterogeneous multiprocessor systems |
US7900011B2 (en) | 2007-07-19 | 2011-03-01 | International Business Machines Corporation | Apparatus, system, and method for improving system performance in a large memory heap environment |
US20090063595A1 (en) | 2007-09-05 | 2009-03-05 | Mark Graham Stoodley | Method and apparatus for updating references to objects in a garbage collection operation |
US8612493B2 (en) * | 2008-10-30 | 2013-12-17 | International Business Machines Corporation | Allocation cache premarking for snap-shot-at-the-beginning concurrent mark-and-sweep collector |
US8402218B2 (en) | 2009-12-15 | 2013-03-19 | Microsoft Corporation | Efficient garbage collection and exception handling in a hardware accelerated transactional memory system |
US8327109B2 (en) | 2010-03-02 | 2012-12-04 | Advanced Micro Devices, Inc. | GPU support for garbage collection |
US8601036B2 (en) | 2011-03-23 | 2013-12-03 | International Business Machines Corporation | Handling persistent/long-lived objects to reduce garbage collection pause times |
-
2015
- 2015-11-14 US US14/941,558 patent/US10180902B2/en active Active
-
2016
- 2016-06-21 WO PCT/IB2016/053675 patent/WO2017001967A1/en active Application Filing
- 2016-06-21 JP JP2017564432A patent/JP6697486B2/ja active Active
- 2016-06-21 GB GB1801041.3A patent/GB2556547B/en active Active
- 2016-06-21 CN CN201680031331.9A patent/CN107636624B/zh active Active
- 2016-06-21 DE DE112016001686.7T patent/DE112016001686B4/de active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0442338A (ja) * | 1990-06-07 | 1992-02-12 | Fuji Xerox Co Ltd | ガーベッジコレクションシステムにおけるアクセス可能なオブジェクトの判別方法 |
JPH06230963A (ja) * | 1993-01-29 | 1994-08-19 | Oki Electric Ind Co Ltd | メモリアクセス制御装置 |
JPH09106377A (ja) * | 1995-10-11 | 1997-04-22 | Casio Comput Co Ltd | メモリ管理装置 |
JP2007026368A (ja) * | 2005-07-21 | 2007-02-01 | Canon Inc | システムlsi用マルチタスクos |
JP2014044472A (ja) * | 2012-08-24 | 2014-03-13 | Fujitsu Ltd | ガーベジコレクションのための情報処理方法、プログラム及び装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2556547A (en) | 2018-05-30 |
GB2556547B (en) | 2021-07-14 |
JP6697486B2 (ja) | 2020-05-20 |
CN107636624A (zh) | 2018-01-26 |
DE112016001686B4 (de) | 2023-10-12 |
DE112016001686T5 (de) | 2017-12-28 |
GB201801041D0 (en) | 2018-03-07 |
WO2017001967A1 (en) | 2017-01-05 |
US10180902B2 (en) | 2019-01-15 |
US20170004076A1 (en) | 2017-01-05 |
CN107636624B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467135B2 (en) | Multi-section garbage collection | |
US10635603B2 (en) | Multi-engine address translation facility | |
US10515020B2 (en) | Marking storage keys to indicate memory used to back address translation structures | |
US10168902B2 (en) | Reducing purging of structures associated with address translation | |
US9720824B2 (en) | Garbage collection handler to update object pointers | |
US10176093B2 (en) | Pauseless location and object handle based garbage collection | |
US10248573B2 (en) | Managing memory used to back address translation structures | |
US10162764B2 (en) | Marking page table/page status table entries to indicate memory used to back address translation structures | |
JP7413371B2 (ja) | 部分的に完了された命令の移行 | |
US11036519B2 (en) | Simultaneously capturing status information for multiple operating modes | |
US10956302B2 (en) | Code coverage collection based on limited select debug information | |
JP6697486B2 (ja) | 特殊命令を使用しないガベージ・コレクション | |
US11029950B2 (en) | Reducing latency of common source data movement instructions | |
JP2022518672A (ja) | オーバーフロー例外の命令割込み抑制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180105 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191001 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191212 |
|
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: 20200421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200424 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6697486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |