JP2014517434A5 - - Google Patents

Download PDF

Info

Publication number
JP2014517434A5
JP2014517434A5 JP2014517072A JP2014517072A JP2014517434A5 JP 2014517434 A5 JP2014517434 A5 JP 2014517434A5 JP 2014517072 A JP2014517072 A JP 2014517072A JP 2014517072 A JP2014517072 A JP 2014517072A JP 2014517434 A5 JP2014517434 A5 JP 2014517434A5
Authority
JP
Japan
Prior art keywords
memory
application
allocation
host
request
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
Application number
JP2014517072A
Other languages
English (en)
Other versions
JP2014517434A (ja
JP6370218B2 (ja
Filing date
Publication date
Priority claimed from US13/163,741 external-priority patent/US9558040B2/en
Application filed filed Critical
Publication of JP2014517434A publication Critical patent/JP2014517434A/ja
Publication of JP2014517434A5 publication Critical patent/JP2014517434A5/ja
Application granted granted Critical
Publication of JP6370218B2 publication Critical patent/JP6370218B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

一実施形態において、メモリ管理システムはメモリの割当各々に関する電力状態(の情報)を受信する。例えば、電力レベルXの場合、システムは、メモリ割当はもはや必要ないと判断してもよい。これは、その電力レベルにおいて必要とされていない何らかのメモリをオフロード又は解放することで、バッテリに制約のある装置が低電力モードに切り替わるようにすることが可能である。例えば、移動電話機は、着信呼に応答する又は新規電子メールをユーザに通知する程度に十分なアプリケーションデータをメモリに維持するが、他の低優先度の機能又はアプリケーションを解放してもよい。一実施形態において、アプリケーションは、低電力状態ならばメモリを利用する前にポインタの有効性を確認する必要があるにすぎないが、より高い電力状態ならばメモリに対して通常のアクセスを行うかもしれない。これは、所与の何らかのプラットフォームに関し、アプリケーションとホストとの間の取り決めによる保証として実行されることが可能である。

Claims (17)

  1. アプリケーションからメモリ優先度情報を受信するアプリケーションホストにおいてメモリ管理を行うためにコンピュータ少なくとも1つのプロセッサにより実行する方法であって、
    複数のメモリ割当リクエストを示す情報であって1つ以上のアプリケーションによりメモリの割当がどのように利されるかを示す情報を、アプリケーションホストにおいて受信するステップと、
    前記アプリケーションホストにおいてアプリケーションを効率的に実行させ続けるための処理の必要性を示す少なくとも1つのメモリ状態を検出するステップと、
    処理する対象の割当を決定するために、受信した割当リクエストを列挙するステップと、
    する対象への1つ以上の列挙された割当を選択するステップと、
    検出した前記メモリ状態を改善するために、選択された前記割当による処理を実行するステップと
    を有する方法。
  2. 前記複数のメモリ割当リクエストを示す情報を受信するステップ、前記アプリケーションホストによりアプリケーションから受信された保存されている割当のリスト又は他のデータ構造にアクセスすることを含む、請求項1に記載の方法。
  3. 前記複数のメモリ割当リクエストを示す情報を受信するステップ、何れの割当を解放できるか、何れの割当にページングできるか、或いは利用可能なメモリを効率的に管理するために何れの割当が処理されるかを決定する前記アプリケーションホストを支援する優先度情報又は他の情報にアクセスすることを含む、請求項1に記載の方法。
  4. 前記メモリ状態を確認するステップ、あるアプリケーションは実行に必要なメモリが不足しつつあること、及びアプリケーションに付与するためにメモリを動作している他のアプリケーションから取得することを確認することを含む、請求項1に記載の方法。
  5. 前記メモリ状態を確認するステップ、対象のアプリケーションのメモリリクエストが充足されないことを確認し、前記アプリケーションホストが前記割当リクエストを受信する時までに前記アプリケーションのメモリリクエストを充足するように予め更なるメモリを利用可能にすることを含む、請求項1に記載の方法。
  6. 前記受信した割当リクエストを列挙するステップ、解放される必要があった場合に容易に復元できる割当を判別するために割当のリスト又は他のデータ構造を検査することを含む、請求項1に記載の方法。
  7. 前記受信した割当リクエストを列挙するステップ、アプリケーションが直ぐには使用されそうにないアプリケーションを判別するために割当のリスト又は他のデータ構造を検査することを含む、請求項1に記載の方法。
  8. 記割当を選択するステップ、割当を要求した前記アプリケーションにより該割当がどのように使用されるかを示す受信した情報に基づいて該割当を選択することを含む、請求項1に記載の方法。
  9. 記割当を選択するステップ、特定のトータルサイズのメモリについて複数の割当を選択し、該トータルサイズに至る又は超える割当を選択することを含む、請求項1に記載の方法。
  10. 前記処理を実行するステップ、以前に割り当てたメモリを解放する、或いはメモリ内容をディスク又は他のストレージと交換することを含む、請求項1に記載の方法。
  11. 前記処理を実行するステップ、前記アプリケーションが前記割当に依存する処理を修正できるように前記アプリケーションに前記処理を通知することを含む、請求項1に記載の方法。
  12. ホストにおいて動作するアプリケーションから受信した割当メタデータを利用して前記ホストの中でメモリを効率的に管理する、以下の要素に組み込まれるソフトウェア命令を実行するように形成されたプロセッサ及びメモリを有するコンピュータシステムであって、
    メモリ割当の利用の仕方を交渉するように1つ以上のアプリケーション及び前記ホストの間に通信インタフェースを提供するアプリケーションインタフェース要素と、
    アプリケーションが動作する環境を含み、当該コンピュータシステムにより行われるメモリ管理にアクセスするホスト要素と、
    メモリを割り当てるためのリクエストをアプリケーションから受信するリクエスト受信要素であって、前記リクエストの各々は、割り当てられたメモリを前記アプリケーションがどのように使用するかを示す情報を前記ホストに提供するメタデータを含む、リクエスト受信要素と、
    メモリ管理の判断を行う際に使用するために、受信したリクエスト及び関連するメタデータ情報を保存するリクエスト保存要素と、
    1つ以上の受信したアプリケーション割当リクエストを充足するように、メモリを割り当てる実際の処理を実行する割当要素と、
    装置におけるメモリを管理する処理を実行し、以前に受信して保存したリクエスト情報にアクセスし、実行される処理の影響を受ける1つ上の適切なメモリ割当を決定するメモリ処理要素と
    を有するコンピュータシステム。
  13. 前記アプリケーションインタフェース要素はアプリケーションプログラミングインタフェース(API)を含み、前記ホストが前記アプリケーションを提供、前記アプリケーションは前記割当を示す情報を該APIを通じて提供し、前記ホストが前記アプリケーションの代わりにメモリを管理できるようにする、請求項12に記載のコンピュータシステム。
  14. 前記アプリケーションインタフェース要素は、メモリの利用状況の情報を前記ホストに提供するためにアプリケーションバイナリモジュールを静的又は動的に分析する、請求項12に記載のコンピュータシステム。
  15. 前記リクエスト受信要素、前記リクエスト保存要素、前記割当要素及び前記メモリ処理要素は、アプリケーションメモリを管理するために、前記ホストにアクセス可能なメモリマネジャの構成要素を形成する、請求項12に記載のコンピュータシステム。
  16. 請求項1〜11のうち何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させるコンピュータプログラム。
  17. 請求項16に記載のコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
JP2014517072A 2011-06-20 2012-06-18 メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体 Active JP6370218B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/163,741 2011-06-20
US13/163,741 US9558040B2 (en) 2011-06-20 2011-06-20 Memory manager with enhanced application metadata
PCT/US2012/043036 WO2012177579A2 (en) 2011-06-20 2012-06-18 Memory manager with enhanced application metadata

Publications (3)

Publication Number Publication Date
JP2014517434A JP2014517434A (ja) 2014-07-17
JP2014517434A5 true JP2014517434A5 (ja) 2015-07-16
JP6370218B2 JP6370218B2 (ja) 2018-08-08

Family

ID=47354692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014517072A Active JP6370218B2 (ja) 2011-06-20 2012-06-18 メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体

Country Status (8)

Country Link
US (1) US9558040B2 (ja)
EP (1) EP2721480B1 (ja)
JP (1) JP6370218B2 (ja)
KR (1) KR101955737B1 (ja)
CN (1) CN103620548B (ja)
AR (1) AR086712A1 (ja)
TW (1) TW201301029A (ja)
WO (1) WO2012177579A2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627036B2 (en) 2011-09-12 2014-01-07 Microsoft Corporation Memory management techniques
US9208082B1 (en) * 2012-03-23 2015-12-08 David R. Cheriton Hardware-supported per-process metadata tags
US20140379481A1 (en) * 2013-06-19 2014-12-25 Adobe Systems Incorporated Method and apparatus for targeting messages in desktop and mobile applications
CN103399822B (zh) * 2013-08-14 2017-05-24 上海斐讯数据通信技术有限公司 用于解决申请图片内存不足的内存分配方法及系统
US9832268B2 (en) 2014-08-28 2017-11-28 Software AG USA Inc. System, method, and medium for managing priority in requests to in-memory data grid (IMDG)
US10282747B2 (en) * 2015-06-02 2019-05-07 Adobe Inc. Using user segments for targeted content
US9983887B2 (en) 2015-06-05 2018-05-29 Apple Inc. Memory management of data processing systems
US10013198B2 (en) 2015-08-24 2018-07-03 International Business Machines Corporation Limiting memory consumption in a distributed environment at a group level
US10469671B2 (en) 2016-12-27 2019-11-05 At&T Mobility Ii Llc Network-based per-application data usage limitations
US10318888B2 (en) 2017-03-06 2019-06-11 International Business Machines Corporation Pre-backing virtual storage using historical learned data
US10977570B2 (en) 2017-06-19 2021-04-13 Rigetti & Co, Inc. Distributed quantum computing system
US10368128B2 (en) 2017-08-11 2019-07-30 Microsoft Technology Licensing, Llc Memory allocation type for media buffer
US10877691B2 (en) * 2017-12-29 2020-12-29 Intel Corporation Stream classification based on logical regions
US20190370043A1 (en) * 2018-04-30 2019-12-05 Nutanix, Inc. Cooperative memory management
US11327551B2 (en) * 2019-02-14 2022-05-10 Micron Technology, Inc. Methods and apparatus for characterizing memory devices
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace
US11269780B2 (en) 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US11494311B2 (en) 2019-09-17 2022-11-08 Micron Technology, Inc. Page table hooks to memory types
US11650742B2 (en) 2019-09-17 2023-05-16 Micron Technology, Inc. Accessing stored metadata to identify memory devices in which data is stored

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023712A (en) * 1997-07-30 2000-02-08 Quarterdeck Corporation Method and apparatus for brokering memory resources
US6058461A (en) 1997-12-02 2000-05-02 Advanced Micro Devices, Inc. Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation
AU2001258853A1 (en) 2000-05-30 2001-12-11 Information System Development Institute Processing method using synchronization structure of information processor
US6941437B2 (en) 2001-07-19 2005-09-06 Wind River Systems, Inc. Memory allocation scheme
US7069396B2 (en) * 2002-06-27 2006-06-27 Hewlett-Packard Development Company, L.P. Deferred memory allocation for application threads
US7406699B2 (en) 2003-04-02 2008-07-29 Microsoft Corporation Enhanced runtime hosting
US7032088B2 (en) 2003-08-07 2006-04-18 Siemens Corporate Research, Inc. Advanced memory management architecture for large data volumes
US7213084B2 (en) 2003-10-10 2007-05-01 International Business Machines Corporation System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
KR100631782B1 (ko) * 2004-07-27 2006-10-11 삼성전자주식회사 객체지향 어플리케이션에서의 효율적인 메모리 관리 방법및 장치
JP2006107197A (ja) 2004-10-06 2006-04-20 Nec Corp メモリ制御方法およびプログラムならびに端末装置
KR20060033606A (ko) * 2004-10-15 2006-04-19 주식회사 팬택앤큐리텔 힙 메모리 관리장치 및 그 방법
US20060149914A1 (en) * 2004-12-30 2006-07-06 Doris Tom F Systems and methods for allocating data structures to memories
US7395385B2 (en) 2005-02-12 2008-07-01 Broadcom Corporation Memory management for a mobile multimedia processor
US20060275934A1 (en) * 2005-06-03 2006-12-07 William Pohl Management of computer processes
US7702843B1 (en) 2006-04-27 2010-04-20 Vmware, Inc. Determining memory conditions in a virtual machine
JP2007323393A (ja) 2006-06-01 2007-12-13 Fuji Xerox Co Ltd 画像処理装置及びプログラム
US7827358B2 (en) * 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
US8341611B2 (en) 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US8510743B2 (en) 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
TWI438633B (zh) * 2007-11-29 2014-05-21 Ibm 記憶體管理之垃圾收集方法、其電腦程式產品,及其裝置
US8812809B2 (en) * 2008-06-10 2014-08-19 Oracle America, Inc. Method and apparatus for allocating memory for immutable data on a computing device
KR20090131142A (ko) * 2008-06-17 2009-12-28 재단법인서울대학교산학협력재단 메모리 관리 장치 및 방법
US20100070678A1 (en) * 2008-09-12 2010-03-18 Vmware, Inc. Saving and Restoring State Information for Virtualized Computer Systems
US8291192B2 (en) 2008-10-30 2012-10-16 Kyocera Document Solutions, Inc. Memory management system
JP5235751B2 (ja) 2009-03-30 2013-07-10 株式会社日立製作所 仮想計算機を有する物理計算機

Similar Documents

Publication Publication Date Title
JP2014517434A5 (ja)
US10182018B2 (en) Resource management based on device-specific or user-specific resource usage profiles
US10740136B2 (en) Automatic virtual machine termination in a cloud
US9678797B2 (en) Dynamic resource management for multi-process applications
US10831392B2 (en) Volatile and nonvolatile memory management method and electronic device
US9489293B2 (en) Techniques for opportunistic data storage
US10554575B2 (en) Equitable sharing of system resources in workflow execution
US9229751B2 (en) Apparatus and method for managing virtual memory
JP2014520346A5 (ja)
US10423462B2 (en) Dynamic load balancing for data allocation to servers
JP2014523022A5 (ja)
WO2013051154A1 (ja) メモリ割り当て制御方法、プログラムおよび情報処理装置
US9448920B2 (en) Granting and revoking supplemental memory allocation requests
US20150039767A1 (en) Global cloud computing environment resource allocation with local optimization
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
CN105677481A (zh) 一种数据处理方法、系统及电子设备
US10956228B2 (en) Task management using a virtual node
CN109840217B (zh) 一种缓存资源分配和装置
JPWO2013051154A1 (ja) メモリ割り当て制御方法、プログラムおよび情報処理装置