JP2007026094A - 実行装置およびアプリケーションプログラム - Google Patents

実行装置およびアプリケーションプログラム Download PDF

Info

Publication number
JP2007026094A
JP2007026094A JP2005207412A JP2005207412A JP2007026094A JP 2007026094 A JP2007026094 A JP 2007026094A JP 2005207412 A JP2005207412 A JP 2005207412A JP 2005207412 A JP2005207412 A JP 2005207412A JP 2007026094 A JP2007026094 A JP 2007026094A
Authority
JP
Japan
Prior art keywords
memory
application program
execution
data
unit
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.)
Pending
Application number
JP2005207412A
Other languages
English (en)
Inventor
Yukio Masuda
行央 枡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005207412A priority Critical patent/JP2007026094A/ja
Priority to US11/485,625 priority patent/US20070022416A1/en
Publication of JP2007026094A publication Critical patent/JP2007026094A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】 動作する機器が異なったとしても、また、動作する機器の状況が変化したとしても、動作する機器に応じてその性能を充分に発揮することが出来るアプリケーションプログラム及び実行装置を提供する。
【解決手段】 実行装置は、アプリケーションプログラムが実行に際し使用する1又は複数のメモリを有し、実行装置のメモリの使用状況などにより、アプリケーションプログラムの実行に必要なメモリ領域に関する複数種類の条件のうち1条件を選択し、選択した条件に応じて、前記1又は複数のメモリからメモリ領域を確保し、確保したメモリ領域を使用して前記アプリケーションプログラムの実行を行なう。
【選択図】 図1

Description

本発明は、アプリケーションプログラム実行装置に関し、特にメモリの有効利用を図る技術に関する。
近年、家電やAV機器など多くの機器が、コンピュータシステムを搭載し、制御されるようになってきている。
このような大量生産される機器のシステムは、コストダウンの要請からプロセッサの処理能力やメモリ資源などに制限が課されている場合が多く、そのようなシステムは、アプリケーションプログラムが使う機能のみを備えるように、ハードウェアやOS(Operating System)を最適化しているのが通常である。
メモリ資源の最適な割り当て方法については、事前にシステムをモデル化してプログラムをシミュレーションし、システムにおけるメモリ配置の最適解を求める技術が公開されている(特許文献1参照)。
アプリケーションプログラムは、その実行に必要なメモリを確保する場合、OS(Operating System)に対し必要な量のメモリ確保を要求する。
例えば、あるDSP(Digital Signal Processor)には、図9に示すように、そのアプリケーション開発を容易にする為にフレームワーク10と呼ばれるソフトウェア部品群が提供されており、アプリケーションプログラムのソフトウェアモジュール(11,12,13)はメモリ資源14を確保する際には、フレームワークのAPI(Application Program Interface)を通じてメモリの確保を行う(非特許文献1参照)。
このように、ハードウェアやOSの使われ方が限定され専用化されたシステムは、限定されたメモリの効率的な利用と、アプリケーションプログラムの開発の容易化によるコストダウンを図りつつ、処理性能を向上させている。
Texas Instruments Incorporated, "TMS320 DSP Algorithm Standard - Rules and Guidelines", Oct 2002. 特開2004−70862号公報
しかし、このようなアプリケーションプログラムは、特定機器のシステムに特化されているがゆえに、別の機器上ではその性能が充分に発揮できない場合が多い。
すなわち、そのままでは、例えばメモリ資源が足りずに実行できない場合や、実行できたとしても、少ないメモリ資源では期待される処理性能を発揮できない場合、また、期待された処理性能は発揮できるが、その機器のメモリ資源を有効に利用できずにメモリ量に見合う性能が発揮できていない場合などである。
従って、機器に応じた性能を充分に発揮させる為には、例え同じ目的を有するアプリケーションプログラムであっても、動作する機器ごとにプログラムを用意する必要があることになる。
しかしながら、アプリケーションプログラムの開発コスト、ユーザの利便性などを考えると、1つのアプリケーションプログラムが異なった機器においても充分に性能を発揮して動作するのが望ましい。
更に、動作する機器で他のプログラムが実行されているなどして、メモリ不足になり実行できない場合もあることから、1つのアプリケーションプログラムが、実行装置の現時点での状況に応じて動作できるのが望ましい。
そこで、本発明は、動作する機器が異なったとしても、また、動作する機器の状況が変化したとしても、動作する機器に応じてその性能を充分に発揮することが出来るアプリケーションプログラム及び実行装置の提供を目的とする。
上記課題を解決する為に、本発明の実行装置は、アプリケーションプログラムが実行に際し使用する1又は複数のメモリを有する実行装置であって、アプリケーションプログラムの実行に必要なメモリ領域に関する条件を複数種類記憶する記憶手段と、前記記憶手段に記憶されている複数種類の条件のうち1条件を選択する選択手段と、前記選択手段で選択した条件に応じて、前記1又は複数のメモリからメモリ領域を確保する確保手段と、前記確保手段で確保したメモリ領域を使用して前記アプリケーションプログラムの実行を行なう実行手段とを備えることを特徴とする。
本発明に係る実行装置は、上述の構成を備えることにより、自装置のメモリ資源の使用状況に応じて提供可能なメモリ資源であって、アプリケーションプログラムが要求するメモリ資源を提供することができるので、自装置の状況に応じてアプリケーションプログラムを実行させることが出来る。
例えば、アプリケーションプログラムが、自プログラムが実行に際して性能を充分に発揮できるようなメモリ量を複数パターン持っているとする。この場合、その複数パターンのうちから実行装置は自装置が提供可能なメモリ量を提供することとなり、アプリケーションプログラムは実行装置が提供できるメモリ量に応じた性能を充分に発揮して動作でき、一方、実行装置はメモリ資源を効率よく利用することができるようになる。
また、前記アプリケーションプログラムは、前記記憶手段に記憶されている複数種類の条件それぞれに応じた処理手順を有し、前記実行手段は、前記確保手段で確保したメモリ領域を使用して、少なくとも、選択された条件に応じた処理手順を実行することとしてもよい。
これにより、アプリケーションプログラムは、確保できたメモリ資源に応じた処理を行うことが出来るので、メモリ資源に応じて処理性能を発揮することができるようになる。例えば、メモリ資源が複数種類ある場合には、データの種類と量に応じてメモリを割り当てることで、処理速度を上げるなどである。
また、前記実行装置は、更に、前記1又は複数のメモリの空き領域に関する情報を取得する取得手段を備え、前記選択手段は、前記取得手段で取得された情報に基づいて、前記記憶手段に記憶されている複数種類の条件のうちから1条件を選択することとしてもよい。
これにより、メモリ資源の空き領域の範囲内でメモリ資源の提供がなされるので、メモリ資源の不足が原因でアプリケーションプログラムが実行できないことという事態を避けることができるようになる。
また、前記複数のメモリは、アクセス速度の異なる複数種類以上のメモリを有し、前記メモリ領域に関する条件は、前記複数種類のメモリそれぞれに確保することが必要なメモリ量であることとしてもよい。
これにより、アクセス速度が異なるメモリ資源ごとに必要量の確保がなされるので、アプリケーションプログラムの処理を効率よく行うことが出来、性能を発揮することができるようになる。
また、前記実行装置は、更に、前記アプリケーションプログラムが実行される際に使用する1以上のデータそれぞれの使用頻度を記憶する使用頻度記憶手段と、前記実行手段がアプリケーションプログラムの実行を行なう際に、前記確保手段で確保したメモリ領域に前記1以上のデータを配置する配置手段とを備え、前記配置手段は、前記使用頻度記憶手段に記憶されている使用頻度に応じて、前記データを配置することとしてもよい。
これにより、データが、その使用頻度に応じてメモリ上に配置されるので、アプリケーションプログラムのデータへのアクセス時間を全体として短くすることができるようになる。
また、前記実行装置は、更に、前記アプリケーションプログラムが実行される際に使用する1以上のデータそれぞれの重要度を記憶する重要度記憶手段と、前記実行手段がアプリケーションプログラムの実行を行なう際に、前記確保手段で確保したメモリ領域に前記1以上のデータを配置する配置手段とを備え、前記配置手段は、前記重要度記憶手段に記憶されている重要度が高い順に、前記データを配置し、前記実行手段は、前記アプリケーションプログラムの実行を行なう際に、前記配置手段で配置されなかった前記データを使用する実行を抑止することとしてもよい。
これにより、アプリケーションプログラムで使用するデータのうち、使用頻度が高いデータはアクセス速度の速いメモリに配置することができるので、全体としてアプリケーションプログラムの処理速度を向上させることができるようになる。
本発明のアプリケーションプログラムは、メモリを確保および解放する機能を含む実行環境に処理を実行させるアプリケーションプログラムであって、前記アプリケーションプログラムの実行に際して使用するメモリ領域に関する複数種類の条件を前記実行環境に伝達する伝達ステップと、前記伝達ステップで伝達した複数種類の条件のうち1条件を前記実行環境から取得する取得ステップとを備え、前記取得ステップで取得した条件に合致するように確保されたメモリ領域を使用して、前記実行環境に行なわせる所定の処理を定義していることを特徴とする。
本発明に係るアプリケーションプログラムは、上述の構成を備えることにより、実行環境の状況に応じて確保できたメモリ資源であって、性能を発揮できる無駄の無いメモリ資源で動作できるので、様々な実行環境で性能を発揮して実行することができる。
また、前記アプリケーションプログラムは、実行に際して1以上のデータを使用し、前記実行環境に行わせる所定の処理は、前記1以上のデータそれぞれに対応して定義され、前記確保されたメモリ領域に、前記1以上のデータのうちのいずれのデータが配置されているかを判別する判別ステップと、前記判別ステップで配置されていると判別されたデータに対応する所定の処理を前記実行環境に行なわせる制御ステップとを備えることとしてもよい。
これにより、実行環境で確保できたメモリ資源の量に応じて処理を選んでアプリケーションプログラムは動作できるので、さまざまな実行環境上で実行することができるようになる。
本発明の実行装置は、アプリケーションプログラムが実行に際し使用する1又は複数のメモリを有する実行装置であって、アプリケーションプログラムの実行に必要なメモリ領域に関する複数種類の条件を取得する取得手段と、前記取得手段で取得された複数種類の条件のうち1条件を選択する選択手段と、前記選択手段で選択した条件に関する情報を前記アプリケーションプログラムに通知する通知手段とを備えることを特徴とする。
本発明に係る実行装置は、上述の構成を備えることにより、自装置のメモリ資源の使用状況に応じて、アプリケーションプログラムが要求するメモリ資源を提供することができるので、自装置の状況に応じてアプリケーションプログラムを実行させることが出来る。
<概要>
本発明は、アプリケーションプログラム(以下、「プログラム」という。)が実行時に要求するメモリ資源と、その時に実行装置が提供できるメモリ資源とを、動的に調整するものである。
本発明に係る実行装置のプログラムは、予め、確保したいメモリ資源の情報を複数パターンもっており、その複数パターンに応じた処理を備えていることを特徴とする。例えば、確保したメモリ資源パターンごとのデータ配置の処理や、確保したメモリ資源パターンごとのプログラム本来の目的を達成するための処理などである。
このプログラムが持っているメモリ資源のパターンは、プログラムが一定の性能を発揮するのに必要なメモリ量とメモリ性能との組合せであり、予め求めておいたものである。
そして、その実行装置は、プログラムがメモリを要求してきた際に、その装置が備えるメモリ資源と他のプログラムの実行状況から、割り当てることが出来るメモリ資源パターンを判断し、メモリ資源を割り当てる。
メモリ資源を確保できたプログラムは、そのパターンに応じて処理を切り替えて実行することで、その実行時に、その機器で確保できたメモリ資源を最大限に利用する処理を行うことができ、その性能を充分に発揮することが出来るのである。
また、実行装置では、無駄なくメモリ資源をプログラムに割り当てることができ、他のプログラムの実行を妨げることもない。
以下、本発明に係るプログラムおよび実行装置について説明する。
尚、確保したいメモリの総量は変わらずに性能の異なるメモリへの割り振りが異なる例を実施形態1に、確保したいメモリの総量が異なる例を実施形態2に記載する。
<実施形態1>
<構成>
以下、本発明の実施形態1に係る実行装置について図1を用いて説明する。
ここでは、本発明に係るプログラムは、既に、実行装置に搭載されているものとして説明する。
図1は、実行装置の構成を示す機能ブロック図である。
実行装置1000は、アプリケーション実行制御部1100、アプリケーションプログラム1200、高速メモリ1500、低速メモリ1600およびOS1700から構成される。
まず、OS1700は、実行装置の各種資源などの管理制御、プログラムの実行の管理制御などを行う、いわゆる基本ソフトウェアである。例えば、アプリケーションプログラムのために、メモリの確保、解放の処理を行う。
高速メモリ1500および低速メモリ1600は、それぞれアクセス速度が異なるメモリである。ここでは、OS1700とのやり取りを明示するために、機能ブロック図内に記載している。
これらのメモリとしては、例えば、アクセス速度がより速い高速メモリ1500としては、SRAM(Static RAM)、低速メモリ1600としては、DRAM(Dynamic RAM)が上げられる。
まず、アプリケーションプログラム1200は、特定の仕事を行う為のソフトウェアプログラムであり、例えば、動画再生ソフト、ワープロソフトなどである。 アプリケーションプログラム1200は、OS1700などを介して必要な量のメモリを、実行装置1000内のメモリ(1500、1600)から確保し、確保したメモリを使用しながら処理を実行する。
実行装置1000には、複数のアプリケーションプログラムが搭載可能であり、それらは並行して実行される場合もあることとする。本説明では、説明の便宜上1つのアプリケーションプログラム1200について説明する。
アプリケーションプログラム1200は、目的である特定の仕事に関する実行処理、制御処理などを行う他、本発明に特有の処理を行う。
本アプリケーションプログラム1200は、メモリ資源パターン記憶部1300、メモリ資源要求部1220およびデータ配置部1230で構成される。
メモリ資源パターン記憶部1300は、アプリケーションプログラム1200が効率よく動作できる複数パターンを記憶する機能を有する。記憶されているメモリ資源のパターンの詳細は、図2を用いてあとで説明する。
アプリケーションプログラム1200は、これら記憶されている複数パターンのうちのいずれのパターンであっても、一定の性能を発揮することができ、かつ、それぞれのパターンのメモリ量は、無駄の無い量となっている。
メモリ資源要求部1220は、アプリケーションプログラム1200が必要とするメモリ資源を確保する機能を有する。具体的には、後で詳しく説明するアプリケーション実行制御部1100に、メモリ資源を要求し、確保されたメモリの先頭アドレスを受取る。この確保されたメモリは、メモリ資源パターン記憶部1300に記憶してあるメモリ資源のパターンのうちの1つのパターンで確保されたものである。
データ配置部1230は、メモリ資源要求部1220で確保したメモリにアプリケーションプログラム1200で使用するデータなどを配置する機能を有する。
データ配置部1230は、確保できたメモリ資源パターンに応じて、データを配置することになる。
データ配置部1230が扱うデータとは、ある一塊のデータをいい、連続するメモリ領域に配置されるべきものをいうものとする(以下、同様)。また、ここで言うデータは、プログラムやワーク領域などであってもよい。
次に、アプリケーション実行制御部1100は、プログラムの実行に必要な一般的な制御処理を行う他、本発明に特有の制御処理を行う。
本アプリケーション実行制御部1100は、メモリ資源パターン決定部1110、環境情報取得部1120およびメモリ資源確保部1130から構成される。
メモリ資源パターン決定部1110は、アプリケーションプログラム1200のメモリ資源要求に対して、メモリ資源を確保して、確保したメモリの先頭アドレスとメモリを確保したメモリ資源パターンとを返す機能を有する。
このメモリ資源パターン決定部1110は、実行装置1000のメモリ資源の使用状況や、使用予測などに基づいて、アプリケーションプログラム1200に割り当てることができるメモリ資源の量を求め、その量に応じてメモリ資源パターンを決定する。
環境情報取得部1120は、実行装置1000のメモリ資源(1500、1600)の空き容量など、アプリケーションプログラムの実行環境に関する情報をOS1700などから取得する機能を有する。
メモリ資源確保部1130は、OS1700に依頼して、高速メモリ1500又は低速メモリ1600に所定量のメモリを確保する機能を有する。
ここでアプリケーション実行制御部1100等の各部による各処理の全部または一部は、CPU(Central Processing Unit、図示していない。)が各種プログラムを実行することにより実現されるものである。
<データ>
以下、実行装置1000が用いる主なデータについて、図2および図3を用いて説明する。
図2は、メモリ資源パターン情報1310の内容例を示す図である。
このメモリ資源パターン情報1310は、メモリ資源パターン記憶部1300に記憶されており、1つとは限らず、アプリケーションプログラム1200が確保するメモリごとにあっても良い。
また、このメモリ資源パターン情報1310は、アプリケーションプログラム1200がアプリケーション実行制御部1100に対してメモリ確保を要求する際に、渡される情報である。
メモリ資源パターン情報1310で示されているメモリ資源パターンは、予めシミュレーション等によって決められている高速メモリ1500と低速メモリ1600とのそれぞれの量である。これらの量は、アプリケーションプログラム1200が一定の性能を発揮するための無駄の無い量となっている。本実施形態では、メモリの総量は変わらず、高速メモリと低速メモリの配分が異なる場合を示している。
メモリ資源パターン情報1310は、メモリ資源パターン1311、メモリ量1312および優先順位1313で構成される。
メモリ資源パターン1311は、パターン名を表し、パターンを識別するものである。
メモリ量1312は、高速メモリ1500と低速メモリ1600のそれぞれのメモリ量を表している。例えば、メモリ資源パターン1311「パターンC」は、メモリ量1312「高速メモリ:6KB 低速メモリ:6KB」とあり、高速メモリ1500に6KB(キロバイト)、低速メモリ1600に6KBを確保するパターンである。
また、優先順位1313は、効率よく性能を発揮できる順序を示したものである。例えば、メモリ資源パターン1311「パターンC」は、優先順位1313「1」であり、この「パターンA」から「パターンD」までの4パターンのうちで、最も推奨されるパターンであることを示している。
一般的には、高速メモリの割合が多ければ多いほど、処理性能が上がると考えられるが、この例では高速メモリの量が2番目に多い「パターンC」の優先順位1313が「1」となっている。その理由は、このアプリケーションプログラム1200は、高速メモリが6KB以上あったとしても処理性能がほとんど変わらないからであり、高速メモリが6KBの「パターンC」が最もメモリ資源を効率的に利用できるパターンであるからである。
次に、図3は、確保されたメモリ資源に関する情報の内容例を示す図である。
このメモリ資源情報1250は、アプリケーション実行制御部1100からアプリケーションプログラム1200に渡される情報である。
この情報は、メモリ資源を確保する度にメモリ資源パターン決定部1110により作成され、メモリ資源要求部1220に渡される。
メモリ資源情報1250は、メモリ資源パターン1251、高速メモリアドレス1252および低速メモリアドレス1253で構成される。
メモリ資源パターン1251は、メモリ資源が実際に確保されたパターンを示すもので、メモリ資源パターン情報1310のメモリ資源パターン1311のうちのいずれかが示される。例えば、「パターンC」などである。この情報により、それぞれのメモリに確保されたメモリ量を知ることができる。
高速メモリアドレス1252および低速メモリアドレス1253は、それぞれ確保されたメモリの先頭アドレスである。例えば、メモリ資源パターン1251「パターンC」の場合、高速メモリは、高速メモリアドレス1252「0x06001000」から6KBのメモリが確保されていることになる。
<動作>
以下、上述した実行装置1000の動作について図4および図5を用いて説明する。
図4は、アプリケーションプログラムがメモリを確保する処理を示すフローチャートである。
アプリケーションプログラム1200は、実行開始直後の初期化処理において、または、その実行中にメモリ資源が必要になった場合には、メモリ資源要求部1220に対してメモリの確保を要求する。
メモリの確保の要求を受けたメモリ資源要求部1220は、メモリ資源パターン記憶部1300に記憶されている該当するメモリ資源パターン情報1310を読出し、アプリケーション実行制御部1100のメモリ資源パターン決定部1110に渡し、メモリ資源の確保を依頼する(ステップS100)。
メモリ資源の確保を依頼されたメモリ資源パターン決定部1110は、環境情報取得部1120に、高速メモリ1500と低速メモリ1600の、それぞれの空き領域に関する情報を問い合わせる。
環境情報取得部1120は、OS1700に問い合わせを行い、それぞれのメモリの空き領域に関する情報をメモリ資源パターン決定部1110に返す(ステップS200)。
空き領域に関する情報を受取ったメモリ資源パターン決定部1110は、確保できるメモリ資源パターン1311を選択し、そのうちの優先順位1313が最も高いものに決定する(ステップS210)。
例えば、空き領域が、高速メモリ10KB、低速メモリ6KBだった場合には、「パターンC」に決定される。この場合には、メモリ資源パターン1311「パターンC」と「パターンD」のメモリ資源を確保することが可能であるが、それぞれのパターンの優先順位1313は、「1」、「2」であるので、優先順位1313の高い「パターンC」に決定されることになる。
メモリ資源パターン1311を決定したメモリ資源パターン決定部1110は、メモリ資源確保部1130に、決定したメモリ資源パターンを渡し、メモリの確保を依頼する。
メモリ資源の確保依頼を受けたメモリ資源確保部1130は、OS1700に高速メモリ1500および低速メモリ1600のメモリ確保を依頼する。例えば、「パターンC」の場合、高速メモリ1500に6KB,低速メモリ1600に6KBを確保するように依頼する。
OS1700は、高速メモリ1500および低速メモリ1600に依頼された量を確保し、それぞれの確保したメモリの先頭アドレスをメモリ資源確保部1130に返す(ステップS220)。
メモリ資源確保部1130は、OS1700から受取ったアドレスを、メモリ資源確保部1130に渡す。
確保したメモリの先頭アドレスを受取ったメモリ資源確保部1130は、受取った先頭アドレスと決定したメモリ資源パターンからメモリ資源情報1250を作成し、メモリ資源要求部1220に返す(ステップS230)。例えば、「パターンC」である旨をメモリ資源パターン1251にセットし、高速メモリ1500に確保した6KBの先頭アドレスと低速メモリ1600に確保した6KBの先頭アドレスを、それぞれ高速メモリアドレス1252、低速メモリアドレス1253にセットしてメモリ資源情報1250を作成する。
メモリ資源情報1250を受取ったメモリ資源要求部1220は、受取った情報をデータ配置部1230に渡し、データのロードを依頼する。
依頼を受けたデータ配置部1230は、それぞれのメモリにデータを配置して(ステップS110)、配置後、アプリケーションプログラム1200の処理を続行する。
データの配置の方法としては、予め決められている順序でデータを配置することとしても良いが、本実施形態では、データ配置部1230は、データの使用頻度に応じて、高速メモリ1500と低速メモリ1600に配置するデータを決めることとする。
以下に、データの配置方法の例を説明する。
本実施形態では、データの使用頻度の高さを、データのキャッシュヒット率で判断するものとする。この判断の方法を、図5を用いて説明する。
図5は、データ領域のキャッシュヒット率の例を表すグラフである。
このグラフ1320は、低速メモリ1600に、アプリケーションプログラム1200で使用する全データを置き、低速メモリ1600のアクセスにキャッシュメモリを利用した場合のデータF〜データI(1321)ごとのキャッシュヒット率を示すものである。
ここでは、キャッシュヒット率として、アプリケーションプログラム1200が一定期間ないし、一定アクセス回数内にデータにアクセスしたときに、低速メモリ1600ではなくキャッシュメモリ上にデータが存在した割合を示している。
例えば、データFのキャッシュヒット率が99.8%であり、データIのキャッシュヒット率は95%である。
データ配置部1230は、予め、このキャッシュヒット率の情報を保持しており、キャッシュヒット率の低いデータI、データH、データG、データFの優先順にデータ領域を高速メモリに配置し、高速データメモリに配置できなかったデータ領域については低速メモリに配置する。
このように配置することでキャッシュヒット率の低いデータのアクセスが高速化され、アプリケーションプログラム1200の処理速度が高速化される。
低速メモリはキャッシュメモリを用いてアクセスを高速化することが一般的なため、このキャッシュヒット率を改善するとプログラムの処理速度の高速化を図ることができるためである。
尚、データ配置部1230に保持しているキャッシュヒット率の情報は、予め測定しておいたものとする。また、実行中に随時更新しておき、適当なタイミングでデータの配置を変えることとしてもよい。
<実施形態2>
実施形態1との相違点は、実施形態1では要求するメモリ資源の総量は一定であったが、本実施形態2では要求するメモリ資源の総量が異なる点である。
メモリ資源の要求総量が異なることから、動作できる機器が大幅に増えるという利点がある。
確保したメモリ資源が少ない場合に対応するため、メモリに配置するデータを選択するための仕組みを追加している。
<構成>
以下、本発明の実施形態2に係る実行装置について図6を用いて説明する。
図6は、実施形態2の実行装置の構成を示す機能ブロック図である。
実施形態1の実行装置との違いは、アプリケーションプログラム2200が、データ重要度記憶部2400を備える点である。
データ重要度記憶部2400は、アプリケーションプログラム2200が使用するデータに重要度を付けた情報を記憶する。この重要度の情報は、図8を用いて後で説明する。この重要度に応じて、データ配置部2230は、データを配置していくことになる。
この相違点に伴い若干異なるものの、実行装置2000の各機能部は、実行装置1000(図1参照)の各機能部とほぼ同じ機能を有する。
各機能部について、簡単に説明する。
実行装置2000は、アプリケーション実行制御部2100、アプリケーションプログラム2200、高速メモリ1500、低速メモリ1600およびOS1700から構成される。
OS1700、高速メモリ1500および低速メモリ1600は、実行装置1000のと同じである。
アプリケーションプログラム2200は、メモリ資源パターン記憶部2300、メモリ資源要求部2220、データ配置部2230およびデータ重要度記憶部2400で構成される。
メモリ資源パターン記憶部2300は、図7を用いて後で説明するメモリ資源パターンと必須メモリ量とを記憶している。
メモリ資源要求部2220は、メモリ資源パターン記憶部2300に記憶してあるメモリ資源のパターンを示してメモリを要求する点が異なるのみで、実行装置1000のメモリ資源要求部1220と同じ機能を有する。
データ配置部2230は、メモリ資源要求部2220で確保したメモリにデータなどを配置する機能を有し、その配置の際にデータ重要度記憶部2400に記憶されている情報を参照する。
次に、アプリケーション実行制御部2100は、メモリ資源パターン決定部2110、環境情報取得部2120およびメモリ資源確保部2130から構成される。
メモリ資源パターン決定部2110が有する機能で、実行装置1000のメモリ資源パターン決定部1110と異なる点は、メモリ資源を確保する場合に、必須メモリ量を参照する点である。メモリ資源パターン決定部2110は、この必須メモリ量を確保出来ない場合は、メモリを確保しない。
また、環境情報取得部2120およびメモリ資源確保部2130の有する機能は、実行装置1000の環境情報取得部1120およびメモリ資源確保部1130と同じである。
<データ>
以下、実行装置2000が用いる主なデータについて、図7および図8を用いて説明する。
図7(a)は、メモリ資源パターン情報2310の内容例を示す図である。
このメモリ資源パターン情報2310は、メモリ資源パターン記憶部2300に記憶されており、実施形態1のメモリ資源パターン情報1310との違いは、優先順位1313の替わりにメモリ合計2313を有している点である。
このメモリ資源パターン情報2310は、アプリケーションプログラム2200がアプリケーション実行制御部2100に対してメモリ確保を要求する際に、渡される情報である。
また、実施形態1と同様に、メモリ資源パターン情報2310で示されているメモリ資源パターンは、予めシミュレーション等によって決められている高速メモリ1500と低速メモリ1600とのそれぞれの量である。
メモリ資源パターン情報2310は、メモリ資源パターン2311、メモリ量2312およびメモリ合計2313で構成される。
メモリ資源パターン2311およびメモリ量2312は、実施形態1のメモリ資源パターン1311およびメモリ量1312と同様である。
メモリ合計2313は、高速メモリと低速メモリに要求するメモリ量の合計を示している。
次に、図7(b)は、必須メモリ量情報の内容例を示す図である。
この必須メモリ量情報2320は、アプリケーションプログラム2200が動作するために必要な最小限度のメモリ量を示している。
この必須メモリ量情報2320は、メモリ資源パターン記憶部2300に記憶されており、メモリ資源要求部2220を介してメモリ資源パターン決定部2110に渡されることになる。
次に、図8(a)は、データ重要度情報2410の内容例を示す図である。
このデータ重要度情報2410は、データ重要度記憶部2400に記憶されている。
データ重要度情報2410は、データ名2411、データサイズ2412および重要度2413で構成される。
データ名2411は、アプリケーションプログラム2200が使用するデータの名前であり、識別子の役割を果たす。
データサイズ2412は、データ名2411で表されるデータの長さを表す。例えば、データ名2411「データM」は、データサイズ2412「4KB」であることから「データM」は4キロバイトのデータであることがわかる。
重要度2413は、データ名2411で表されるデータの重要度を示す値であり、値が大きいほど重要度が高いことを表している。この重要度の順にデータは高速メモリ、低速メモリの順で配置されることになる。尚、重要度に応じて、配置場所を決めておくなどとしてもよい。
この重要度は、アプリケーションプログラムのアルゴリズム上の重要度を数値化したものである。
具体的には、「1」は、アプリケーションプログラム2200が動作するためには必須のデータであることを示す。従って、重要度2413「1」のデータの合計が、必須メモリ量2320となる。
例えば、重要度2413「1」のデータはデータ名2411が「データM」と「データN」で表されるデータであり、それぞれのデータサイズ2412は「4KB」と「2KB」であることから、必須メモリ量2320は「6KB」となる。
図8(b)は、メモリにデータを配置した例を示す図である。
この例では、メモリ資源パターン2311「パターンK」の場合である(図7(a)参照)。4KBの高速メモリ1500には、「データM」が、6KBの低速メモリには、「データN」と「データO」が配置されている。ここでは「データP」は配置されない。
ここで、データの重要度2413とアプリケーションプログラム2200の処理との関係について説明する。
重要度2413が「1」のデータは、必ず配置されなければならないものであり、アプリケーションプログラムの必須の処理に必要なデータである。
一方、重要度2413が1未満のデータは、配置しなくても、アプリケーションプログラムの必須の処理には影響がないデータである。
例えば、アルゴリズム上実行しなくてもかまわない付加的処理や、実行するタイミングが特定の動作モードのときのみに限定でき普段は動作させなくて良い処理のデータである。従って、これらのデータがメモリ上に配置されていない場合は、それらに対応するアプリケーションプログラムの処理は動作しないようにプログラムは作成されている。
例えば、アプリケーションプログラムが、音楽ビデオを再生するものであるとする。この場合、符号化されたデータを復号する処理および音楽を再生する処理は、必須の処理といえるので、これらの処理で必要なデータ(「データM」と「データN」)の重要度は「1」となる。しかし、映像を再生する処理は、必ずしも必須の処理とはいえないので、その処理で使用するデータ(「データO」)重要度は「0.8」となる。さらに、歌詞などの文字データを表示する処理で使用するデータ(「データP」)は、重要度が低く「0.5」となる。
<動作>
以下、上述した実行装置2000の動作について図4を用いて説明する。
図4は、アプリケーションプログラムがメモリを確保する処理を示すフローチャートであり、実施形態1と同じものである。
ステップS100、ステップ110、ステップS200〜ステップS230の各処理は、実行装置1000の処理とほぼ同じである。
異なる点は次の3点である。
1つ目は、メモリ資源パターン情報1310(図2参照)がメモリ資源パターン情報2310(図7参照)に変わった点であり、2つ目は、メモリ資源パターン決定部2110が、必須メモリ量2320を参照する点である。3つ目は、データ配置部2230が、データ重要度情報2410を基にデータを配置する点である。
以下、簡単に実行装置2000の動作を説明する。
アプリケーションプログラム2200は、メモリ資源要求部2220に対してメモリの確保を要求する。
メモリの確保の要求を受けたメモリ資源要求部2220は、メモリ資源パターン記憶部2300に記憶されている該当するメモリ資源パターン情報2310を読出し、アプリケーション実行制御部2100のメモリ資源パターン決定部2110に渡し、メモリ資源の確保を依頼する(ステップS100)。
メモリ資源の確保を依頼されたメモリ資源パターン決定部2110は、環境情報取得部2120からメモリの空き領域に関する情報を取得する(ステップS200)。
空き領域に関する情報を受取ったメモリ資源パターン決定部2110は、必須メモリ量2320を確保できるかを判断し、確保できる場合は、メモリ資源パターン2311を選択する。メモリ資源パターン2311に合致するメモリ資源を確保出来ない場合は、高速メモリまたは低速メモリで、必須メモリ量を確保することとする(ステップS210)。
メモリ資源パターン2311を決定したメモリ資源パターン決定部2110は、メモリ資源確保部2130を介してメモリを確保し(ステップS220)、確保したメモリの先頭アドレスを受取る。
メモリ資源確保部2130は、受取った先頭アドレスと決定したメモリ資源パターンからメモリ資源情報2250を作成し、メモリ資源要求部2220に返す(ステップS230)。
メモリ資源情報2250を受取ったメモリ資源要求部2220は、受取った情報をデータ配置部2230に渡し、データのロードを依頼し、依頼を受けたデータ配置部2230は、それぞれのメモリにデータを配置して(ステップS110)、配置後、アプリケーションプログラム2200の処理を続行する。
以下に、データの配置方法の例を説明する。
実施形態1では、データの使用頻度に応じて、データを配置したが、本実施形態2では、データの重要度に応じて、データを配置するものとする。
データ配置部2230は、まず重要度2413は「1」のデータを高速メモリに配置する。重要度2413が同じ場合は、より多くのデータが高速メモリに配置できるように調整する。次に、重要度2413の値が高いデータから配置していく。
例えば、図8(b)に示すように、高速メモリが4KBある場合には、重要度「1」の「データM」を配置し、低速メモリには、重要度「1」の「データN」、重要度「0.8」の「データO」を配置する。この「パターンK」の場合には、「データP」は配置されず、「データP」を使用するアプリケーション部分は実行できないことになる。
<補足>
以上、本発明に係る実行装置およびプログラムについて実施形態に基づいて説明したが、この実行装置およびプログラムを部分的に変形することもでき、本発明は上述の実施形態に限られないことは勿論である。即ち、
(1)実施形態1では、データの使用頻度をキャッシュヒット率で判断することとしているが、他の方法でもよい。
例えば、キャッシュヒット率の代わりにキャッシュのミスヒット率、データ領域へのアクセス数、プログラムのアルゴリズム上推定される使用頻度などを基にデータの使用頻度を判断することとしてもよい。
(2)実施形態では、メモリ資源は高速メモリと低速メモリの2種類のメモリで構成されることとしているが、この構成に限らず、1種類のメモリでも、3種類以上のメモリでもよい。
また、メモリ資源パターンとしてメモリ種別ごとの使用サイズのみを規定しているが、メモリのアドレスやアライメント、メモリの確保方法などを規定してもよい。ここで、メモリの確保方法とは、例えば、他のアプリケーションプログラムとの共有が可能である、自プログラムだけで占有して使用するなどである。
またさらに、データごとにメモリ種別とメモリ量を指定しておいてもよい。
(3)実施形態1では、データ配置部でデータを配置する際に、データごとのキャッシュヒット率(図5参照)を参照し、実施形態2では、データの重要度(図8参照)を参照しているが、これらの双方を参照したりなどして配置順などを決めることとしてもよい。
(4)実施形態では、メモリ資源の空き領域を基に、アプリケーションプログラムに提供するメモリ量を決めているが、他の基準で提供するメモリ量をきめることとしてもよい。
例えば、モバイル機器などの内蔵バッテリで動作している機器の場合には、バッテリ残量に応じて通電するメモリを変えることとしてもよい。すなわち、バッテリ残量が少なくなれば、提供するメモリ性能や量を少なくするなどを行う。
(5)実施形態で示した実行装置の各機能を実現させる為の各制御処理(図1等参照)をCPUに実行させる為のプログラムを、記録媒体に記録し又は各種通信路等を介して、流通させ頒布することもできる。このような記録媒体には、ICカード、光ディスク、フレキシブルディスク、ROM、フラッシュメモリ等がある。流通、頒布されたプログラムは、機器におけるCPUで読み取り可能なメモリ等に格納されることにより利用に供され、そのCPUがそのプログラムを実行することにより実施形態で示した実行装置の各機能が実現される。
メモリを持つプロセッサシステムを用いた組み込みシステムを製造、使用する技術として有用である。
実施形態1の実行装置の構成を示す機能ブロック図である。 メモリ資源パターン情報1310の内容例を示す図である。 確保されたメモリ資源に関する情報の内容例を示す図である。 アプリケーションプログラムがメモリを確保する処理を示すフローチャートである。 データのキャッシュヒット率の例を表すグラフである。 実施形態2の実行装置の構成を示す機能ブロック図である。 図7(a)は、メモリ資源パターン情報2310の内容例を示す図であり、図7(b)は、必須メモリ量情報の内容例を示す図である。 図8(a)は、データ重要度情報2410の内容例を示す図であり、図8(b)は、メモリにデータを配置した例を示す図である。 フレームワークを介してメモリを確保する従来例を示す図である。
符号の説明
1000 実行装置
1100 2100 アプリケーション実行制御部
1110 2110 メモリ資源パターン決定部
1120 2120 環境情報取得部
1130 2130 メモリ資源確保部
1200 2200 アプリケーションプログラム
1220 2200 メモリ資源要求部
1230 2230 データ配置部
1250 2250 メモリ資源情報
1300 2300 メモリ資源パターン記憶部
1310 2310 メモリ資源パターン情報
1311 2311 メモリ資源パターン
1312 2312 メモリ量
1313 優先順位
1320 グラフ
1500 高速メモリ
1600 低速メモリ
1700 OS
2000 実行装置
2313 メモリ合計
2320 必須メモリ量情報
2400 データ重要度記憶部
2410 データ重要度情報

Claims (9)

  1. アプリケーションプログラムが実行に際し使用する1又は複数のメモリを有する実行装置であって、
    アプリケーションプログラムの実行に必要なメモリ領域に関する条件を複数種類記憶する記憶手段と、
    前記記憶手段に記憶されている複数種類の条件のうち1条件を選択する選択手段と、
    前記選択手段で選択した条件に応じて、前記1又は複数のメモリからメモリ領域を確保する確保手段と、
    前記確保手段で確保したメモリ領域を使用して前記アプリケーションプログラムの実行を行なう実行手段と
    を備えることを特徴とする実行装置。
  2. 前記アプリケーションプログラムは、前記記憶手段に記憶されている複数種類の条件それぞれに応じた処理手順を有し、
    前記実行手段は、前記確保手段で確保したメモリ領域を使用して、少なくとも、選択された条件に応じた処理手順を実行する
    ことを特徴とする請求項1記載の実行装置。
  3. 前記実行装置は、更に、前記1又は複数のメモリの空き領域に関する情報を取得する取得手段を備え、
    前記選択手段は、前記取得手段で取得された情報に基づいて、前記記憶手段に記憶されている複数種類の条件のうちから1条件を選択する
    ことを特徴とする請求項1記載の実行装置。
  4. 前記複数のメモリは、アクセス速度の異なる複数種類以上のメモリを有し、
    前記メモリ領域に関する条件は、前記複数種類のメモリそれぞれに確保することが必要なメモリ量である
    ことを特徴とする請求項1記載の実行装置。
  5. 前記実行装置は、更に、前記アプリケーションプログラムが実行される際に使用する1以上のデータそれぞれの使用頻度を記憶する使用頻度記憶手段と、
    前記実行手段がアプリケーションプログラムの実行を行なう際に、前記確保手段で確保したメモリ領域に前記1以上のデータを配置する配置手段とを備え、
    前記配置手段は、前記使用頻度記憶手段に記憶されている使用頻度に応じて、前記データを配置する
    ことを特徴とする請求項4記載の実行装置。
  6. 前記実行装置は、更に、前記アプリケーションプログラムが実行される際に使用する1以上のデータそれぞれの重要度を記憶する重要度記憶手段と、
    前記実行手段がアプリケーションプログラムの実行を行なう際に、前記確保手段で確保したメモリ領域に前記1以上のデータを配置する配置手段とを備え、
    前記配置手段は、前記重要度記憶手段に記憶されている重要度が高い順に、前記データを配置し、
    前記実行手段は、前記アプリケーションプログラムの実行を行なう際に、前記配置手段で配置されなかった前記データを使用する実行を抑止する
    ことを特徴とする請求項1記載の実行装置。
  7. メモリを確保および解放する機能を含む実行環境に処理を実行させるアプリケーションプログラムであって、
    前記アプリケーションプログラムの実行に際して使用するメモリ領域に関する複数種類の条件を前記実行環境に伝達する伝達ステップと、
    前記伝達ステップで伝達した複数種類の条件のうち1条件を前記実行環境から取得する取得ステップとを備え、
    前記取得ステップで取得した条件に合致するように確保されたメモリ領域を使用して、前記実行環境に行なわせる所定の処理を定義している
    ことを特徴とするアプリケーションプログラム。
  8. 前記アプリケーションプログラムは、実行に際して1以上のデータを使用し、前記実行環境に行わせる所定の処理は、前記1以上のデータそれぞれに対応して定義され、
    前記確保されたメモリ領域に、前記1以上のデータのうちのいずれのデータが配置されているかを判別する判別ステップと、
    前記判別ステップで配置されていると判別されたデータに対応する所定の処理を前記実行環境に行なわせる制御ステップとを備える
    ことを特徴とする請求項7記載のアプリケーションプログラム。
  9. アプリケーションプログラムが実行に際し使用する1又は複数のメモリを有する実行装置であって、
    アプリケーションプログラムの実行に必要なメモリ領域に関する複数種類の条件を取得する取得手段と、
    前記取得手段で取得された複数種類の条件のうち1条件を選択する選択手段と、
    前記選択手段で選択した条件に関する情報を前記アプリケーションプログラムに通知する通知手段と
    を備えることを特徴とする実行装置。
JP2005207412A 2005-07-15 2005-07-15 実行装置およびアプリケーションプログラム Pending JP2007026094A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005207412A JP2007026094A (ja) 2005-07-15 2005-07-15 実行装置およびアプリケーションプログラム
US11/485,625 US20070022416A1 (en) 2005-07-15 2006-07-13 Execution device and application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005207412A JP2007026094A (ja) 2005-07-15 2005-07-15 実行装置およびアプリケーションプログラム

Publications (1)

Publication Number Publication Date
JP2007026094A true JP2007026094A (ja) 2007-02-01

Family

ID=37680475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005207412A Pending JP2007026094A (ja) 2005-07-15 2005-07-15 実行装置およびアプリケーションプログラム

Country Status (2)

Country Link
US (1) US20070022416A1 (ja)
JP (1) JP2007026094A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063378A (zh) * 2010-12-17 2011-05-18 天津曙光计算机产业有限公司 一种在内核中高速分配连续内存的方法
JP2013502016A (ja) * 2009-08-13 2013-01-17 クゥアルコム・インコーポレイテッド メモリ管理および効率的なデータ処理のための装置および方法
JP2013510355A (ja) * 2009-11-04 2013-03-21 エスティー‐エリクソン(フランス)エスエーエス ランダムアクセスメモリの動的管理
US8762532B2 (en) 2009-08-13 2014-06-24 Qualcomm Incorporated Apparatus and method for efficient memory allocation
JP2014241153A (ja) * 2008-03-25 2014-12-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated ワイヤレス通信環境におけるウィジェットを管理するための装置および方法
US9038073B2 (en) 2009-08-13 2015-05-19 Qualcomm Incorporated Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts
KR20150114958A (ko) * 2013-02-04 2015-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 이기종 메모리의 동적 관리 기법
US9269059B2 (en) 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
WO2016157826A1 (ja) * 2015-03-30 2016-10-06 日本電気株式会社 データ配置先決定装置、方法およびプログラム記録媒体
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
JP2017134507A (ja) * 2016-01-26 2017-08-03 日立オートモティブシステムズ株式会社 メモリ管理システム
US10061500B2 (en) 2008-03-25 2018-08-28 Qualcomm Incorporated Apparatus and methods for widget-related memory management
WO2019093432A1 (ja) * 2017-11-10 2019-05-16 クラリオン株式会社 ナビゲーションシステム、ナビゲーション方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127102A1 (en) * 2006-09-14 2008-05-29 Glen J Anderson Technique to visually present memory location and usage during code execution
US8429677B2 (en) 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
US8640203B2 (en) 2007-06-04 2014-01-28 Rajesh G. Shakkarwar Methods and systems for the authentication of a user
TWI499906B (zh) * 2008-12-08 2015-09-11 Apacer Technology Inc Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method
JP6264747B2 (ja) * 2013-05-17 2018-01-24 富士通株式会社 ネットワーク設計装置、及びネットワーク設計方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2512246B2 (ja) * 1991-07-02 1996-07-03 松下電送株式会社 情報通信装置
US6256714B1 (en) * 1998-09-02 2001-07-03 Sharp Laboratories Of America, Inc. Computer system with efficient memory usage for managing multiple application programs

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061500B2 (en) 2008-03-25 2018-08-28 Qualcomm Incorporated Apparatus and methods for widget-related memory management
JP2014241153A (ja) * 2008-03-25 2014-12-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated ワイヤレス通信環境におけるウィジェットを管理するための装置および方法
US10481927B2 (en) 2008-03-25 2019-11-19 Qualcomm Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
US9269059B2 (en) 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US8788782B2 (en) 2009-08-13 2014-07-22 Qualcomm Incorporated Apparatus and method for memory management and efficient data processing
JP2013502016A (ja) * 2009-08-13 2013-01-17 クゥアルコム・インコーポレイテッド メモリ管理および効率的なデータ処理のための装置および方法
US9038073B2 (en) 2009-08-13 2015-05-19 Qualcomm Incorporated Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts
US8762532B2 (en) 2009-08-13 2014-06-24 Qualcomm Incorporated Apparatus and method for efficient memory allocation
US9390029B2 (en) 2009-11-04 2016-07-12 St-Ericsson Sa Dynamic management of random access memory
JP2013510355A (ja) * 2009-11-04 2013-03-21 エスティー‐エリクソン(フランス)エスエーエス ランダムアクセスメモリの動的管理
CN102063378A (zh) * 2010-12-17 2011-05-18 天津曙光计算机产业有限公司 一种在内核中高速分配连续内存的方法
JP2016510471A (ja) * 2013-02-04 2016-04-07 マイクロソフト テクノロジー ライセンシング,エルエルシー 異種メモリの動的管理
KR20150114958A (ko) * 2013-02-04 2015-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 이기종 메모리의 동적 관리 기법
KR102207598B1 (ko) * 2013-02-04 2021-01-25 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 이기종 메모리의 동적 관리 기법
JPWO2016157826A1 (ja) * 2015-03-30 2018-02-01 日本電気株式会社 データ配置先決定装置、方法およびプログラム
WO2016157826A1 (ja) * 2015-03-30 2016-10-06 日本電気株式会社 データ配置先決定装置、方法およびプログラム記録媒体
US10120602B2 (en) 2015-03-30 2018-11-06 Nec Corporation Device and method for determining data placement destination, and program recording medium
JP2017134507A (ja) * 2016-01-26 2017-08-03 日立オートモティブシステムズ株式会社 メモリ管理システム
WO2019093432A1 (ja) * 2017-11-10 2019-05-16 クラリオン株式会社 ナビゲーションシステム、ナビゲーション方法
JP2019086488A (ja) * 2017-11-10 2019-06-06 クラリオン株式会社 ナビゲーションシステム、ナビゲーション方法

Also Published As

Publication number Publication date
US20070022416A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
CN107690622B (zh) 实现硬件加速处理的方法、设备和系统
US20060136779A1 (en) Object-based storage device with low process load and control method thereof
US20120246390A1 (en) Information processing apparatus, program product, and data writing method
US20100064043A1 (en) Information Processing Method and Information Processing Apparatus
JP2004326754A (ja) 共用リソースを使用するための仮想計算機の管理
JP2018518733A (ja) ファイル操作方法及び装置
JP6483631B2 (ja) メモリ装置及び制御プログラム
TW201712527A (zh) 用於新應用程式之記憶體管理模型與介面
WO2012103231A1 (en) Computing platform with resource constraint negotiation
JP4407956B2 (ja) 情報処理方法および情報処理装置
CN102667714B (zh) 支持访问由操作系统环境外的资源提供的功能的方法和系统
TW201301033A (zh) 用於未修正應用程式的記憶體管理模型和界面
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
US7689993B2 (en) Assigning tasks to processors based at least on resident set sizes of the tasks
CN115576716A (zh) 一种基于多进程的内存管理方法
JP5818824B2 (ja) デュアル・モード・リーダ・ライタ・ロック
JP2012221217A (ja) メモリ管理装置、メモリ管理方法、および、制御プログラム
JPWO2008149657A1 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
US9405470B2 (en) Data processing system and data processing method
JP7062142B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN117033000B (zh) 数据调度方法、设备
JP2012022532A (ja) ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
US20230342200A1 (en) System and method for resource management in dynamic systems
JP2009193260A (ja) ストレージシステム、ストレージ装置、優先度制御装置および優先度制御方法