JP2021502637A - コンピューティング環境内の処理を促進するためのコンピュータ・プログラム、コンピュータ・システムおよび方法 - Google Patents
コンピューティング環境内の処理を促進するためのコンピュータ・プログラム、コンピュータ・システムおよび方法 Download PDFInfo
- Publication number
- JP2021502637A JP2021502637A JP2020524789A JP2020524789A JP2021502637A JP 2021502637 A JP2021502637 A JP 2021502637A JP 2020524789 A JP2020524789 A JP 2020524789A JP 2020524789 A JP2020524789 A JP 2020524789A JP 2021502637 A JP2021502637 A JP 2021502637A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- locality
- computing environment
- processing
- domain
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 173
- 238000000034 method Methods 0.000 title claims description 107
- 238000004590 computer program Methods 0.000 title claims description 18
- 230000015654 memory Effects 0.000 claims abstract description 412
- 230000006870 function Effects 0.000 claims abstract description 39
- 238000013519 translation Methods 0.000 claims description 70
- 239000000872 buffer Substances 0.000 claims description 23
- 238000010586 diagram Methods 0.000 abstract description 29
- 230000008569 process Effects 0.000 description 69
- 230000014616 translation Effects 0.000 description 67
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 238000007906 compression Methods 0.000 description 6
- 230000006658 host protein synthesis Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000003471 mutagenic agent Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011867 re-evaluation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/1016—Performance improvement
-
- 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/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
- G06F2212/2542—Non-uniform memory access [NUMA] architecture
-
- 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- 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/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- 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/65—Details of virtual memory and virtual address translation
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/654—Look-ahead translation
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/68—Details of translation look-aside buffer [TLB]
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/681—Multi-level TLB, e.g. microTLB and main TLB
-
- 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/70—Details relating to dynamic memory management
- G06F2212/702—Conservative garbage collection
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 Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
Description
オン・デマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク記憶装置などのコンピュータ機能を一方的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:機能はネットワーク上で利用可能であり、異質なシンまたはシックなクライアントのプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
リソース・プール:プロバイダのコンピューティング・リソースは、マルチテナントのモデルを使用する複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが要求にしたがって動的に割り当ておよび再割り当てされる。消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の意味があるが、より高次の抽象化(例えば、国、州、またはデータセンタ)において場所を特定できることもある。
迅速な拡張性:機能は迅速かつ拡張可能にプロビジョニングすることができ、いくつかの場合において、自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングのために利用可能な機能は、しばしば無制限なようで、いつでもいくらでも購入することができる。
サービスが計測される:クラウド・システムは、サービスのタイプ(例えば、記憶装置、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な抽象化のいくつかのレベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、かつ最適化する。リソースの使用は監視され、制御され、かつ報告され得、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
ソフトウェアを提供するサービス(Software as a Service(SaaS)):消費者に提供される機能は、クラウド・インフラストラクチャで実行するプロバイダのアプリケーションを使用する。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、記憶装置、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、あり得る例外として限定されたユーザ固有アプリケーションの構成設定が可能である。
プラットフォームを提供するサービス(Platform as a Service (PaaS)):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用した消費者作成の、または取得されたアプリケーション作成のクラウド・インフラストラクチャに展開する。消費者は、ネットワーク、サーバ、オペレーティング・システム、または記憶装置を含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
インフラストラクチャを提供するサービス(Infrastructure as a Service(IaaS)):消費者に提供される機能は、消費者がオペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することができる処理、記憶装置、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングする。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、記憶装置、展開されたアプリケーション、および場合によっては選択ネットワーク・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御についての制御を有する。
プライベート・クラウド:クラウド・インフラストラクチャはある組織のためだけに運用される。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス懸案事項)を有する特定のコミュニティをサポートする。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組合せたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、またはプロプライエタリな技術(例えば、クラウド間でロードバランシングを行うためのクラウド・バースト)によって結合される。
Claims (20)
- コンピューティング環境内の処理を促進するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は
処理回路によって可読であり、
前記コンピューティング環境内の処理機能に対するメモリのユニットのローカリティ・ドメイン情報を突きとめることと、
前記メモリのユニットの前記ローカリティ・ドメイン情報をデータ構造にキャッシュして、前記コンピューティング環境の前記処理機能に対する前記メモリのユニットの1つまたは複数の親和性評価に関連付けられる前記ローカリティ・ドメイン情報の1つまたは複数の後続のルックアップを促進することと
を含む方法を実施するための命令を記憶する、
コンピュータ可読記憶媒体
を備える、コンピュータ・プログラム製品。 - 前記メモリのユニットは、仮想メモリ・ユニットであり、前記突きとめることは、前記仮想メモリ・ユニットを実メモリ・ユニットに変換することと、前記実メモリ・ユニットを使用して前記ローカリティ・ドメイン情報を、前記コンピューティング環境の物理的なコンポーネントに関するシステム位置情報を含む設定配列からフェッチすることとを含む、請求項1に記載のコンピュータ・プログラム製品。
- 前記キャッシュすることは、前記メモリのユニットの前記ローカリティ・ドメイン情報を、前記コンピューティング環境のオペレーティング・システムまたはアプリケーションに関連付けられる設定配列キャッシュに、キャッシュすることを含む、請求項1に記載のコンピュータ・プログラム製品。
- 前記キャッシュすることは、前記メモリのユニットの前記ローカリティ・ドメイン情報を、前記コンピューティング環境のトランスレーション・ルックアサイド・バッファにキャッシュすることを含む、請求項1に記載のコンピュータ・プログラム製品。
- 前記コンピューティング環境はnon−uniform memory access(NUMA)コンピューティング環境であり、前記処理機能に対する前記メモリのユニットの前記ローカリティ・ドメイン情報は、前記メモリのユニットがローカリティベースの親和性を有する前記NUMAコンピューティング環境の特定の処理ドメインを特定する情報を含む、請求項1に記載のコンピュータ・プログラム製品。
- 前記メモリのユニットが、前記コンピューティング環境の複数の処理ドメインの処理ドメインに対するローカリティ親和性を有するかどうかを判断することをさらに含み、前記判断することは、前記コンピューティング環境内の前記処理ドメインのローカリティとの比較のために前記メモリのユニットの前記ローカリティ・ドメイン情報を前記データ構造から検索することを含む、請求項1に記載のコンピュータ・プログラム製品。
- 前記データ構造は前記コンピューティング環境のオペレーティング・システムまたはアプリケーションに関連付けられる設定配列キャッシュのうちの1つ、または前記コンピューティング環境のトランスレーション・ルックアサイド・バッファである、請求項6に記載のコンピュータ・プログラム製品。
- 前記メモリのユニットの前記ローカリティ・ドメイン情報が前記処理ドメインの前記ローカリティに一致する場合、ローカル親和性を指定する指標を設定することをさらに含む、請求項6に記載のコンピュータ・プログラム製品。
- 前記メモリのユニットが前記処理ドメインへのローカリティ親和性を有することに基づいて、前記処理ドメインによって前記メモリのユニットにガーベッジ・コレクション処理を実施することをさらに含む、請求項6に記載のコンピュータ・プログラム製品。
- コンピューティング環境内の処理を促進するためのコンピュータ・システムであって、前記コンピュータ・システムは
メモリと、
メモリと通信しているプロセッサと
を備え、前記コンピュータ・システムは
前記コンピューティング環境内の処理機能に対するメモリのユニットのローカリティ・ドメイン情報を突きとめることと、
前記メモリのユニットの前記ローカリティ・ドメイン情報をデータ構造にキャッシュして、前記コンピューティング環境の前記処理機能に対する前記メモリのユニットの1つまたは複数の親和性評価に関連付けられる前記ローカリティ・ドメイン情報の1つまたは複数の後続のルックアップを促進することと
を含む方法を実施するように構成される、コンピュータ・システム。 - 前記メモリのユニットは、仮想メモリ・ユニットであり、前記突きとめることは、前記仮想メモリ・ユニットを実メモリ・ユニットに変換することと、前記実メモリ・ユニットを使用して前記ローカリティ・ドメイン情報を、前記コンピューティング環境の物理的なコンポーネントに関するシステム位置情報を含む設定配列からフェッチすることとを含む、請求項10に記載のコンピュータ・システム。
- 前記キャッシュすることは、前記メモリのユニットの前記ローカリティ・ドメイン情報を、前記コンピューティング環境のオペレーティング・システムまたはアプリケーションに関連付けられる設定配列キャッシュに、キャッシュすることを含む、請求項10に記載のコンピュータ・システム。
- 前記キャッシュすることは、前記メモリのユニットの前記ローカリティ・ドメイン情報を、前記コンピューティング環境のトランスレーション・ルックアサイド・バッファにキャッシュすることを含む、請求項10に記載のコンピュータ・システム。
- 前記コンピューティング環境はnon−uniform memory access(NUMA)コンピューティング環境であり、前記処理機能に対する前記メモリのユニットの前記ローカリティ・ドメイン情報は、前記メモリのユニットがローカリティベースの親和性を有する前記NUMAコンピューティング環境の特定の処理ドメインを特定する情報を含む、請求項10に記載のコンピュータ・システム。
- 前記メモリのユニットが、前記コンピューティング環境の複数の処理ドメインの処理ドメインに対するローカリティ親和性を有するかどうかを判断することをさらに含み、前記判断することは、前記コンピューティング環境内の前記処理ドメインのローカリティとの比較のために前記メモリのユニットの前記ローカリティ・ドメイン情報を前記データ構造から検索することを含む、請求項10に記載のコンピュータ・システム。
- 前記メモリのユニットが前記処理ドメインへのローカリティ親和性を有することに基づいて、前記処理ドメインによって前記メモリのユニットにガーベッジ・コレクション処理を実施することをさらに含む、請求項15に記載のコンピュータ・システム。
- コンピューティング環境内で処理を促進するためのコンピュータ実装方法であって、前記コンピュータ実装方法は、
前記コンピューティング環境内の処理機能に対するメモリのユニットのローカリティ・ドメイン情報を突きとめることと、
前記メモリのユニットの前記ローカリティ・ドメイン情報をデータ構造にキャッシュして、前記コンピューティング環境の前記処理機能に対する前記メモリのユニットの1つまたは複数の親和性評価に関連付けられる前記ローカリティ・ドメイン情報の1つまたは複数の後続のルックアップを促進することと
を含む、コンピュータ実装方法。 - 前記コンピューティング環境はnon−uniform memory access(NUMA)コンピューティング環境であり、前記処理機能に対する前記メモリのユニットの前記ローカリティ・ドメイン情報は、前記メモリのユニットがローカリティベースの親和性を有する前記NUMAコンピューティング環境の特定の処理ドメインを特定する情報を含む、請求項17に記載のコンピュータ実装方法。
- 前記メモリのユニットが、前記コンピューティング環境の複数の処理ドメインの処理ドメインに対するローカリティ親和性を有するかどうかを判断することをさらに含み、前記判断することは、前記コンピューティング環境内の前記処理ドメインのローカリティとの比較のために前記メモリのユニットの前記ローカリティ・ドメイン情報を前記データ構造から検索することを含む、請求項17に記載のコンピュータ実装方法。
- 前記メモリのユニットが前記処理ドメインへのローカリティ親和性を有することに基づいて、前記処理ドメインによって前記メモリのユニットにガーベッジ・コレクション処理を実施することをさらに含む、請求項19に記載のコンピュータ実装方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/807,949 | 2017-11-09 | ||
US15/807,949 US10445249B2 (en) | 2017-11-09 | 2017-11-09 | Facilitating access to memory locality domain information |
PCT/IB2018/058444 WO2019092548A1 (en) | 2017-11-09 | 2018-10-29 | Facilitating access to memory locality domain information |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021502637A true JP2021502637A (ja) | 2021-01-28 |
JP7486419B2 JP7486419B2 (ja) | 2024-05-17 |
Family
ID=66328520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020524789A Active JP7486419B2 (ja) | 2017-11-09 | 2018-10-29 | コンピュータ・プログラムおよびコンピュータ・システム |
Country Status (6)
Country | Link |
---|---|
US (2) | US10445249B2 (ja) |
JP (1) | JP7486419B2 (ja) |
CN (1) | CN111316248B (ja) |
DE (1) | DE112018005404T5 (ja) |
GB (1) | GB2581924B (ja) |
WO (1) | WO2019092548A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552309B2 (en) | 2017-11-09 | 2020-02-04 | International Business Machines Corporation | Locality domain-based memory pools for virtualized computing environment |
US10445249B2 (en) | 2017-11-09 | 2019-10-15 | International Business Machines Corporation | Facilitating access to memory locality domain information |
US10997083B2 (en) * | 2018-09-04 | 2021-05-04 | Arm Limited | Parallel page table entry access when performing address translations |
US11544113B2 (en) * | 2019-11-20 | 2023-01-03 | Google Llc | Task scheduling for machine-learning workloads |
US11467937B2 (en) * | 2020-06-26 | 2022-10-11 | Advanced Micro Devices, Inc. | Configuring cache policies for a cache based on combined cache policy testing |
US11687449B2 (en) * | 2020-09-10 | 2023-06-27 | International Business Machines Corporation | Concurrent marking garbage collection |
KR20220049215A (ko) * | 2020-10-14 | 2022-04-21 | 삼성전자주식회사 | 메모리 장치, 호스트 장치 및 이들을 포함하는 메모리 시스템 |
US11995342B2 (en) * | 2021-12-22 | 2024-05-28 | Micron Technology, Inc. | Host initiated garbage collection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233458A (ja) * | 1991-09-30 | 1993-09-10 | Apple Computer Inc | コンピュータシステムのメモリ管理装置 |
US20130159638A1 (en) * | 2011-12-20 | 2013-06-20 | Fujitsu Limited | Information processing apparatus and memory access method |
US20150370732A1 (en) * | 2014-06-18 | 2015-12-24 | Fujitsu Limited | Information processing apparatus, input and output control device, and method of controlling information processing apparatus |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363410B1 (en) | 1994-12-13 | 2002-03-26 | Microsoft Corporation | Method and system for threaded resource allocation and reclamation |
US5784697A (en) | 1996-03-27 | 1998-07-21 | International Business Machines Corporation | Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture |
US6289424B1 (en) | 1997-09-19 | 2001-09-11 | Silicon Graphics, Inc. | Method, system and computer program product for managing memory in a non-uniform memory access system |
US6546546B1 (en) | 1999-05-19 | 2003-04-08 | International Business Machines Corporation | Integrating operating systems and run-time systems |
US6865585B1 (en) | 2000-07-31 | 2005-03-08 | Microsoft Corporation | Method and system for multiprocessor garbage collection |
US6615322B2 (en) | 2001-06-21 | 2003-09-02 | International Business Machines Corporation | Two-stage request protocol for accessing remote memory data in a NUMA data processing system |
US7389506B1 (en) | 2002-07-30 | 2008-06-17 | Unisys Corporation | Selecting processor configuration based on thread usage in a multiprocessor system |
US7185167B2 (en) | 2003-06-06 | 2007-02-27 | Microsoft Corporation | Heap allocation |
US7380039B2 (en) | 2003-12-30 | 2008-05-27 | 3Tera, Inc. | Apparatus, method and system for aggregrating computing resources |
US7149866B2 (en) | 2004-06-04 | 2006-12-12 | International Business Machines Corporation | Free item distribution among multiple free lists during garbage collection for more efficient object allocation |
US7290112B2 (en) * | 2004-09-30 | 2007-10-30 | International Business Machines Corporation | System and method for virtualization of processor resources |
US7383396B2 (en) | 2005-05-12 | 2008-06-03 | International Business Machines Corporation | Method and apparatus for monitoring processes in a non-uniform memory access (NUMA) computer system |
US7962707B2 (en) | 2005-07-06 | 2011-06-14 | Honeywell International Inc. | Apparatus and method for deterministic garbage collection of a heap memory |
US7577813B2 (en) | 2005-10-11 | 2009-08-18 | Dell Products L.P. | System and method for enumerating multi-level processor-memory affinities for non-uniform memory access systems |
US7512745B2 (en) | 2006-04-28 | 2009-03-31 | International Business Machines Corporation | Method for garbage collection in heterogeneous multiprocessor systems |
JP5233458B2 (ja) | 2008-07-15 | 2013-07-10 | 株式会社ニコン | 画像編集装置及び画像編集プログラム |
US8245008B2 (en) | 2009-02-18 | 2012-08-14 | Advanced Micro Devices, Inc. | System and method for NUMA-aware heap memory management |
US8312219B2 (en) | 2009-03-02 | 2012-11-13 | International Business Machines Corporation | Hybrid caching techniques and garbage collection using hybrid caching techniques |
CN102460400B (zh) | 2009-06-29 | 2014-09-24 | 惠普开发有限公司 | 基于管理程序的本地和远程虚拟内存页面管理 |
US8200718B2 (en) | 2009-07-02 | 2012-06-12 | Roberts Michael L | Parallelized, incremental garbage collector |
US8943108B2 (en) | 2009-12-23 | 2015-01-27 | International Business Machines Corporation | Hardware off-load memory garbage collection acceleration |
US8621150B2 (en) | 2010-04-09 | 2013-12-31 | International Business Machines Corporation | Data placement optimization using data context collected during garbage collection |
US8468289B2 (en) | 2010-10-22 | 2013-06-18 | International Business Machines Corporation | Dynamic memory affinity reallocation after partition migration |
US8797332B2 (en) | 2010-12-15 | 2014-08-05 | Ati Technologies Ulc | Device discovery and topology reporting in a combined CPU/GPU architecture system |
US11099982B2 (en) | 2011-03-31 | 2021-08-24 | Oracle International Corporation | NUMA-aware garbage collection |
CN104040500B (zh) | 2011-11-15 | 2018-03-30 | 英特尔公司 | 基于线程相似性的调度线程执行 |
US9418003B2 (en) | 2012-10-10 | 2016-08-16 | Salesforce.Com, Inc. | System, method and computer program product for conditionally performing garbage collection |
US20140115291A1 (en) * | 2012-10-19 | 2014-04-24 | Advanced Micro Devices, Inc. | Numa optimization for garbage collection of multi-threaded applications |
US10061622B2 (en) | 2013-02-26 | 2018-08-28 | Red Hat Israel, Ltd. | Updating memory topology information for virtual machines |
US10114662B2 (en) | 2013-02-26 | 2018-10-30 | Red Hat Israel, Ltd. | Updating processor topology information for virtual machines |
US9342342B2 (en) | 2013-03-15 | 2016-05-17 | International Business Machines Corporation | Refreshing memory topology in virtual machine operating systems |
US10007525B2 (en) | 2014-10-24 | 2018-06-26 | International Business Machines Corporation | Freelist based global completion table having both thread-specific and global completion table identifiers |
US10142231B2 (en) | 2016-03-31 | 2018-11-27 | Intel Corporation | Technologies for network I/O access |
CN106293881B (zh) | 2016-08-11 | 2020-02-07 | 上海交通大学 | 一种基于非一致性i/o访问构架的性能监控器及其监控方法 |
US10223282B2 (en) | 2017-05-23 | 2019-03-05 | International Business Machines Corporation | Memory affinity management |
US10445249B2 (en) | 2017-11-09 | 2019-10-15 | International Business Machines Corporation | Facilitating access to memory locality domain information |
US10552309B2 (en) | 2017-11-09 | 2020-02-04 | International Business Machines Corporation | Locality domain-based memory pools for virtualized computing environment |
US10691590B2 (en) | 2017-11-09 | 2020-06-23 | International Business Machines Corporation | Affinity domain-based garbage collection |
-
2017
- 2017-11-09 US US15/807,949 patent/US10445249B2/en active Active
-
2018
- 2018-10-29 DE DE112018005404.7T patent/DE112018005404T5/de active Pending
- 2018-10-29 GB GB2007647.7A patent/GB2581924B/en active Active
- 2018-10-29 CN CN201880071960.3A patent/CN111316248B/zh active Active
- 2018-10-29 WO PCT/IB2018/058444 patent/WO2019092548A1/en active Application Filing
- 2018-10-29 JP JP2020524789A patent/JP7486419B2/ja active Active
-
2019
- 2019-05-31 US US16/427,595 patent/US11119942B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233458A (ja) * | 1991-09-30 | 1993-09-10 | Apple Computer Inc | コンピュータシステムのメモリ管理装置 |
US5581722A (en) * | 1991-09-30 | 1996-12-03 | Apple Computer, Inc. | Memory management unit for managing address operations corresponding to domains using environmental control |
US20130159638A1 (en) * | 2011-12-20 | 2013-06-20 | Fujitsu Limited | Information processing apparatus and memory access method |
JP2013130976A (ja) * | 2011-12-20 | 2013-07-04 | Fujitsu Ltd | 情報処理装置およびメモリアクセス方法 |
US20150370732A1 (en) * | 2014-06-18 | 2015-12-24 | Fujitsu Limited | Information processing apparatus, input and output control device, and method of controlling information processing apparatus |
JP2016004461A (ja) * | 2014-06-18 | 2016-01-12 | 富士通株式会社 | 情報処理装置、入出力制御装置および情報処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US11119942B2 (en) | 2021-09-14 |
CN111316248B (zh) | 2024-04-26 |
US20190138219A1 (en) | 2019-05-09 |
CN111316248A (zh) | 2020-06-19 |
US20190286572A1 (en) | 2019-09-19 |
WO2019092548A1 (en) | 2019-05-16 |
GB2581924A (en) | 2020-09-02 |
JP7486419B2 (ja) | 2024-05-17 |
US10445249B2 (en) | 2019-10-15 |
GB202007647D0 (en) | 2020-07-08 |
DE112018005404T5 (de) | 2020-06-25 |
GB2581924B (en) | 2022-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7486419B2 (ja) | コンピュータ・プログラムおよびコンピュータ・システム | |
US10241924B2 (en) | Reducing over-purging of structures associated with address translation using an array of tags | |
US11016907B2 (en) | Increasing the scope of local purges of structures associated with address translation | |
US10445248B2 (en) | Host page management using active guest page table indicators | |
US10180910B2 (en) | Host-based resetting of active use of guest page table indicators | |
US11132290B2 (en) | Locality domain-based memory pools for virtualized computing environment | |
US10515020B2 (en) | Marking storage keys to indicate memory used to back address translation structures | |
US10802986B2 (en) | Marking to indicate memory used to back address translation structures | |
US10169243B2 (en) | Reducing over-purging of structures associated with address translation | |
US10162764B2 (en) | Marking page table/page status table entries to indicate memory used to back address translation structures | |
US20180018283A1 (en) | Selective purging of guest entries of structures associated with address translation | |
US20180018277A1 (en) | Managing memory used to back address translation structures | |
US20190196835A1 (en) | Selective suppression of instruction cache-related directory access | |
US11194580B2 (en) | Selective suppression of instruction translation lookaside buffer (ITLB) access | |
US10691590B2 (en) | Affinity domain-based garbage collection | |
TWI665605B (zh) | 用於暫時抑制受約束儲存器運算元請求之處理之電腦程式產品、電腦實施方法及電腦系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200612 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20200930 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220412 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220502 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220829 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230421 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20230421 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20230509 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20230804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240311 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20240423 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7486419 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |