JP2014523022A - コンピュータにより実行される方法及びコンピュータシステム - Google Patents
コンピュータにより実行される方法及びコンピュータシステム Download PDFInfo
- Publication number
- JP2014523022A JP2014523022A JP2014517071A JP2014517071A JP2014523022A JP 2014523022 A JP2014523022 A JP 2014523022A JP 2014517071 A JP2014517071 A JP 2014517071A JP 2014517071 A JP2014517071 A JP 2014517071A JP 2014523022 A JP2014523022 A JP 2014523022A
- Authority
- JP
- Japan
- Prior art keywords
- application
- memory
- allocation
- host
- information
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
メモリ割当情報を提供するように明確には設計されていないアプリケーションを分析し、メモリ割当情報を取得するためにコンピュータの少なくとも1つのプロセッサが実行する方法であって、
アプリケーションを検出するステップであって、該アプリケーションにより行われるメモリ割当を示す情報は利用可能でない、ステップと、
該アプリケーションにより行われるメモリ割当を判別するために該アプリケーションについて分析を実行するステップと、
該アプリケーションを利用して、該アプリケーションがメモリを割り当てる該アプリケーション内のロケーションに割当情報を提供するステップと、
利用されたアプリケーションコードにより提供されるメモリ及び関連割当情報を割り当てるためのリクエストを該アプリケーションから受信するステップと
を有する方法である。
本願において説明されるメモリ管理システムは、メモリがどのように使用されているかを記述する情報をアプリケーションから受信し、メモリを利用するためのアプリケーション要求をアプリケーションホストがよりいっそう制御できるようにする。現在のアプリケーションホストは、アプリケーションがどの程度多くのメモリ要求を行っているか、及びどの程度のメモリサイズが個々の要求で要求されているかということ以外に、アプリケーションによるメモリの利用についてほとんど何も知らない。すなわち、メモリアプリケーション各々の目的、何れのアプリケーションが間もなく使用されることになるか、アプリケーションホストが更に多くのメモリを必要とする場合に何れのメモリアプリケーションが容易に作成し直せるか、何れのメモリアプリケーションがしばらくの間使用できなくなるか、何れのアプリケーションメモリがアプリケーションのパフォーマンスに影響を与えることなくディスクにページングできるか等をアプリケーションホストは把握していない。不都合なことに、アプリケーションホストはこの種の判断を行うタスク又は任務を担っているが、この種の判断を効率的に行うことに関するほとんどの情報をアプリケーションが保持している。
本願において説明されるメモリ管理システムは、メモリがどのように使用されているかを示す又は記述する情報をアプリケーションから受信し、メモリを利用するためのアプリケーション要求をアプリケーションホストがよりいっそう適切に制御できるようにする。現在のアプリケーションホストは、アプリケーションがどの程度多くのメモリ要求を行っているか、及びどの程度のメモリサイズが個々の要求で要求されているかということ以外に、アプリケーションによるメモリの利用についてほとんど何も知らない。すなわち、メモリアプリケーション各々の目的、何れのアプリケーションが間もなく使用されることになるか、アプリケーションホストが更に多くのメモリを必要とする場合に何れのメモリアプリケーションが容易に作成し直せるか、何れのメモリアプリケーションがしばらくの間使用できなくなるか、何れのアプリケーションメモリがアプリケーションのパフォーマンスに影響を与えることなくディスクにページングできるか等をアプリケーションホストは把握していない。不都合なことに、アプリケーションホストはこの種の判断を行うタスク又は任務を担っているが、この種の判断を効率的に行うことに関するほとんどの情報をアプリケーションが保持している。この矛盾又は問題は、現在のところ、基本レベルの機能を提供しかつ何れの処理がなされるかを推測するアプリケーションホストにより解決されている。多くの場合、アプリケーションホストはアプリケーションホストがメモリを必要とする直前にディスクに対するメモリを呼び出す、或いはアプリケーションホストはアプリケーションにとって重要でない多くのメモリ管理労力を費やしてしまうかもしれない。
多くの場合、ソフトウェア開発者にとって、メモリ管理システムとやり取りを行うようにソフトウェアを修正することが可能である。実際に開発されるアプリケーションに関し、ソフトウェア開発者はメモリ管理システムがもたらす利点の観点からメモリ管理システムを使用することを選択するかもしれないし、或いはアプリケーションがメモリ管理システムを使用するように動作する特定のプラットフォームにより決められるかもしれない。多くの場合、アプリケーションは、そのアプリケーションが使用しがちな仕方で割り振られたメモリを維持する。例えば、アプリケーションのユーザインタフェースの或る部分から別の部分へユーザが遷移した場合に、アプリケーションはユーザがそのインタフェースを再び訪れる場合に備えてかつてのインタフェースからの情報を保持するかもしれない。今日、この情報は他のアクティブに使用されるメモリと同程度にホストにとってもまさに必要であるように見えている。本メモリ管理システムはホストにこの種の状況を通知する方法をアプリケーションに提供し、そのようなメモリが優先順位を落とせるようにする。これに応じて、ホストは、そのようなメモリをページングする有望な候補として選択し、或いはアプリケーションからの追加的な情報に起因していっそう効果的な他のメモリ管理判断を可能にする。
メモリ管理システムとやり取りを行うようにソフトウェアアプリケーションを修正することがソフトウェア開発者にとって不可能であった場合、或いはシステムが未修正のアプリケーション(すなわち、本システムと共に動作するように明確には設計されていないアプリケーション)と共に実現される場合であっても、システムはメモリ管理の恩恵を享受することが可能である。これを行うため、システムは、アプリケーションがどのようにしてメモリを使用するかを示す情報を収集する(例えば、静的な分析及び/又はアプリケーションの評価に基づいてもよい。分析又は評価は、アプリケーションを動作させること、メモリの割当の情報を取得すること、アプリケーションの実行時間の間に利用度を監視すること等を含む)。この情報は、パフォーマンス特性を判定する際に有用であり、アプリケーションホストのメモリマネジャにより有益に(intelligently)使用される。この情報の利用の仕方の具体例は、ゴミ又は不要データの高度な収集、ディスクに対する高度なページング、パフォーマンスの高いメモリキャッシュの高度なキャッシュ管理等を含み、アプリケーションが遭遇するかもしれない潜在的なメモリの制約をユーザに警告することさえも含んでもよい。
メモリ管理システムは、アプリケーションにより提供された又はアプリケーションの分析により判定されたメモリの利用の仕方についての追加的な情報を受け取るようになされたカーネル又はアプリケーションホストに対する修正を含む。従来のソフトウェアメモリの管理とは異なり、本願により説明されるアプリケーションにより通知されるメタデータ及びその他の情報により提供されるメモリの利用の仕方に関する更なる情報又は洞察に起因して、カーネルはアプリケーションの情報や処理によらずメモリを一層効率的に管理できる。後にカーネルは如何なる処理がなされたかをアプリケーションに通知する又はメモリを管理し、アプリケーションがメモリを必要とする時点で使用できるようにし、アプリケーションがカーネルのメモリ関連処理を気にしない又は考慮しないで済むようにする。カーネルは、(例えば、重要でない又は使用される見込みがないメモリを低速/低頻度のディスクストレージに移す又はオフロードすることで)より優れたページングを実行できるようにし、メモリの要請が高まった場合にメモリを解放できるようにし、カーネルにより提供されるオペレーティングシステムを利用して1つ以上のアプリケーションに代わってメモリを管理する他の処理を実行できるようにする。例えば、カーネルは少ないフラグメンテーション(fragmentation)でメモリを適切に割り振ることが可能である。
図1は一実施形態によるメモリ管理システムの要素を示すブロック図である。システム100は、メタデータ受信要素105、充足条件要素110、割当リクエスト要素115、メモリ参照要素120、アプリケーションインタフェース要素125、静的分析要素130、動的分析要素135、ホスト要素140、リクエスト受信要素145、リクエスト保存要素150、割当要素155、メモリ処理要素160及びデータ保存要素165を含む。以下、これらの要素の各々を詳細に説明する。
<<システム動作>>
図3は、メモリの割当及び利用を要求するためにソフトウェアアプリケーションにおいて行われるメモリ管理システムの処理を示す一実施形態によるフローチャートを示す。
Claims (15)
- メモリ割当情報を提供するように明確には設計されていないアプリケーションを分析し、メモリ割当情報を取得するためにコンピュータの少なくとも1つのプロセッサが実行する方法であって、
アプリケーションを検出するステップであって、該アプリケーションにより行われるメモリ割当を示す情報は利用可能でない、ステップと、
該アプリケーションにより行われるメモリ割当を判別するために該アプリケーションについて分析を実行するステップと、
該アプリケーションを利用して、該アプリケーションがメモリを割り当てる該アプリケーション内のロケーションに割当情報を提供するステップと、
利用されたアプリケーションコードにより提供されるメモリ及び関連割当情報を割り当てるためのリクエストを該アプリケーションから受信するステップと
を有する方法。 - 前記アプリケーションを検出するステップにおいて、前記アプリケーションが改善されたメモリモデルに加わっているか否かを指定する情報を前記アプリケーションのバイナリモジュールにおいて検出する、請求項1に記載の方法。
- 前記アプリケーションを検出するステップにおいて、以前にキャッシュしたアプリケーション割当情報が利用可能であるか否かを判断する、請求項1に記載の方法。
- 前記分析を実行するステップにおいて、アプリケーションバイナリモジュールにおいてメモリ関連動作を特定する静的バイナリ分析を前記アプリケーションについて行う、請求項1に記載の方法。
- 前記分析を実行するステップにおいて、前記アプリケーションの実行時間においてメモリ関連動作を特定する動的分析を前記アプリケーションについて行う、請求項1に記載の方法。
- 前記分析を実行するステップにおいて、メモリを割り当てること、メモリにアクセスすること又はメモリを解放することのために1つ以上の特定のホストアプリケーションプログラミングインタフェース(API)の呼び出しを行う、請求項1に記載の方法。
- 前記分析を実行するステップにおいて、前記アプリケーションコードのメモリ関連エリア付近で割当メタデータを特定する、請求項1に記載の方法。
- 前記割当情報を提供するステップにおいて、前記アプリケーションコードの或るポイントにおいて、アプリケーションの通常のメモリ関連動作を捕らえる又は強化するためにアプリケーションバイナリコードのリダイレクションを行う、請求項1に記載の方法。
- 前記割当情報を提供するステップにおいて、前記アプリケーションにより本来呼び出されるメタデータなしに、標準的な割当機能によらず、割当メタデータを提供する割当機能を起動するアプリケーションフックを提供する、請求項1に記載の方法。
- 前記リクエストを該アプリケーションから受信するステップにおいて、前記リクエストを受信したホストが、アプリケーション情報は、該アプリケーション情報を提供するように明確には設計されていないアプリケーションに由来していることを確認できる、請求項1に記載の方法。
- アプリケーション情報を提供するように明確には設計されていないソフトウェアアプリケーションにおいてメモリの割当及び利用を制御する機能をアプリケーションホストに提供する、ソフトウェア命令を実行するように形成されたプロセッサ及びメモリを有するコンピュータシステムであって、
メモリ割当の管理の仕方を交渉するために前記アプリケーション及びホストの間に通信インタフェースを提供するアプリケーションインタフェース要素と、
前記アプリケーションがメモリをどのように使用するかを判断するためにアプリケーションバイナリコード又は他のアプリケーションコードを静的に分析する静的分析要素と、
前記アプリケーションによるメモリの利用の仕方に関連する追加的な情報を収集するために、動作しているアプリケーションを動的に分析する動的分析要素と、
前記アプリケーションが動作している環境を含み、当該コンピュータシステムにより提供されるメモリマネジャにアクセスするホスト要素と
を有し、前記静的分析要素及び動的分析要素はアプリケーションメモリ利用情報を前記ホストに提供する、コンピュータシステム。 - 前記アプリケーションインタフェース要素が、メモリ割当を要求しかつ該メモリ割当に関する情報を指定するために前記アプリケーションにより使用される1つ以上の機能又はベースクラスに加えて、前記アプリケーションにより使用されるユーザ定義機能を利用して前記アプリケーションのメモリとやり取りを行うために前記ホストにより使用される1つ以上の機能又はベースクラスを有する、請求項11に記載のコンピュータシステム。
- 前記アプリケーションインタフェース要素が、静的及び/又は動的分析により判定された使用されるアプリケーションコード間でやり取りを行い、割当情報を提供する前記ホストとやり取りを行う、請求項11に記載のコンピュータシステム。
- 前記静的分析要素が、アプリケーションのバイナリコード、中間コード又は他のコンパイルされた若しくは実行化のなバージョンを分析する、請求項11に記載のコンピュータシステム。
- 前記静的分析要素が、前記アプリケーションのバイナリコードを利用して、情報を受信する、或いは前記アプリケーションの特定のメモリ関連情報を捕らえる、請求項11に記載のコンピュータシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/163,745 | 2011-06-20 | ||
US13/163,745 US9785470B2 (en) | 2011-06-20 | 2011-06-20 | Memory management model and interface for unmodified applications |
PCT/US2012/043033 WO2012177577A2 (en) | 2011-06-20 | 2012-06-18 | Memory management model and interface for unmodified applications |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014523022A true JP2014523022A (ja) | 2014-09-08 |
JP2014523022A5 JP2014523022A5 (ja) | 2015-07-16 |
JP5980916B2 JP5980916B2 (ja) | 2016-08-31 |
Family
ID=47354693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014517071A Expired - Fee Related JP5980916B2 (ja) | 2011-06-20 | 2012-06-18 | コンピュータにより実行される方法及びコンピュータシステム |
Country Status (8)
Country | Link |
---|---|
US (1) | US9785470B2 (ja) |
EP (1) | EP2721483A4 (ja) |
JP (1) | JP5980916B2 (ja) |
KR (1) | KR101976221B1 (ja) |
CN (1) | CN103635876B (ja) |
AR (1) | AR086711A1 (ja) |
TW (1) | TWI539280B (ja) |
WO (1) | WO2012177577A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014520346A (ja) * | 2011-06-20 | 2014-08-21 | マイクロソフト コーポレーション | コンピュータにより実行される方法及びコンピュータシステム |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627036B2 (en) * | 2011-09-12 | 2014-01-07 | Microsoft Corporation | Memory management techniques |
JP2014149606A (ja) * | 2013-01-31 | 2014-08-21 | Fujitsu Ltd | 資源使用量集計プログラム、資源使用量集計方法及び資源使用量集計装置 |
WO2014186673A2 (en) * | 2013-05-17 | 2014-11-20 | Ab Initio Technology Llc | Managing memory and storage space for a data operation |
US20140372988A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Using a Static Analysis for Configuring a Follow-On Dynamic Analysis for the Evaluation of Program Code |
EP3017378A4 (en) * | 2013-07-05 | 2017-03-08 | Nokia Solutions and Networks Oy | Collective over-the -top application policy administration |
US9760417B2 (en) | 2014-03-10 | 2017-09-12 | Microsoft Technology Licensing, Llc | Application dehydration and rehydration during application-to-application calls |
US9557917B2 (en) * | 2014-11-10 | 2017-01-31 | International Business Machines Corporation | Conditional stack frame allocation |
US10025747B2 (en) * | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
CN104866237A (zh) * | 2015-05-08 | 2015-08-26 | 深圳市金立通信设备有限公司 | 一种终端 |
KR102303417B1 (ko) * | 2015-06-19 | 2021-09-23 | 삼성전자주식회사 | 복수의 운영 체제를 지원하는 전자 장치 제어 방법 |
GB2554083A (en) * | 2016-09-16 | 2018-03-28 | Siemens Rail Automation Holdings Ltd | Method for operating a computer, method for controlling a railway network and computer program product |
US11194556B1 (en) * | 2021-05-11 | 2021-12-07 | Apex.AI, Inc. | Deterministic memory allocation for real-time applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297604A (ja) * | 1995-04-27 | 1996-11-12 | Fujitsu Ltd | データ処理装置 |
JPH10269105A (ja) * | 1997-01-27 | 1998-10-09 | N T T Data Tsushin Kk | トレースシステム、リソース解放漏れ検出システム及び記録媒体 |
JP2003241967A (ja) * | 2002-02-15 | 2003-08-29 | Matsushita Electric Ind Co Ltd | プログラム実行装置およびその方法、並びにそこで実行されるプログラム |
JP2009540463A (ja) * | 2006-06-16 | 2009-11-19 | マイクロソフト コーポレーション | Api性能プロファイルを収集し報告するための自動化された方法およびシステム |
JP2009540464A (ja) * | 2006-06-13 | 2009-11-19 | マイクロソフト コーポレーション | 反復的な静的および動的ソフトウェア分析 |
Family Cites Families (20)
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 |
EP1015974B1 (en) | 1997-09-25 | 2001-08-08 | BRITISH TELECOMMUNICATIONS public limited company | Memory allocation |
US6742148B1 (en) | 2000-03-06 | 2004-05-25 | Pc-Doctor Inc. | System and method for testing memory while an operating system is active |
US7036118B1 (en) * | 2001-12-20 | 2006-04-25 | Mindspeed Technologies, Inc. | System for executing computer programs on a limited-memory computing machine |
US6965978B2 (en) * | 2003-05-15 | 2005-11-15 | Microsoft Corporation | Memory tracking tool |
US20050108562A1 (en) * | 2003-06-18 | 2005-05-19 | Khazan Roger I. | Technique for detecting executable malicious code using a combination of static and dynamic analyses |
US7293259B1 (en) | 2003-09-02 | 2007-11-06 | Sun Microsystems, Inc. | Dynamically configuring selected methods for instrument-based profiling at application run-time |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7805509B2 (en) * | 2004-06-04 | 2010-09-28 | Optier Ltd. | System and method for performance management in a multi-tier computing environment |
GB2421096A (en) * | 2004-12-10 | 2006-06-14 | Hewlett Packard Development Co | Determining a memory allocation algorithm in dependence on a memory allocation pattern for a process |
US20060149914A1 (en) * | 2004-12-30 | 2006-07-06 | Doris Tom F | Systems and methods for allocating data structures to memories |
US7685588B2 (en) * | 2005-03-28 | 2010-03-23 | Intel Corporation | Platform independent binary instrumentation and memory allocation method |
US7912877B2 (en) | 2005-05-20 | 2011-03-22 | Microsoft Corporation | Leveraging garbage collection to dynamically infer heap invariants |
US7441094B2 (en) * | 2005-07-05 | 2008-10-21 | Microsoft Corporation | Memory management configuration |
US7434105B1 (en) * | 2005-11-07 | 2008-10-07 | Symantec Operating Corporation | Selective self-healing of memory errors using allocation location information |
US7552306B2 (en) | 2005-11-14 | 2009-06-23 | Kabushiki Kaisha Toshiba | System and method for the sub-allocation of shared memory |
US10353797B2 (en) | 2006-12-29 | 2019-07-16 | International Business Machines Corporation | Using memory tracking data to inform a memory map tool |
US7827358B2 (en) | 2007-01-07 | 2010-11-02 | Apple Inc. | Memory management methods and systems |
US8812809B2 (en) * | 2008-06-10 | 2014-08-19 | Oracle America, Inc. | Method and apparatus for allocating memory for immutable data on a computing device |
EP2329389A4 (en) * | 2008-08-13 | 2013-02-27 | ENHANCING THE PERFORMANCE OF A SOFTWARE APPLICATION |
-
2011
- 2011-06-20 US US13/163,745 patent/US9785470B2/en active Active
-
2012
- 2012-04-20 TW TW101114220A patent/TWI539280B/zh not_active IP Right Cessation
- 2012-06-18 KR KR1020137033920A patent/KR101976221B1/ko active IP Right Grant
- 2012-06-18 WO PCT/US2012/043033 patent/WO2012177577A2/en unknown
- 2012-06-18 CN CN201280030252.8A patent/CN103635876B/zh active Active
- 2012-06-18 JP JP2014517071A patent/JP5980916B2/ja not_active Expired - Fee Related
- 2012-06-18 EP EP12803499.8A patent/EP2721483A4/en not_active Withdrawn
- 2012-06-21 AR ARP120102229A patent/AR086711A1/es not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297604A (ja) * | 1995-04-27 | 1996-11-12 | Fujitsu Ltd | データ処理装置 |
JPH10269105A (ja) * | 1997-01-27 | 1998-10-09 | N T T Data Tsushin Kk | トレースシステム、リソース解放漏れ検出システム及び記録媒体 |
JP2003241967A (ja) * | 2002-02-15 | 2003-08-29 | Matsushita Electric Ind Co Ltd | プログラム実行装置およびその方法、並びにそこで実行されるプログラム |
JP2009540464A (ja) * | 2006-06-13 | 2009-11-19 | マイクロソフト コーポレーション | 反復的な静的および動的ソフトウェア分析 |
JP2009540463A (ja) * | 2006-06-16 | 2009-11-19 | マイクロソフト コーポレーション | Api性能プロファイルを収集し報告するための自動化された方法およびシステム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014520346A (ja) * | 2011-06-20 | 2014-08-21 | マイクロソフト コーポレーション | コンピュータにより実行される方法及びコンピュータシステム |
US9946641B2 (en) | 2011-06-20 | 2018-04-17 | Microsoft Technology Licensing, Llc | Memory management model and interface for new applications |
Also Published As
Publication number | Publication date |
---|---|
KR20140033448A (ko) | 2014-03-18 |
CN103635876B (zh) | 2018-01-02 |
US9785470B2 (en) | 2017-10-10 |
KR101976221B1 (ko) | 2019-05-07 |
TW201301033A (zh) | 2013-01-01 |
EP2721483A4 (en) | 2016-10-19 |
WO2012177577A3 (en) | 2013-02-21 |
AR086711A1 (es) | 2014-01-15 |
CN103635876A (zh) | 2014-03-12 |
EP2721483A2 (en) | 2014-04-23 |
TWI539280B (zh) | 2016-06-21 |
WO2012177577A2 (en) | 2012-12-27 |
JP5980916B2 (ja) | 2016-08-31 |
US20120324197A1 (en) | 2012-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6370218B2 (ja) | メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体 | |
JP6138774B2 (ja) | コンピュータにより実行される方法及びコンピュータシステム | |
JP5980916B2 (ja) | コンピュータにより実行される方法及びコンピュータシステム | |
EP2588957B1 (en) | Cooperative memory resource management via application-level balloon | |
US9606822B2 (en) | Lightweight on-demand virtual machines | |
RU2569805C2 (ru) | Виртуальная архитектура неоднородной памяти для виртуальных машин | |
JP5255348B2 (ja) | クラッシュダンプ用のメモリアロケーション | |
US6985976B1 (en) | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks | |
KR100994723B1 (ko) | 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체 | |
Patrou | NUMA awareness: improving thread and memory management in the JVM | |
JP2018132981A (ja) | アクセラレータを有する情報処理装置および情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150525 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150525 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20150523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160205 |
|
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: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160727 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5980916 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |