JPH0589160A - モンテカルロシミユレーシヨン方法 - Google Patents

モンテカルロシミユレーシヨン方法

Info

Publication number
JPH0589160A
JPH0589160A JP3247297A JP24729791A JPH0589160A JP H0589160 A JPH0589160 A JP H0589160A JP 3247297 A JP3247297 A JP 3247297A JP 24729791 A JP24729791 A JP 24729791A JP H0589160 A JPH0589160 A JP H0589160A
Authority
JP
Japan
Prior art keywords
calculation
variable
function
value
monte carlo
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
JP3247297A
Other languages
English (en)
Inventor
Yasuyuki Okura
康幸 大倉
Shigeo Ihara
茂男 井原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3247297A priority Critical patent/JPH0589160A/ja
Publication of JPH0589160A publication Critical patent/JPH0589160A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/30Hydrogen technology
    • Y02E60/50Fuel cells

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】モンテカルロ法において複雑な関数を含む場合
でもその精度を落とさずに高速化することである。 【構成】複雑な関数演算を含む散乱確率の計算106に
おいて、散乱確率テーブルと逐次計算を併用し各粒子各
散乱機構についてテーブル参照が可能かどうか判断し、
可能なものは散乱確率テーブル108を使用してテーブ
ル参照計算109を行ない、不可能なものは関数演算1
10を行なう。 【効果】乱数的変数による複雑な関数演算を含むモンテ
カルロ法を高速化出来るので、それに伴い物理現象理解
の促進が期待される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータを用いて確
率的現象を数値的に解析するシミュレーション方法に関
する。
【0002】
【従来の技術】モンテカルロ法とは乱数を発生させて確
率的現象を解析する方法であり、粒子の挙動を計算する
プラズマ物理、流体力学、分子動力学、半導体特性解析
等の計算や統計的現象の最適化等広い分野で用いられて
いる。ところで従来のモンテカルロ法においては計算時
間が非常に大きいため、本来複雑な関数演算を単純化す
る場合が多かった。しかし物理現象を正確に計算するた
めには複雑な機構に基づいた確率分布を導出して用いる
必要がある。例えば半導体デバイス特性解析の場合、電
子の運動量とエネルギーの関係を近似式を用いずに正確
に考えた場合に、電子が散乱する確率は電子の散乱前の
運動量とその散乱後の散乱方向に依存しており、その依
存性は波動関数の解が含まれているため単純に関数形で
表記出来ない。このような解析の例はフィジカルレヴュ
ー ビー、38(1988年)第9721頁から974
5頁(Physical ReviewB,38,(1988)pp972
1ー9745)に記載されている。そこでは計算時間の
節約のため電子の散乱前の運動量とその散乱後の散乱方
向に依存した散乱確率はテーブルとして記憶しており、
乱数によってテーブルを参照して散乱後の散乱方向を確
率的に選択している。
【0003】
【発明が解決しようとする課題】しかしながら上記従来
技術では、運動量空間が3次元であり、散乱の方向もま
た3次元であるため、6次元のテーブルを作る必要があ
り、記憶容量が膨大になるという問題点がある。また膨
大なテーブルを作成する計算コストも大きい。しかしな
がらテーブルを作らずに逐次計算する場合、関数が複雑
であるため効率的ではない。ところで、粒子の取りうる
運動量の分布は解析する例題に依存する。そこでテーブ
ル化の工夫するにより、記憶容量と計算量の削減が望ま
れる。本発明の目的はモンテカルロ法において複雑な関
数を含む場合でも、その精度を落とさずに高速化するシ
ミュレーション方法を提供することである。
【0004】
【課題を解決するための手段】上記目的を達成するため
に、入力データをもとに、関数演算を多数回繰り返す場
合に、頻繁に出現しうる変数範囲において、この方法
は、関数が特異点の近傍でなく、内挿または外挿により
精度良く近似出来る場合、特に有効である。システムに
より予め設定された判断基準に従って、テーブルを作成
する。テーブル作成後、乱数的に現われる具体的変数に
ついて関数値が必要になった時点において、テーブルの
参照が可能かどうかを判断し、可能である場合、テーブ
ルを参照して内挿または外挿計算を行なう。すなわちテ
ーブルを参照して計算する部分とテーブル化しないで逐
次計算する部分を組み合わせることによりモンテカルロ
法の計算の高速化及び効率化が実現される。
【0005】ところで、モンテカルロ法で計算する特性
は、計算の初期におおよそその特性が予測される場合、
前記方法により計算の高速化及び効率化が実現される
が、初期の段階で予測がつかない場合、または過渡的に
大きな特性変化が予想されている場合には、必ずしも計
算の高速化及び効率化が最適ではない。そこで、初期の
テーブル構成だけでは変数の現われ方の傾向をシステム
自身が分析して、必要に応じてテーブルの再構成を行な
うことによりモンテカルロ法の計算の高速化及び効率化
の最適化が実現される。
【0006】
【作用】上記のようにテーブル演算と逐次演算を組み合
わせることにより、全ての領域をテーブル化する従来法
に比べ記憶容量と計算時間の大幅な低減が可能である。
【0007】
【実施例】ここでは、半導体のデバイスシミュレータを
例にとり説明する。図1には本発明の一実施例のフロー
チャートを示す。すなわち初期値読み込み設定部101
において解析に必要な構造や電子、正孔などの粒子分布
の初期値を読み込み設定する。次に102において時刻
を設定し、自由飛行時間の設定103をする。自由飛行
時間中粒子はシステム内の電場により移動するので座標
及び波数の更新104及び境界条件処理105を行な
う。次に106にて粒子が結晶場の振動やポテンシャル
場や粒子同士の相互作用によって散乱される確率の計算
をする。各粒子各散乱機構について散乱確率テーブル参
照が可能かどうか判断し、可能なものはテーブル108
を使用してテーブル参照計算109を行ない、不可能な
ものは関数演算110を行なう。ポテンシャルは自由飛
行時間より長いある時間間隔毎に更新する。111にお
いてポテンシャルを更新する時刻になることを判断し、
更新時刻において各粒子の電荷を実空間上のメッシュ点
に割り付け112を行ない、ポテンシャル計算113を
行なう。解の収束を確認114をして、結果を計算出力
115をする。解析時刻の終わり116まで行なう。
【0008】本発明ではテーブルを参照して計算する部
分とテーブル化しないで逐次計算する部分を組み合わせ
ることにより、記憶容量の節減と計算の高速化を実現す
る。
【0009】図2には図1に示した実施例の散乱確率テ
ーブル108の構造を示す。離散的変数値21に対して
テーブル値22を計算する。離散的変数とは図1の実施
例の散乱確率テーブルでは粒子の運動量またはエネルギ
ーと、散乱機構の選択及び散乱方向の選択のために発生
された乱数である。散乱確率テーブル値とは散乱機構及
び散乱方向である。散乱確率は結晶場の振動やポテンシ
ャル場や粒子同士の相互作用によって起こるもので、結
晶場の相互作用を量子力学的に解いた解として、運動量
またはエネルギー及び散乱方向の関数で表わされる。
今、散乱確率をF(X,Y)と置く。一般にF(X,Y)は単純な解
析式では表現出来ないので選ばれた乱数に対して散乱機
構の選択及び散乱方向の選択を散乱確率テーブルを参照
することにより決定する。散乱確率テーブルは運動量ま
たはエネルギー、散乱機構、散乱方向と3つに階層化さ
れている。
【0010】ところで、散乱確率テーブルに必要とされ
る記憶容量について以下に論じる。半導体デバイス中の
ように粒子の挙動が結晶場のポテンシャルに束縛されて
いる場合の粒子の挙動をコンピュータシミュレーション
により解析する場合、その運動や散乱確率が本質的には
単純な解析式では表現出来ない。特に結晶場のバンド構
造を正しく取り入れた場合、粒子の散乱確率及びその方
向依存性の計算は非常に複雑になる。ところで、現実に
あるデバイスを2次元に近似した構造をポアソン方程式
と自己無撞着になるように解析しようとすると、必要と
なる粒子は1万程度、また、解が安定するまでに一般に
1粒子あたり1万程度の散乱の解析が必要である。すな
わち1回の解析において1億回程度の散乱の計算が必要
である。散乱確率及びその方向依存性は粒子の3次元的
な運動量の関数として与えられるもの、エネルギーの関
数として与えられるもの等がある。特に3次元的な運動
量の関数を考えた場合、散乱方向の依存性も考えると6
次元の精度の高いテーブルが必要になり、これを作成す
るためには、記憶容量が膨大になる。前記記載の従来例
においては運動量空間を約4万点に等分割して4億バイ
トの記憶容量を必要と記載されている。しかし4億(4
00メガ)バイトの記憶容量は最大級のコンピュターの
最大記憶容量に匹敵するため、この規模の散乱確率テー
ブルを使うシミュレータが多用されることは現状ではか
なり困難であろう。また、前記記載の従来例でも述べら
れているようにこの記憶容量でも計算精度は不十分であ
る。本発明においては単純に散乱確率テーブルを生成す
る従来の方法に対して出現頻度の多い運動量座標付近の
テーブル化が効率的になる散乱機構のみをテーブル化
し、テーブル化が効率的でない場合はその度ごとに計算
することに特徴がある。
【0011】図3に図1に示した前記実施例を1次元の
場合についてグラフに示したものである。すなわち変数
値に対して離散的な散乱確率テーブル点で関数演算した
テーブル値31があり、テーブル値から内挿出来る領域
32で内挿を行ない、その他の領域(テーブル化しない
領域33)は変数が現われて関数値が必要ならば具体的
に計算する。変数値としては運動量またはエネルギーを
とるならば、テーブル値として全散乱確率の値とする。
あるいは、変数値として散乱機構の選択のために発生さ
れた乱数をとるならば、変数値として各散乱機構の散乱
確率の値とする。あるいは、変数値として散乱方向の選
択のために発生された乱数をとるならば、テーブル値と
して散乱機構及び散乱方向の値とする。
【0012】図4は本発明の実施例におけるテーブル参
照計算109のための散乱確率テーブル値間の補間法の
一例を示したものである。109での計算のための補間
関数を初期値設定部101の一部で設定しておく。単純
な補間法としては線形補間があるが、記憶容量の制限か
ら線形補間に十分な間隔でテーブルを作ることが出来な
い場合もある。そのために初期値設定部101の中で、
まず、41で具体的変数からの関数演算の結果のテーブ
ル化と同時にテーブル変数値間の2次以上までの導関数
を計算する。次に42でテーブル値間に適切な補間曲線
が設定出来るかどうか判断を行ない、可能なときは43
で補間関数を設定する。テーブル値間が離れていると
き、またはテーブル化する領域としない領域との境い目
は、補間を行なわず、近傍のみをテーブル値での導関数
で表わした近似関数で表わせる場合は、44にてその近
傍の領域(近傍及び外挿領域)と近似関数を設定する。
特に高次の導関数による近似計算を考えることによりテ
ーブルの密度が少なくて済み、記憶容量が大幅に削減出
来る。実際、散乱の問題では散乱前の運動量空間3次
元、散乱後の運動量空間3次元、合計6次元を考える必
要があるため、限られた記憶容量ではテーブルの密度は
小さくならざるを得ないため、近似計算は非常に効率的
である。
【0013】図5は本発明の第2の実施例である。第2
の実施例では、テーブル化していない領域の変数である
かの判定51を行ない、テーブル化されてなければ、関
数計算をした後、散乱確率テーブルに書き込み追加52
をする。すなわち、テーブルが使える領域が計算の過程
で次第に増加する。散乱確率の計算では、3次元運動量
空間を考える必要があるが、運動量の大きい領域程、空
間を占める領域が大きくなるが、一般に粒子の存在確率
が非常に小さくなる。例えば衝突電離が起きるような領
域はシリコンの場合3次元運動量空間の過半数を占める
が、通常のMOSトランジスタ領域ではその領域に存在す
る粒子の確率は1万分の1以下である。そこで、このよ
うな例に対しては、低エネルギーの運動量でのみテーブ
ル化を行ない、解析の過程で高エネルギーの運動量を持
つ粒子が出現したときに、テーブルに書き込み追加すれ
ば、粒子の出現しない運動量空間領域のテーブルを作る
必要がないため、計算の無駄を省くことが出来る。テー
ブル化していない領域をテーブル化するのに制約条件を
付けることも可能である。例えば、変数すなわち運動量
空間領域をあらかじめ指定しておき、粒子が出現するこ
とはあっても再び出現する確率の少ない高エネルギー領
域でのテーブル化を除外し、部分領域に粒子の出現が一
定頻度以上であることを確認して初めてテーブル化をす
るようにすれば、更に計算量が低減出来、記憶容量も節
約出来る。
【0014】図6は図5に示した実施例を変形した第3
の実施例である。本実施例では、第2の実施例に対し
て、更に散乱確率テーブルの再構成を行なうものであ
る。図5のようにテーブルを時間とともに追加していく
場合、必ずしも最適なテーブル構成となるとは限らな
い。そこで、予め設定していしたある時間間隔かまたは
記憶領域に余裕が無くなるなどの解析過程での要因によ
り、テーブルの再構成を行なう。テーブルの再構成の判
断基準としてテーブルの補間精度62と変数の出現頻度
63がある。内挿計算を行なうためにはテーブルはある
間隔以下である必要であるが、必要以上に間隔が狭けれ
ばテーブルを削減出来る。また、部分領域における変数
の出現頻度を見直し、一度テーブルを作ったが、その後
の領域での出現頻度が少ない場合、64においてテーブ
ル値の一部を消去し、テーブルを再構成する。
【0015】図7には本発明における散乱確率テーブル
の管理方法の一実施例を示す。n次元変数空間をメッシ
ュ分割することによりメッシュ71毎にテーブル点72
を管理する。具体的変数値に対してテーブルを参照する
とき、具体的変数値が例えば3次元運動量空間であれば
参照すべきテーブルの探索の効率化は重要課題である。
メッシュ分割することにより探索を階層的に行なえるた
め、工数削減が出来る。特に本発明の第3の実施例の場
合メッシュ毎にメッシュ内の変数すなわち運動量を持つ
粒子の出現頻度を記録することにより、テーブルの再構
成のための部分領域として用いることが出来る。
【0016】図8は図7に対応した散乱確率テーブルの
構造の一例を示す。メッシュ番号81毎にサブ番号82
を設けて管理を行なうことにより対応するテーブルの参
照が効率化出来る。
【0017】また、図9は図7において散乱確率テーブ
ル化のために具体的に計算が必要になった新しい変数点
91を関数演算する代わりに、あらかじめメッシュ92
単位にテーブル化する93のようなテーブル化するため
の離散化した点を設定しておき具体的に計算が必要にな
った変数値で関数演算をしてテーブルを作成するもので
ある。このようにするとテーブル化する点を決めること
によりテーブルの管理が容易になる。
【0018】図10には前記実施例と従来法の演算量を
比較したして前記実施例の効果を示す。従来法では毎回
演算する場合202のように変数参照回数に比例して累
積演算量が増加する。テーブル化をする場合、203の
ように始めにテーブル化のために多くの計算を必要とす
るが、その後は1次の増加を示す。その増加の傾きは毎
回演算する場合に比べ小さいものの出現頻度が少ない領
域にたいしても散乱確率テーブルを使っているため非効
率的であるため高速化は不十分である。一方前記実施例
では関数演算を繰り返しながら散乱確率テーブルを形成
するもので、201のように始めは関数演算を繰り返し
テーブルを形成するので変数参照回数当たりの計算量が
多いが次第にテーブルを参照するようになるので次第に
演算量が減る。
【0019】
【発明の効果】本発明によれば乱数的変数による複雑な
関数演算を含むモンテカルロ法を高速化出来、それに伴
い物理現象理解の促進が期待される。
【図面の簡単な説明】
【図1】本発明に係わる一実施例のフローチャート
【図2】実施例のテーブルの構造
【図3】実施例を1次元の場合に適用したグラフ
【図4】実施例に於けるテーブル補間法の一例
【図5】本発明の第2の実施例のフローチャート
【図6】本発明の第3の実施例のフローチャート
【図7】本発明におけるテーブル管理方法の一実施例
【図8】図7に対応したテーブル構造の一例
【図9】図7において候補点を設定して散乱確率テーブ
ルを作成するもの
【図10】前記実施例と従来法の演算量の比較である
【符号の説明】 106…散乱確率計算、107…各粒子各散乱機構につ
いて散乱確率テーブル参照が可能かどうかの判断、10
8…テーブル、109…テーブル参照計算、110…関
数演算。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】モンテカルロ法によって、事象ごとにラン
    ダムな変数により関数演算を多数回繰り返す必要がある
    シミュレータシステムにおいて、関数演算が複雑な場合
    に高速化を図るためのテーブル化を行う機能を備え、か
    つテーブル化をする部分としない部分を混在させて計算
    の効率化を図ることを特徴とするモンテカルロシミュレ
    ーション方法。
  2. 【請求項2】請求項1記載の手法において、テーブル変
    数値での関数値及び1次あるいは多数次の導関数値をテ
    ーブル変数値から計算することにより、テーブル変数値
    の近傍の変数値での関数値を、テーブル値間の内挿及び
    テーブル値領域の外側の外挿により求めることを特徴と
    するモンテカルロシミュレーション方法。
  3. 【請求項3】請求項1記載の手法において、変数領域の
    一部のみをテーブル化して、テーブル化されていない領
    域においては、具体的変数からの関数演算の結果を、計
    算が進み必要になった時点で計算して、テーブルに追加
    することを特徴とするモンテカルロシミュレーション方
    法。
  4. 【請求項4】請求項1記載の手法において、変数の領域
    を空間メッシュ分割することにより各メッシュごとにテ
    ーブルを管理、参照をする機能を含むことを特徴とする
    モンテカルロシミュレーション方法。
  5. 【請求項5】請求項4記載の手法において、テーブル化
    されていない領域にある特定の変数値に対する関数値を
    求めるときに、新たにその変数値を含む領域をテーブル
    化する場合、テーブル化するための離散化した点を設け
    て関数値を求めることにより、テーブル管理を容易にす
    るステップを含むことを特徴とするモンテカルロシミュ
    レーション方法。
  6. 【請求項6】請求項4記載の手法において、変数の値の
    分布が一様でない場合変数の現われ方から判断して、自
    己組織的にテーブルの構造を再編成する機能を含むこと
    を特徴とするモンテカルロシミュレーション方法。
JP3247297A 1991-09-26 1991-09-26 モンテカルロシミユレーシヨン方法 Pending JPH0589160A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3247297A JPH0589160A (ja) 1991-09-26 1991-09-26 モンテカルロシミユレーシヨン方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3247297A JPH0589160A (ja) 1991-09-26 1991-09-26 モンテカルロシミユレーシヨン方法

Publications (1)

Publication Number Publication Date
JPH0589160A true JPH0589160A (ja) 1993-04-09

Family

ID=17161337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3247297A Pending JPH0589160A (ja) 1991-09-26 1991-09-26 モンテカルロシミユレーシヨン方法

Country Status (1)

Country Link
JP (1) JPH0589160A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744421A (ja) * 1993-07-27 1995-02-14 Nec Corp ソフトウェアシミュレータ
JP2002032564A (ja) * 2000-07-19 2002-01-31 Toshiba Corp ディーリングシステム及び記録媒体
JP2007213142A (ja) * 2006-02-07 2007-08-23 Mitsubishi Electric Corp 移動模擬装置
US7552076B1 (en) 1999-08-27 2009-06-23 Kabushiki Kaisha Toshiba System for evaluating price risk of financial product or its financial derivative, dealing system and recorded medium
CN117593486A (zh) * 2024-01-19 2024-02-23 中国空气动力研究与发展中心计算空气动力研究所 一种基于空间粒子的网格重构方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744421A (ja) * 1993-07-27 1995-02-14 Nec Corp ソフトウェアシミュレータ
US7552076B1 (en) 1999-08-27 2009-06-23 Kabushiki Kaisha Toshiba System for evaluating price risk of financial product or its financial derivative, dealing system and recorded medium
US7865418B2 (en) 1999-08-27 2011-01-04 Kabushiki Kaisha Toshiba Price and risk evaluation system for financial product or its derivatives, dealing system, recording medium storing a price and risk evaluation program, and recording medium storing a dealing program
JP2002032564A (ja) * 2000-07-19 2002-01-31 Toshiba Corp ディーリングシステム及び記録媒体
JP2007213142A (ja) * 2006-02-07 2007-08-23 Mitsubishi Electric Corp 移動模擬装置
CN117593486A (zh) * 2024-01-19 2024-02-23 中国空气动力研究与发展中心计算空气动力研究所 一种基于空间粒子的网格重构方法和装置
CN117593486B (zh) * 2024-01-19 2024-04-09 中国空气动力研究与发展中心计算空气动力研究所 一种基于空间粒子的网格重构方法和装置

Similar Documents

Publication Publication Date Title
US7783465B2 (en) Parallel multi-rate circuit simulation
Colbrook et al. Computing spectral measures of self-adjoint operators
Slepoy et al. A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks
Kawamura et al. Physical and numerical methods of speeding up particle codes and paralleling as applied to RF discharges
US9697307B2 (en) Discrete element method
US7206731B2 (en) Electromagnetic/circuit co-simulation and co-optimization with parametric layout components
US7840931B2 (en) Loop manipulation if a behavioral synthesis tool
Su et al. In-situ bitmaps generation and efficient data analysis based on bitmaps
Frigo et al. The memory behavior of cache oblivious stencil computations
Das et al. Slicing analysis and indirect accesses to distributed arrays
Chu et al. A quadratic programming approach to simultaneous buffer insertion/sizing and wire sizing
Yankov Analysis of Reactor Simulations Using Surrogate Models.
JPH0589160A (ja) モンテカルロシミユレーシヨン方法
EP0644497B1 (en) Method and system for dividing analyzing region in device simulator
Palaniswamy et al. Improved threshold logic synthesis using implicant-implicit algorithms
Roy et al. A Comparative Analysis of Three Different Types of Searching Algorithms in Data Structure
US9348957B1 (en) Repetitive circuit simulation
GB2354096A (en) Obtaining design parameters for satisfying multiple constraints and/or optimizing multiple objective functions
Wu et al. FBDD: A folded logic synthesis system
Singh et al. A geometric programming-based worst case gate sizing method incorporating spatial correlation
Aupperle et al. State space generation for degradable multiprocessor systems
Hyman et al. Interactive and dynamic control of adaptive mesh refinement with nested hierarchical grids
Zhao et al. Generational garbage collection policies
McDonald et al. Improving file system performance by dynamically restructuring disk space
Pena et al. Understanding data access patterns using object-differentiated memory profiling