JP2014520346A5 - - Google Patents
Download PDFInfo
- 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
Links
- 230000003213 activating Effects 0.000 claims 3
- 238000004590 computer program Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static Effects 0.000 description 1
Description
<<システム構成要素及びオペレーティング環境>>
図1は一実施形態によるメモリ管理システムの要素を示すブロック図である。システム100は、メタデータ受信要素105、充足仕様要素110、割当リクエスト要素115、メモリ参照要素120、アプリケーションインタフェース要素125、静的分析要素130、動的分析要素135、ホスト要素140、リクエスト受信要素145、リクエスト保存要素150、割当要素155、メモリ処理要素160及びデータ保存要素165を含む。以下、これらの要素の各々を詳細に説明する。
図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に記載の方法。
- 前記割当メタデータを設定するステップが、割当が生じた後に割当メタデータを提供する個別のアプリケーションプログラミングインタフェース(API)を呼び出すことを含む、請求項1に記載の方法。
- 前記割当メタデータを設定するステップが、メモリ管理を促すために、割当メタデータを受け入れるメモリを割り当てるために導出されたクラスのパラメータを設定することを含む、請求項1に記載の方法。
- 設定する前記割当メタデータが、前記アプリケーションに対する前記メモリの優先度を含むメタデータを有する、請求項1に記載の方法。
- 設定する前記割当メタデータが、割り当てられたメモリを前記アプリケーションがどの程度頻繁に利用する予定であるかを含むメタデータを有する、請求項1に記載の方法。
- 設定する前記割当メタデータが、前記アプリケーションにとって割当の内容を置換することがどの程度困難であるかを含むメタデータを有する、請求項1に記載の方法。
- 前記メモリ充足機能を設定するステップが、前記メモリ割当の内容を設定するためにファイルの情報にアクセスする関数を設定することを含む、請求項1に記載の方法。
- 前記メモリ充足機能を設定するステップが、前記アプリケーションを起動することなく前記アプリケーションの代わりにメモリの内容を設定するために前記ホストにより後に呼び出すことが可能な関数を設定することを含む、請求項1に記載の方法。
- 前記メモリ充足機能を設定するステップが、前記メモリを解放及び再割当するのに必要な情報、又は前記メモリの割当及び初期割当を前記ホストにとって更に相応しい時まで遅らせるのに必要な情報を前記ホストに提供することを含む、請求項1に記載の方法。
- 前記リファレンスを受信するステップが、前記アプリケーションが前記メモリを使用することを希望している場合に、前記メモリに直接的にアクセスするため前記アプリケーションに前記リファレンスを提供することを含む、請求項1に記載の方法。
- 前記アプリケーションが割り当てられたメモリとの関連を絶ったことを前記アプリケーションが検出した場合に、前記割当インタフェースを起動し、以前に割り当てた該メモリを解放するステップを更に有する請求項1に記載の方法。
- 前記アプリケーションが前記メモリにアクセスした後に、前記メモリを利用できなくしてもよい管理動作を前記ホストがさらに実行可能なことを前記ホストに通知するステップを更に有する請求項1に記載の方法。
- ソフトウェアアプリケーションにおいてメモリの割当及び利用を制御する機能をアプリケーションホストに提供する、ソフトウェア命令を実行するように形成されたプロセッサ及びメモリを有するコンピュータシステムであって、
メモリ割当の各々に関連する情報を受信するメタデータ受信要素であって、前記情報は、アプリケーションにより前記メモリがどのように使用されるかを示す情報をアプリケーションホストに提供する、メタデータ受信要素と、
特定のメモリ割当の内容がどのように満たされるかを示す情報を受信する充足仕様要素と、
受信したメタデータ及び充足仕様に基づいてメモリを割り当てるために前記アプリケーションからホストへリクエストを送付する割当リクエスト要素と、
以前に送付された割当リクエストの対象となっていたメモリに前記アプリケーションがアクセスする前に、前記アプリケーションから通知を受信するメモリリファレンス要素と、
メモリ割当の仕方を交渉するために前記アプリケーション及び前記ホストの間に通信インタフェースを提供するアプリケーションインタフェース要素と、
前記アプリケーションが動作する環境を含み、受信したメタデータ及び充足仕様を利用してメモリを管理するメモリマネジャを提供するホスト要素と
を有するコンピュータシステム。 - 割り当てたものに前記アプリケーションがどの程度容易にアクセス可能か、或いは割当に関連する前記メモリに前記アプリケーションがどの程度頻繁にアクセスする予定であるかを示す情報を、前記メタデータ受信要素が受信する、請求項14に記載のコンピュータシステム。
- 請求項1〜13のうち何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させるコンピュータプログラム。
- 請求項16に記載のコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
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)
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)
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 |
-
2011
- 2011-06-20 US US13/163,752 patent/US9218206B2/en active Active
-
2012
- 2012-05-03 TW TW101115795A patent/TWI574202B/zh not_active IP Right Cessation
- 2012-05-03 TW TW106101330A patent/TWI604378B/zh not_active IP Right Cessation
- 2012-06-18 EP EP12802712.5A patent/EP2721482A4/en not_active Ceased
- 2012-06-18 KR KR1020137033887A patent/KR101936453B1/ko active IP Right Grant
- 2012-06-18 WO PCT/US2012/043030 patent/WO2012177576A2/en unknown
- 2012-06-18 JP JP2014517070A patent/JP6138774B2/ja not_active Expired - Fee Related
- 2012-06-18 CN CN201280030227.XA patent/CN103608766B/zh active Active
- 2012-06-21 AR ARP120102230A patent/AR087009A1/es unknown
-
2015
- 2015-12-14 US US14/968,778 patent/US9946641B2/en active Active
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 |