JP2014520346A5 - - Google Patents

Download PDF

Info

Publication number
JP2014520346A5
JP2014520346A5 JP2014517070A JP2014517070A JP2014520346A5 JP 2014520346 A5 JP2014520346 A5 JP 2014520346A5 JP 2014517070 A JP2014517070 A JP 2014517070A JP 2014517070 A JP2014517070 A JP 2014517070A JP 2014520346 A5 JP2014520346 A5 JP 2014520346A5
Authority
JP
Japan
Prior art keywords
memory
allocation
application
metadata
host
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
JP2014517070A
Other languages
English (en)
Other versions
JP6138774B2 (ja
JP2014520346A (ja
Filing date
Publication date
Priority claimed from US13/163,752 external-priority patent/US9218206B2/en
Application filed filed Critical
Publication of JP2014520346A publication Critical patent/JP2014520346A/ja
Publication of JP2014520346A5 publication Critical patent/JP2014520346A5/ja
Application granted granted Critical
Publication of JP6138774B2 publication Critical patent/JP6138774B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

<<システム構成要素及びオペレーティング環境>>
図1は一実施形態によるメモリ管理システムの要素を示すブロック図である。システム100は、メタデータ受信要素105、充足仕様要素110、割当リクエスト要素115、メモリ参照要素120、アプリケーションインタフェース要素125、静的分析要素130、動的分析要素135、ホスト要素140、リクエスト受信要素145、リクエスト保存要素150、割当要素155、メモリ処理要素160及びデータ保存要素165を含む。以下、これらの要素の各々を詳細に説明する。
メタデータ受信要素105、充足仕様要素110、割当リクエスト要素115、及びメモリ参照要素120は、共に、システム100がアプリケーションに提供するメモリフレームワーク又はメモリ手段を形成する。より効率的なメモリ管理を行うために開発者各自のアプリケーションコードを修正しようとしている開発者は、各自のアプリケーションからこれらの要素を利用して、ホスト又はカーネルがアプリケーションの代わりに一層効率的なメモリ管理を実行できるようにするアプリケーションを作成することが可能である。
充足仕様要素(fill specification component)110は、特定のメモリ割当の内容、仕様又は条件がどのようにして満たされるか(メモリ割当に応じるか)を示す情報を受信する。メモリの内容は様々なソースから到来し、例えば、ディスクに保存されたファイルの内容を読み取ることで得られてもよいし、入力データについて1つ以上の演算を実行することで得られてもよいし、ユーザ入力から得られてもよいし、ネットワークアクセス情報(例えば、データベース又はインターネット)等から得られてもよい。一実施形態において、ホストが指定した時点でホストが関数又は機能を呼び出してメモリ内容を満たせるように、アプリケーションはメモリ充足関数(memory filling function)をホストに渡す又は通知する。処理リソース及びその他のリソースを効率的に利用するため、ホストは、リソースが低い稼働状態又はアイドルになるまでメモリを満たすことを遅延させることを選択してもよい。更に、ホストは、他の用途のためにかつて満たされたメモリをリリース又は解放する自由度(又は権限)を有し、以後アプリケーションがメモリの利用を予想する前にメモリを再度割り当てて充足し直してもよい(割当に応じてもよい)。受信したメタデータは、アプリケーションがメモリを使用することになる時をホストが知るために利用する情報を提供し、或いはアプリケーションはホストがメモリの現在の状態を検査できるようにメモリを利用する各々の試みの前にホストに通知してもよい。
割当リクエスト要素115は、受信したメタデータ及び充足仕様に基づいて、アプリケーションからのリクエスト又は要求を、メモリを割り当てるホストに通知する。ホストはリクエスト又は要求を受信するが、リクエストに応じて速やかにサービスを実行するか或いは他の適切な時点まで待機するかはホスト次第である点に留意を要する。極端な場合、ホストはアクセスを受ける準備が整うまで如何なるメモリも割り当てず、メモリがアプリケーションによって必要とされかつ処理を実行できるアプリケーションにメモリが割り当てられなければならない最終時点に至るまで、ホストが限られたリソースを節約できるようにしてもよい。割当リクエスト要素115は、通知されたリクエストをホストが管理しているデータ保存部に保存し、受信したメタデータ及び使用する充足仕様を後のメモリ管理処理に含める。

Claims (17)

  1. 改善されたメモリ管理システムによりメモリの割当及び利用を要求するためにソフトウェアアプリケーションにおいてコンピュータが少なくとも1つのプロセッサにより実行する方法であって、
    アプリケーションがメモリ割当をどのように使用しようとしているかを示す割当メタデータを設定するステップと、
    前記メモリ割当の内容を設定するメモリ充足機能を設定するステップと、
    複数のアプリケーションの間で共有される物理メモリを管理するホストにより提供される割当インタフェースを起動するステップであって、前記アプリケーションが、設定された割当メタデータ及びメモリ充足機能を前記割当インタフェースを介して前記ホストにもたらす、ステップと、
    前記割当インタフェースを起動したことに応答して、前記アプリケーションが前記メモリ割当を以後使用する際の間接的な識別子として機能するリファレンスを受信するステップと
    を有する方法。
  2. 前記割当メタデータを設定するステップが、割当メタデータを受信する割当機能部に通知するパラメータ構造を構築することを含む、請求項1に記載の方法。
  3. 前記割当メタデータを設定するステップが、割当が生じた後に割当メタデータを提供する個別のアプリケーションプログラミングインタフェース(API)を呼び出すことを含む、請求項1に記載の方法。
  4. 前記割当メタデータを設定するステップが、メモリ管理を促すために、割当メタデータを受け入れるメモリを割り当てるために導出されたクラスのパラメータを設定することを含む、請求項1に記載の方法。
  5. 設定する前記割当メタデータが、前記アプリケーションに対する前記メモリの優先度を含むメタデータを有する、請求項1に記載の方法。
  6. 設定する前記割当メタデータが、割り当てられたメモリを前記アプリケーションがどの程度頻繁に利用する予定であるかを含むメタデータを有する、請求項1に記載の方法。
  7. 設定する前記割当メタデータが、前記アプリケーションにとって割当の内容を置換することがどの程度困難であるかを含むメタデータを有する、請求項1に記載の方法。
  8. 前記メモリ充足機能を設定するステップが、前記メモリ割当の内容を設定するためにファイルの情報にアクセスする関数を設定することを含む、請求項1に記載の方法。
  9. 前記メモリ充足機能を設定するステップが、前記アプリケーションを起動することなく前記アプリケーションの代わりにメモリの内容を設定するために前記ホストにより後に呼び出すことが可能な関数を設定することを含む、請求項1に記載の方法。
  10. 前記メモリ充足機能を設定するステップが、前記メモリを解放及び再割当するのに必要な情報、又は前記メモリの割当及び初期割当を前記ホストにとって更に相応しい時まで遅らせるのに必要な情報を前記ホストに提供することを含む、請求項1に記載の方法。
  11. 前記リファレンスを受信するステップが、前記アプリケーションが前記メモリを使用することを希望している場合に、前記メモリに直接的にアクセスするため前記アプリケーションに前記リファレンスを提供することを含む、請求項1に記載の方法。
  12. 前記アプリケーションが割り当てられたメモリとの関連を絶ったことを前記アプリケーションが検出した場合に、前記割当インタフェースを起動し、以前に割り当てた該メモリを解放するステップを更に有する請求項1に記載の方法。
  13. 前記アプリケーションが前記メモリにアクセスした後に、前記メモリを利用できなくしてもよい管理動作を前記ホストがさらに実行可能なことを前記ホストに通知するステップを更に有する請求項1に記載の方法。
  14. ソフトウェアアプリケーションにおいてメモリの割当及び利用を制御する機能をアプリケーションホストに提供する、ソフトウェア命令を実行するように形成されたプロセッサ及びメモリを有するコンピュータシステムであって、
    メモリ割当の各々に関連する情報を受信するメタデータ受信要素であって、前記情報は、アプリケーションにより前記メモリがどのように使用されるかを示す情報をアプリケーションホストに提供する、メタデータ受信要素と、
    特定のメモリ割当の内容がどのように満たされるかを示す情報を受信する充足仕様要素と、
    受信したメタデータ及び充足仕様に基づいてメモリを割り当てるために前記アプリケーションからホストへリクエストを送付する割当リクエスト要素と、
    以前に送付された割当リクエストの対象となっていたメモリに前記アプリケーションがアクセスする前に、前記アプリケーションから通知を受信するメモリリファレンス要素と、
    メモリ割当の仕方を交渉するために前記アプリケーション及び前記ホストの間に通信インタフェースを提供するアプリケーションインタフェース要素と、
    前記アプリケーションが動作する環境を含み、受信したメタデータ及び充足仕様を利用してメモリを管理するメモリマネジャを提供するホスト要素と
    を有するコンピュータシステム。
  15. 割り当てたものに前記アプリケーションがどの程度容易にアクセス可能か、或いは割当に関連する前記メモリに前記アプリケーションがどの程度頻繁にアクセスする予定であるかを示す情報を、前記メタデータ受信要素が受信する、請求項14に記載のコンピュータシステム。
  16. 請求項1〜13のうち何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させるコンピュータプログラム。
  17. 請求項16に記載のコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
JP2014517070A 2011-06-20 2012-06-18 コンピュータにより実行される方法及びコンピュータシステム Expired - Fee Related JP6138774B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/163,752 2011-06-20
US13/163,752 US9218206B2 (en) 2011-06-20 2011-06-20 Memory management model and interface for new applications
PCT/US2012/043030 WO2012177576A2 (en) 2011-06-20 2012-06-18 Memory management model and interface for new applications

Publications (3)

Publication Number Publication Date
JP2014520346A JP2014520346A (ja) 2014-08-21
JP2014520346A5 true JP2014520346A5 (ja) 2017-04-13
JP6138774B2 JP6138774B2 (ja) 2017-05-31

Family

ID=47354694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014517070A Expired - Fee Related JP6138774B2 (ja) 2011-06-20 2012-06-18 コンピュータにより実行される方法及びコンピュータシステム

Country Status (8)

Country Link
US (2) US9218206B2 (ja)
EP (1) EP2721482A4 (ja)
JP (1) JP6138774B2 (ja)
KR (1) KR101936453B1 (ja)
CN (1) CN103608766B (ja)
AR (1) AR087009A1 (ja)
TW (2) TWI574202B (ja)
WO (1) WO2012177576A2 (ja)

Families Citing this family (18)

* 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
US8966213B2 (en) * 2012-07-12 2015-02-24 International Business Machines Corporation Granting and revoking supplemental memory allocation requests
EP2763372B1 (en) * 2013-02-01 2017-05-10 HTC Corporation Electronic apparatus, computer-readable medium and data synchronization method
US9678797B2 (en) 2014-03-10 2017-06-13 Microsoft Technology Licensing, Llc Dynamic resource management for multi-process applications
KR102317599B1 (ko) 2014-05-26 2021-10-26 삼성전자 주식회사 전자 장치 및 전자 장치의 단편화 분석 방법
US9395754B2 (en) 2014-06-04 2016-07-19 Grandios Technologies, Llc Optimizing memory for a wearable device
US9491562B2 (en) 2014-06-04 2016-11-08 Grandios Technologies, Llc Sharing mobile applications between callers
US8965348B1 (en) 2014-06-04 2015-02-24 Grandios Technologies, Llc Sharing mobile applications between callers
KR102403063B1 (ko) * 2014-12-05 2022-05-30 삼성전자주식회사 모바일 디바이스 및 모바일 디바이스의 메모리 관리 방법
CN105740158A (zh) * 2014-12-11 2016-07-06 广州市动景计算机科技有限公司 减少便携式终端设备上浏览器内存占用的方法与装置
WO2016168202A1 (en) * 2015-04-14 2016-10-20 Sendyne Corporation Model numerical solver for system control
US9904337B2 (en) 2015-06-25 2018-02-27 International Business Machines Corporation Affinity-aware parallel zeroing of pages in non-uniform memory access (NUMA) servers
KR102277731B1 (ko) * 2015-07-21 2021-07-14 삼성전자주식회사 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러
US20170185292A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Memory Management of High-Performance Memory
US9996293B1 (en) * 2016-12-12 2018-06-12 International Business Machines Corporation Dynamic management of memory allocation in a database
US10599353B2 (en) * 2017-05-16 2020-03-24 Apple Inc. Techniques for managing storage space allocation within a storage device
US10368128B2 (en) 2017-08-11 2019-07-30 Microsoft Technology Licensing, Llc Memory allocation type for media buffer
WO2021117186A1 (ja) * 2019-12-12 2021-06-17 三菱電機株式会社 データ処理実行装置、データ処理実行方法及びデータ処理実行プログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018060A (en) 1989-01-26 1991-05-21 Ibm Corporation Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters
US6023712A (en) * 1997-07-30 2000-02-08 Quarterdeck Corporation Method and apparatus for brokering memory resources
US6205528B1 (en) * 1997-08-29 2001-03-20 International Business Machines Corporation User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture
US6128713A (en) 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US20010042058A1 (en) * 1998-07-09 2001-11-15 Robert J. Harrington Apparatus and method for managing memory use by software objects
US6701420B1 (en) * 1999-02-01 2004-03-02 Hewlett-Packard Company Memory management system and method for allocating and reusing memory
DE19951716A1 (de) * 1999-10-27 2001-05-03 Heidenhain Gmbh Dr Johannes Verfahren zur dynamischen Speicherverwaltung
US7016826B2 (en) 2000-12-21 2006-03-21 Intel Corporation Apparatus and method of developing software for a multi-processor chip
US6895590B2 (en) 2001-09-26 2005-05-17 Intel Corporation Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API
US6985976B1 (en) * 2002-02-22 2006-01-10 Teja Technologies, Inc. System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks
CA2382718C (en) * 2002-04-12 2007-02-13 Ibm Canada Limited-Ibm Canada Limitee Memory balancing and optimization services
US7069396B2 (en) * 2002-06-27 2006-06-27 Hewlett-Packard Development Company, L.P. Deferred memory allocation for application threads
US7188216B1 (en) 2002-12-13 2007-03-06 Vignette Corporation Method and system for an extensible caching framework
US7149863B1 (en) * 2003-10-08 2006-12-12 Sun Microsystems, Inc. System and method of descriptively specifying memory placement in a computer system
US7278005B1 (en) 2004-04-01 2007-10-02 Azul Systems, Inc. Cooperative memory management
US7484065B2 (en) 2004-04-20 2009-01-27 Hewlett-Packard Development Company, L.P. Selective memory allocation
US7418568B2 (en) * 2005-01-05 2008-08-26 Sap Ag Memory management technique
US7441094B2 (en) 2005-07-05 2008-10-21 Microsoft Corporation Memory management configuration
KR101059633B1 (ko) * 2006-07-14 2011-08-25 인텔 코오퍼레이션 멀티태스킹 가상 머신을 위한 힙 구성
KR101287976B1 (ko) 2006-09-11 2013-07-18 삼성전자주식회사 데이터 어플리케이션의 자동실행 조정방법 및 이를 적용한영상재생장치
US7900010B2 (en) 2007-07-09 2011-03-01 Ittiam Systems (P) Ltd. System and method for memory allocation management
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
KR20100071483A (ko) 2008-12-19 2010-06-29 한국전자통신연구원 묶음 소프트웨어의 배포 방법 및 시스템
US9785470B2 (en) * 2011-06-20 2017-10-10 Microsoft Technology Licensing, Llc Memory management model and interface for unmodified applications

Similar Documents

Publication Publication Date Title
JP2014520346A5 (ja)
CN110612705B (zh) 一种无服务器架构下业务部署的方法和函数管理平台
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
US9910888B2 (en) Map-reduce job virtualization
US8756599B2 (en) Task prioritization management in a virtualized environment
US9069465B2 (en) Computer system, management method of computer resource and program
US10554575B2 (en) Equitable sharing of system resources in workflow execution
TWI574202B (zh) 用於新應用程式之記憶體管理模型與介面
EP3313023A1 (en) Life cycle management method and apparatus
US20140282519A1 (en) Managing a server template
JP2018537776A (ja) コード実行要請ルーティング
JP2015144020A5 (ja)
JP2007323245A (ja) 計算機システムおよび性能計測方法ならびに管理サーバ装置
JP2014517434A5 (ja)
US20140282540A1 (en) Performant host selection for virtualization centers
JP6464288B2 (ja) クラウドコンピューティング環境においてクラウドホストを削除するプログラム、装置、サーバ及び記憶媒体
US10942844B2 (en) Reserved memory in memory management system
US11228658B1 (en) Pre-caching data for use upon execution of program code
US20150334039A1 (en) Bursting cloud resources to affect state change performance
US11068317B2 (en) Information processing system and resource allocation method
EP3304294A1 (en) Method and system for allocating resources for virtual hosts
GB2584980A (en) Workload management with data access awareness in a computing cluster
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
JP2008107966A (ja) 計算機システム
US20150127916A1 (en) Dynamic memory allocation