"コンピュータデバイスにおける初期化されるメモリ領域を示す指示に応答して、該メモリ領域の初期化を該コンピュータデバイスの第2処理要素に処理させるための、少なくとも該コンピュータデバイスの第1処理要素によって実行可能なプログラム命令を記憶する、非一時的なコンピュータ読み取り可能な媒体。前記メモリ領域の指示が、第1プログラムから、前記第1処理要素によって実行される制御プログラムにより受付けられる、請求項1の非一時的なコンピュータ読み取り可能な媒体。前記制御プログラムが、前記第1プログラムを実行している、請求項2の非一時的なコンピュータ読み取り可能な媒体。前記指示は、前記制御プログラムで処理可能な1以上のデータオブジェクトに対応したメモリの1以上のメモリ領域を指定しており、前記1以上のメモリ領域のすべての内容を埋める処理がさらに含まれている、請求項2の非一時的なコンピュータ読み取り可能な媒体。前記制御プログラムは、ガーベジコレクションプロセスの一部として、初期化される複数のメモリ領域を示す複数の指示を生成する処理と、前記複数のメモリ領域に対する初期化を前記第2処理要素に行わせる処理とをさらに含み、前記初期化には、前記複数のメモリ領域のすべての内容を、プログラミング言語の言語仕様にしたがって指定されたデフォルトの内容で埋める処理が含まれる、請求項4の非一時的なコンピュータ読み取り可能な媒体。前記制御プログラムは、前記非一時的なコンピュータ読み取り可能な媒体に記憶された1以上のライブラリファイルを有し、かつ、前記指示を受付ける前記制御プログラムは、アプリケーションプログラミングインタフェースAPIを介して前記指示を受付ける前記制御プログラムを有する、請求項2の非一時的なコンピュータ読み取り可能な媒体。前記初期化処理には、前記メモリ領域の内容を変更するために前記第2処理要素によって実行可能な1以上の命令からなる命令群の少なくとも一部を動的に生成する処理が含まれている、請求項1の非一時的なコンピュータ読み取り可能な媒体。前記メモリの初期化処理を前記第2処理要素に行わせる処理には、前記コンピュータシステムのキャッシュに前記初期化されたメモリ領域の初期化後の内容を記憶させることが含まれず、かつ、前記キャッシュは、前記第1処理要素が、前記メモリ領域を有する前記コンピュータシステムのメモリにアクセスするのに応答して、前記メモリ領域の内容を記憶するように構成されている、請求項1の非一時的なコンピュータ読み取り可能な媒体。前記第1処理要素および前記第2処理要素の少なくとも一方を生成するために実行可能なプログラム命令をさらに有する、請求項1の非一時的なコンピュータ読み取り可能な媒体。第1処理要素と、第2処理要素と、メモリ領域を含むメモリとを備えたコンピュータデバイスにおける初期化される該メモリ領域を示す指示に応答して、前記第1処理要素で実行されている第1プログラムが、該メモリ領域の初期化を前記第2処理要素に処理させる、方法。前記第1処理要素が前記メモリ領域へ直接アクセスすることなく、前記第2処理要素が、ダイレクトメモリアクセスDMAを用いて前記メモリ領域を初期化する処理、をさらに含む、請求項10の方法。前記指示を生成する前記第1プログラム内においてガーベジコレクションプロセスをさらに含む、請求項10の方法。前記第1プログラムは制御プログラムであって、前記第2処理要素が、前記制御プログラムの1以上のヒューリスティックな規則にしたがって前記メモリ領域を初期化する処理、をさらに含む、請求項10の方法。前記コンピュータデバイスが、前記メモリ領域が初期化されるのに応答して、前記コンピュータデバイスのデータキャッシュの1以上の部分であってメモリ領域初期化前の前記メモリ領域の内容に対応する該部分を無効化する処理、をさらに含む、請求項10の方法。メインメモリを有するメモリサブシステムと、2次記憶装置と、少なくとも第1および第2処理要素と、を有するコンピュータシステムであって、前記2次記憶装置には、初期化される前記メインメモリのメモリ領域を示す指示に応答して、該メモリ領域の初期化を前記第2処理要素に処理させるように前記コンピュータシステムを動作させるための、前記第1処理要素によって実行可能なプログラム命令、が記憶されている、コンピュータシステム。前記第1処理要素と、前記第2処理要素とは異機種である、請求項15のコンピュータシステム。前記第1処理要素と関連付けられたキャッシュをさらに有し、前記キャッシュは、前記第1処理要素による前記メインメモリへのアクセスに応答して該メインメモリの内容を記憶するように構成され、前記メモリ領域の初期化が行われたとき、前記メモリ領域の初期化後の内容が前記キャッシュに記憶されない、請求項15のコンピュータシステム。前記第2処理要素に対して前記メインメモリへの直接アクセスを許可するように構成されたメモリアクセスコントローラをさらに有し、メモリ領域の初期化には、前記第2処理要素が前記メモリアクセスコントローラを用いて前記メモリ領域にアクセスすることが含まれ、前記第1処理要素が前記メモリ領域にアクセスすることが含まれない、請求項15のコンピュータシステム。処理要素であって、メモリデバイスのメモリ領域の初期化を第2処理要素に処理させるように構成されたメモリ初期化回路を有し、前記メモリ領域を初期化する指示に応答して、前記初期化を第2処理要素に処理させる処理を行う、処理要素。コンピュータシステムで実行可能なプログラムによって利用可能なデータ構造であって、該データ構造によって記述された回路を有する集積回路を製造するプロセスの一部を行うためのデータ構造、を有する非一時的なコンピュータ読取り可能な記憶媒体であって、メモリデバイスのメモリ領域の初期化を、コンピュータデバイスの第1処理要素ではなく該コンピュータデバイスの第2処理要素に行わせるように構成されたメモリ初期化ユニットを有し、前記初期化を前記第2処理要素に行わせる処理が、前記メモリ領域を初期化する指示に応答して行われる、非一時的なコンピュータ読取り可能な記憶媒体。HDLデータ、VerilogデータおよびGDSIIデータの少なくともいずれかを記憶している、請求項20の非一時的なコンピュータ読取り可能な記憶媒体。さらに、メモリの初期化処理は、プロセッサと関連付けられたキャッシュに混乱を生じさせることがある。キャッシュ性能は、キャッシュの内容がメモリの初期化の間にキャッシュから移動されるので、プロセッサによって負の影響を受けることがある。例えば、キャッシュのメモリ領域の初期化が開始される以前からの既存の内容の幾つかまたはすべてが、初期化されるメモリ領域の内容によって置き換えられることもありうる。このような置換では、それまでキャッシュ内に存在していたデータを取得するために他のメモリが続けてアクセスされることがあるため、プログラムの実行が遅くなることがある。コンピュータシステムまたは計算装置が、あるメモリ処理を第1処理要素から第2処理要素へ分散することを可能とする方法および構造の様々な実施形態がここに開示される。記載された一実施形態において、コンピュータデバイスの初期化されるメモリ領域を示す指示を受付けることと、この受付に対応してメモリ領域の初期化をコンピュータデバイスの第2処理要素に処理させることとを含む処理を、コンピュータデバイスの少なくとも第1処理要素によって実行可能なプログラム命令を有する、コンピュータ読み取り可能な媒体が開示されるここで、プログラム命令はコンピュータ読み取り可能な媒体に記憶されている。さらなる実施形態においては、当該指示は、第1処理要素によって実行される制御プログラムから受付ける。別の実施形態は、コンピュータデバイスの初期化されるメモリ領域を示す指示を受付ける第1プログラムを含み、当該第1プログラムをコンピュータデバイスの第1処理要素で実行し、第1プログラムが、当該受付に対応して、メモリ領域の初期化をコンピュータデバイスの第2処理要素に処理させる方法を含む。さらなる実施形態においては、第2処理要素は、第1処理要素によるメモリ領域への直接アクセスを伴わずにメモリ領域を初期化するために、ダイレクトメモリアクセスDMAを利用する。さらに別の実施形態は、メインメモリを有するメモリサブシステムと、2次記憶装置と、少なくとも第1および第2処理要素と、を有するコンピュータシステムであって、前記2次記憶装置には、初期化されるメモリ領域を示す指示をコンピュータシステムに受付けさせるための、第1処理要素によって実行可能なプログラム命令が記憶され、メモリ領域は前記メインメモリ内に存在し、かつ、前記受付けに応答して、メモリ領域の初期化をコンピュータデバイスの前記第2処理要素に処理させるコンピュータシステムである。さらなる実施形態においては、コンピュータシステムは、前記第1処理要素と関連付けられたキャッシュを有し、前記キャッシュは、前記第1処理要素による前記メインメモリへのアクセスに応答して前記メインメモリの内容を記憶するように構成され、かつ、前記メモリ領域の初期化を前記第2処理要素に処理させることは、前記キャッシュが前記メモリ領域の初期化後の内容を記憶することをもたらさない。この明細書は、一実施形態oneembodimentまたは実施形態anembodimentなる記載を含んでいる。一実施形態においてinoneembodimentまたは実施形態においてinanembodimentというフレーズが出現しても、同一の実施形態を意味するとはかぎらない。ある特徴、構造または特性は、この開示と整合性のある任意の適切な態様において組み合わせられてもよい。用語この開示添付の請求項を含むにみられる用語の定義および/または文脈について、以下の数段落で述べておく。含む有するComprisingまたは含む備えるIncludingについて。これらの用語はオープンエンドな用語である。添付した請求項において用いられているとおり、これらの用語は追加的な構造またはステップを排除するものではない。1以上の処理要素を有する装置に言及している請求項を考えてみると、このような請求項は追加的な構成要素例えば、ネットワークインタフェースユニット、グラフィクス用回路等を有するということから当該装置を排除するものではない。ように構成されたConfiguredToについて。様々なユニット、回路またはその他の構成要素が、1つまたは複数のタスクを行うように構成されているというように記載されることがある。このような文脈において、ように構成されたは、当該ユニット/回路/構成要素が、動作中に当該1つまたは複数のタスクを行う構造例えば回路を備えている、ということを示すことによってその構造を特定するために用いられている。そのようなわけで、当該ユニット/回路/構成要素は当該具体的なユニット/回路/構成要素が現在動作中でない例えば、オンにされていない場合であっても当該タスクを行うように構成されているということもできる。ように構成された表現と合わせて用いられるユニット/回路/構成要素は、ハードウェア例えば回路や、処理を実施するために実行可能なメモリ記憶プログラム命令等を含む。ユニット/回路/構成要素が1以上のタスクを行うように構成されているという表現は、当該ユニット/回路/構成要素について米国特許法第112条第6パラグラフの適用の問題が生じないようにすることを明示的に意図したものである。追加的に、ように構成されたは、ソフトウェアおよび/またはファームウェア例えば、フィールドプログラマブルゲートアレイFPGAまたは汎用プロセッサが実行するソフトウェアによって操作される総称的な構造例えば総称的回路を含むことができる。さらに、ように構成されたは、問題となるタスクまたは複数のタスクを行うことができるような態様にて動作するために1以上のタスクを実装しまたは行うように構成されたデバイス例えば、集積回路を製造するための製造工程例えば、半導体製造施設を適合させることを含んでもよい。処理要素ProcessingElementについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、コンピュータ命令を実行することができるデバイス例えば回路またはデバイスの組合せを含む。処理要素は、様々な実施形態において、シングルコアプロセッサ、マルチコアプロセッサのコアの1つ、または、マルチコアプロセッサの2以上のコアからなるグループをさす。プロセッサProcessorについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、1以上の処理要素を備えたデバイスを含む。プロセッサは、以下のものに限定する趣旨ではないが、中央演算処理装置CPU、コプロセッサ、演算処理装置、グラフィックス処理装置、デジタルシグナルプロセッサDSP等をさすことがある。第1first、第2second等について。ここに用いられているように、これらの用語は当該用語に先行された名詞に付したラベルとして用いられており、どのような形式であれ順序例えば、空間的、経時的、論理的順序等を示唆するものではない。例えば、8つの処理要素またはコアを有するプロセッサにおいては、第1処理要素および第2処理要素という用語は当該8つの処理要素のうちの任意の2つの処理要素を指示するために用いられることができる。換言すれば、第1処理要素および第2処理要素は論理的な処理要素0および1に限定されるものではない。コンピュータComputerまたはコンピュータシステムComputerSystemについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、一緒に動作する1以上のコンピュータデバイスおよびそれらが有する任意のソフトウェアを含む。コンピュータデバイスは、1以上の処理要素およびメモリサブシステムを含む。メモリサブシステムは、様々なタスクを行うために1以上の処理要素により実行可能なプログラム命令を記憶してもよい。コンピュータ読み取り可能な媒体Computer-readableMediumについて。ここに用いられているように、この用語は、コンピュータまたはコンピュータシステムによって読み取り可能な非一時的かつ有形的な媒体をさし、ハードドライブ、光ディスク、DVD、揮発性または不揮発性RAMデバイス、ホログラフィックストレージ、プログラマブルメモリ等の磁気、光学式および半導体記憶媒体が含まれる。コンピュータ読み取り可能な媒体との関連で用いられる非一時的なnon-transitoryという用語は、もっぱら、一時的な無形な媒体例えば、搬送波のような、米国特許法第101条の規定により適格性を有しないとされる任意の主題を請求の範囲から除外することを意図したものであって、法定の要件を具備する他の任意の主題を除外することを意図するものではない。オペレーティングシステムOperatingSystemについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、コンピュータシステムのリソースへのアクセスを例えばアプリケーションからの要求に応答して制御するプログラムまたはプログラム群を含む。幾つかの実施形態においては、オペレーティングシステムは通信デバイス、ストレージデバイス等のI/Oデバイスへのアクセスを制御する。ここに記載したように、オペレーティングシステムは、ある実施形態において、第2処理要素にメモリの初期化を行わせるために実行可能な命令を含む。キャッシュCacheについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、メモリまたはデータを保存するその他のストレージを含み、幾つかの他のメモリまたはストレージと比較してより高速なアクセスを提供することでこのようなデータのための将来の要求を改善することができるものである。コンピュータシステムに動作ないし演算を行わせるCausingaComputerSystemtoPerformOperationsについて。プログラム命令の実行は、コンピュータシステムに動作を行わせるとして記載または主張されてもよい。この語句は広く解釈されるべきであって、実行されると対象動作を行う命令や、実行されると当該動作が行われるコードをインストールまたは作成する命令が含まれる。例えば、コンピュータ読み取り可能な媒体は、コンピュータシステムにメモリ領域に対するメモリ初期化をコンピュータシステムの第1処理要素からコンピュータシステムの第2処理要素へ分散させるために実行可能な命令を含んでもよい。実行可能なExecutableについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、1以上のある処理要素すなわちあるインストラクションセットアーキテクチャISAと関連付けされたフォーマットにおける命令を含むが、また、処理要素のISAのための命令を生成するために制御プログラム例えばJAVA登録商標仮想マシンによって解釈されることができる中間フォーマット例えば、JAVA登録商標バイトコードでの命令を含む。この定義にしたがい、第1処理要素で実行されるプログラムは、当該第1処理要素によって実行される命令の少なくとも幾つかを含む当該プログラムの他の命令は別の処理要素によって実行されてもよいが。プログラムの実行はまた、プログラムの解釈を含む。アプリケーションプログラミングインタフェースAPIについて。この用語は、技術分野において通常用いられかつ受容された語義を有し、ソフトウェアが他のソフトウェアとやりとりをすることを可能にするインタフェースを含む。プログラムは、アプリケーション、ライブラリルーチン、オペレーティングシステム等の機能を利用するためのAPI呼び出しを作成してもよい。ここに記載したように、コンピュータプログラムは、コンピュータメモリをあるデータで初期化する埋めることで当該メモリにそれまで記憶されていたデータを消去するという必要性を有することがある。幾つかの実施形態においては、メモリを初期化するという必要性は、新たなメモリの割り当てを受付ける要求にしたがって生じることがある。一実施形態においては、他のJAVA登録商標プログラムを動作させるために用いられるJAVA登録商標仮想マシンJVMプログラムは、JAVA登録商標プログラムがメモリ領域をブランクのデフォルトデータで利用を開始することができるように、これらのメモリ領域をゼロで埋めるzeroout。別の実施形態においては、オペレーティングシステムは、例えば、ユーザプログラムが当該メモリにアクセスすることを許可する前にメモリ領域をすべてゼロで上書きすることもできる幾つかの実施形態においては、消去されたデータは、パスワード、クレジットカード番号またはオペレーティングシステムがユーザプログラムにアクセスできることを望まないような他のデータを保持していたと考えることもできる。他のタイプのプログラムによる多くの他の種類のメモリ初期化も想定しうるので、この開示はJVMまたはオペレーティングシステムソフトウェアに限定されるものではない。初期化中にメモリ領域を埋めるデータは、すべてゼロであってもよいが必須ではない点については後述するとおりである。一実施形態においては、コンピュータシステムは、中央演算処理装置CPUといった、例えば汎用命令を実行するように構成された第1プロセッサを有している。コンピュータシステムはまた、グラフィックス処理装置GPUといった、グラフィックス命令等の専用命令を実行するように構成された第2プロセッサを有している。他の実施形態においては、第1プロセッサまたは処理要素は、CPUおよびGPU双方の機能性を単一デバイス、パッケージまたは集積回路内に有してもよい。コンピュータシステムはまた、メモリサブシステムを有している。一実施形態において、コンピュータシステムは、所定の命令シーケンスが前記第2のプロセッサによって行われるように構成されているすなわち、プログラムされている。これらの命令シーケンスは、第1プロセッサによって実行される命令によって生成されてもよく、メモリの初期化ルーチンを含むことができる。したがって、第1プロセッサは、第2プロセッサが初期化を行っている間は他のタスクを自由に行うことができる例えば、初期化されるメモリ領域が直ちに必要とされなければ、第1プロセッサは、第2プロセッサがメモリの初期化を行っている間、プログラムの実行を継続することができる。第1プロセッサのパフォーマンスを改善させることに加えて、ここに開示した技術は、例えばキャッシュからのデータの移動を避けることにより、第1プロセッサと関連付けられたデータキャッシュのパフォーマンスを改善させることもできる。次に図1を参照すると、メモリの初期化を第1処理要素から第2処理要素へ分散させるように構成されたコンピュータシステム10の一実施形態が図示されている。コンピュータシステム10は、バス20を介して連結された第1処理要素100Aと第2処理要素100Bとを有している。一実施形態においては、バス20により、処理要素100Aおよび処理要素100Bはメモリサブシステム60内の1以上のメモリ領域64にアクセスすることができる。メモリサブシステム60は、様々なプログラム62を格納することができ、そのようなプログラムの幾つかは、処理要素100Bを用いてメモリを初期化することを要求しまたは初期化をさせるために実行可能なプログラムである。追加的に、図1においては視覚的に区別できる構成要素として図示されているが、メモリサブシステム60の一部またはすべては、処理要素100A、処理要素100Bの回路の一部、または、処理要素100Aおよび処理要素100Bの双方を備えた単一のデバイスの一部をなしてもよい。一実施形態においては、キャッシュ30は、処理要素100Aからアクセス可能であって、メモリサブシステム60に保存されたデータに対応するデータを保存するように構成されている。一実施形態においては、メモリアクセスコントローラ75は、処理要素100A、処理要素100B、メモリサブシステム60の任意の組合せに接続されるまたはその内部に実装されことができ、また、バス20に接続されてもよい。コンピュータシステム10は、様々な実施形態において異なる態様にて構成され得る。処理要素100Aおよび処理要素100Bは、任意のタイプのプロセッサ例えば、中央演算処理装置、演算処理装置、グラフィックス処理装置、デジタル信号処理装置等に相当してまたはその内部に配置されてもよい。一実施形態においては、処理要素100Aは中央演算処理装置または1以上のコアからなるグループであり、処理要素100Bは異なるタイプの処理装置、例えば、グラフィックス処理装置1以上のコアを有してもよいである。幾つかの実施形態においては、処理要素100Aおよび処理要素100Bのいずれかまたは双方は、複数のコアを有してもよい。他の実施形態においては、処理要素100Aおよび処理要素100Bは、同一チップ上に配置された1以上のプロセッサコアからなる異なるグループとされてもよい。処理要素100Aおよび処理要素100Bは、幾つかの実施形態においては、様々な処理要素からなるクラスタまたはグループで構成されてもよい例えば、処理要素100Aは2つのクアッドコアプロセッサからなるグループとされることができる。一実施形態においては、処理要素をメモリサブシステム60に接続するバス20は、ノースブリッジバス、任意の他のプロセッサバスまたは当業者に公知のプロセッサ相互接続部であってもよい。バス20は、一実施形態においては、同一チップ上に配置されてもよい1以上のグループのプロセッサコア間の相互接続部である。バス20は、単一のバスまたは相互接続部に限定される必要はなく、1以上のバス、2地点間相互接続部、またはここに記載した構造体にデータを伝達するのに適したその他の通信経路および通信装置の任意の組合せであってもよい。メモリサブシステム60は、1以上のメモリデバイスを備えている。様々な実施形態において、これらのメモリデバイスは、RAMモジュール、組込みメモリ例えばeDRAM、ソリッドステート記憶デバイス、ハードドライブといった2次記憶装置または上記定義のとおりその他の任意のコンピュータ読み取り可能な媒体で構成されてもよい。一実施形態においては、メモリサブシステム60は、当該メモリサブシステム60における1以上のメモリデバイス内に1以上のメモリ領域64を備えている。メモリ領域64は固定サイズまたは固定ロケーションである必要はなく、これに代えて任意の開始位置または開始アドレスおよび終了位置または終了アドレスを含むメモリの1以上の部分をさすものであってもよい。このように、具体的な一実施形態においては、第1メモリ領域はサイズが4000KBの一連のメモリロケーションであってもよく、他方、第2メモリ領域はサイズが32KBの一連のメモリロケーションであってもよい。一実施形態においては、メモリ領域64は、複数のメモリデバイスにわたってまたは複数タイプのメモリデバイスにわたって、例えば、単一のメモリ領域がRAMモジュールとハードドライブとの記憶スペースで構成されるように構成されてもよい。メモリ領域は、物理的または論理的に連続的であってもよく、連続的でなくてもよい。メモリサブシステム60とそのメモリ領域は、処理要素100Aによってアクセス可能とされている。例えば、処理要素100Aは、バス20を介してメモリサブシステム60からデータを取得またはデータをメモリサブシステム60に保存してもよい。様々な実施形態において、以下に説明するように、メモリサブシステム60はまた、処理要素100Bによってもアクセス可能とされている。様々な実施形態において、メモリサブシステム60は、1以上のプログラム62を記憶している。プログラム62または複数のプログラムは、コンピュータシステム10上で実行可能な任意のプログラムまたは複数のプログラムとされてもよい。このように、様々な実施形態において、プログラム62は、Java登録商標仮想マシンJVM、オペレーティングシステム、APIライブラリ、JVMまたはオペレーティングシステム上で動作するユーザプログラム等であってもよい。様々な実施形態において、プログラム62は、以下にさらに議論するように、メモリの初期化を処理要素100Aから処理要素100Bへ分散させる機能を有することができる。メモリアクセスコントローラ75は、一実施形態においてはメモリサブシステム60に接続されており、様々な実施形態においてメモリサブシステム60の制御、管理、調整および/または処理要素100からメモリサブシステム60へのメモリアクセスの許可を行うように構成されている。メモリアクセスコントローラ75は、一実施形態においてはダイレクトメモリアクセスDMAコントローラであり、処理要素100Aおよび/または処理要素100Bと同一チップ上に配置されてもよい。様々な実施形態において、メモリアクセスコントローラ75は、処理要素100Aによって警告、通知を受けまたは権限を付与された場合を除いて処理要素100Bがメモリ領域64にアクセスすることを制限してもよいこのような場合には、アクセスコントローラ75はメモリサブシステム60の領域の幾つかまたはすべてへのアクセスを許可してもよい。メモリアクセスコントローラ75は、一実施形態においてバス20を使用しおよび/またはバス20に接続されてもよい。キャッシュ30は、処理要素100Aによりアクセス可能とされており、メモリサブシステム60に対応するデータを保持するように構成されたキャッシュを有している。キャッシュ30は、このようにして、当該データへの処理要素100Aの高速アクセスを提供するために、メモリサブシステム60に保存されたデータのサブセットを保持するように構成されてもよい。様々な実施形態において、キャッシュ30は、L1キャッシュ,L2キャッシュ,L3キャッシュまたはその他のキャッシュを含む階層型キャッシュシステムを含んでもよい。キャッシュ30は、様々な実施形態において処理要素100A内に部分的または完全に配置されてもよく、あるいは、処理要素100Aの外部に部分的または完全に配置されてもよい例えば、一実施形態においては、キャッシュ30は処理要素100A内のL1キャッシュおよび処理要素100Aの外部のL2キャッシュとで構成されている。所定の処理要素と関連付けられたキャッシュは、当該処理要素によってアクセスされるように構成されている。幾つかの例においては、キャッシュ処理によって、キャッシュ30に既に記憶されていたデータが他のデータと置換されるまたは他のデータによって置換されることがある。幾つかの実施形態においては、処理要素100Aがメモリサブシステム60のメモリ領域に直接アクセスする際には、アクセスされたデータを記憶するためにキャッシュ30の一部が用いられることになろう。例えば、もし処理要素100Aがメモリサブシステム60に直接アクセスしてメモリ領域64を初期化するのであれば、キャッシュ30内の既存データが当該メモリ領域のための新たに初期化されたデータによって移動されることが考えられる。キャッシュから移動されたデータはアクセスに時間がかかることもあり、これにより実行時間が長くなりうる。例えば、以下のCコードを考えてみるとよい:intCABintFreespacemallocECこのコードではコンパイルおよび実行されると、キャッシュされる変数Cのためのデータ値が最初にもたらされる。次いで、malloc関数の呼び出しによりメモリ8192バイト分の初期化が生じると考えられ、キャッシュからCのための値が移動される。次の命令Cの値を変数Eに割り当てる命令が実行されると、キャッシュはミス外れとなり、より低レベルのキャッシュまたはより離隔したメモリから変数Cの値を取得しなければならなくなり、遅延が生じる。もしCの値が最初の段階でキャッシュから移動されていなかったとすれば、この遅延は回避し得たのであって、パフォーマンスがスピードアップしていたかもしれない。キャッシュ30についてのデータの移動/置換は、様々な実施形態において、LRUleastrecentlyused方式の置換を含む、当業者が考えうる任意の数のハードウェアまたはソフトウェアスキームを含む置換ポリシーによって規律されてもよい。次に図2Aを参照すると、初期化前のメモリ領域64の一例が図示されている。図示されているように、メモリ領域64は、複数のメモリロケーションロケーション212-216を含むを備えており、それぞれが個別にアドレス可能とされており様々な実施形態において所定量のデータを記憶するように構成されている。図示されているように、メモリロケーション212は、データ205を記憶している。メモリロケーション212内のデータ205は、幾つかの実施形態においては、コンピュータシステム10によって実行されているプログラムによってあらかじめ書き込まれたものであってもよく、あるいは、単純に任意的ランダムであってもよい。図2Bにおいて、初期化後のメモリ領域64の一例が図示されている。この実施形態においては、メモリロケーション212内のデータ205は、ゼロの値を有する複数ビットからなるビット列に初期化することによりゼロで埋められzeroedoutている。ここにさらに議論されるように、この初期化は、は幾つかの実施形態においては処理要素100Bによって行われる。ゼロで埋める処理Zeroingoutは初期化の一形態にすぎない;その他の初期化には、テストパターンでデータを書き込む例えば、すべて負の値に対応する値、16進値0xDEADBEEF等が含まれる。初期化は、幾つかの実施形態においては、JAVA登録商標プログラミング言語仕様といった外部仕様にしたがって行われてもよい。初期化は上述したデータ形式および値に限定されるものではなく、様々な実施形態において、1以上のメモリ領域を埋める任意のデータを含んでもよい。幾つかの実施形態においては、メモリの初期化は、ある最小サイズのメモリ領域を初期化することに限定されてもよい最小サイズについては初期化要求に応じる制御プログラムが任意に判断することが考えられる。例えば、メモリの初期化は、例えば8KBのページといった、コンピュータシステム10のオペレーティングシステムによって定義されるようなページ1単位、キャッシュライン幅または1024バイトといった所定の固定サイズ等を下回らない領域を初期化することに限定されてもよい。これらの実施形態においては、メモリの初期化のための最小サイズ閾値は、小さいメモリ領域を初期化するために第2処理要素を使用することに伴い生じうる性能ペナルティを回避するために設定されることも考えられるが、これは、第1処理要素ではなく第2処理要素を使用して初期化を行うことで様々な実施形態において不可避的なオーバーヘッドコストが生じることがあるからである。次に図3Aを参照すると、メモリサブシステム60内にユーザプログラム304と制御プログラム310とを備えた実施形態を示すブロック図が図示されている。一実施形態においては、プログラム304およびプログラム310はともに図1に関して前述した各別のプログラム62である。様々な実施形態において、ユーザプログラム304は、メモリに直接アクセスしてメモリ領域複数のメモリ領域を初期化する権限を欠いているまたはそのようにプログラムおよび/または設計されていないこともあるが、他方、制御プログラム310は、メモリ領域を初期化するように実行可能とされている例えば初期化ルーチン313を使用して。例えばプログラム304はJAVA登録商標プロセスおよび/またはユーザアプリケーションであってもよく、他方、プログラム310はJVMまたはオペレーティングシステムであってもよい下記の図3Bないし図3Cによる説明を参照。様々な実施形態において、ユーザプログラム304および制御プログラム310は、サブシステム60内の1以上のメモリデバイス内に記憶されている例えば、制御プログラム310はハードドライブに記憶されたうえで実行中にRAMモジュールに完全または部分的にロードされてもよい。制御プログラム310は、様々な実施形態において、処理要素100Aおよび/または処理要素100Bによって実行可能な命令を有している。すなわち、所定の制御プログラム310は、処理要素100A、処理要素100B、あるいは処理要素100Aおよび処理要素100Bの組合せによって実行可能な命令を有してもよい。例えば、一実施形態においては、制御プログラム310は、処理要素100Aおよび処理要素100Bの双方によって実行可能な単一のインストラクションセットアーキテクチャinstructionsetarchitecture;ISAに属する命令を有している。他方、別の実施形態においては、制御プログラム310は、処理要素100Aにより実行可能な第1のISAに属する命令を有しており、また、処理要素100Bにより実行可能な第2の異なるISAに属する命令を有している。メモリの初期化ルーチン313は、このようにして、幾つかの実施形態において制御プログラム310の他の部分とは異なるISAに属する命令を有してもよい。一実施形態においては、制御プログラム310は、ユーザプログラム304からメモリ要求305を受付けるために実行可能な初期化ルーチン313を含むプログラム命令群を備えている別の実施形態においては、制御プログラム310は内部でメモリ要求305を生成する。メモリの初期化ルーチン313は、処理要素100B処理要素100Aではなくに初期化要求305で指定される1以上のメモリ領域64を初期化させるために実行可能である。メモリの初期化ルーチン313は、様々な実施形態において、OPENCL、JAVA登録商標、C等のプログラミング言語で書かれたコードに対応する命令を含む。ルーチン313に対応するコードは初期化ルーチン313を様々な実施形態にて行うために解釈および/またはコンパイルされてもよい。OPENCLコードがどのようにして処理要素100Bにより実行可能な命令を生成するために用いることができるかの一例は、2010年5月21日出願の米国特許出願第12/785,052号、発明の名称:コンピューティングプラットフォームにおける処理負荷の分散DISTRIBUTINGWORKLOADSINACOMPUTINGPLATFORMに見出すことができるところ、その内容は引用により本明細書に組み込まれる。メモリの初期化ルーチン313は、様々な実施形態において、処理要素100Bにメモリ領域64を初期化させるために実行されてもよい。一実施形態においては、初期化ルーチン313の実行は、初期化要求305に応答して開始され、この初期化要求305は、ユーザプログラム304によって生成されてもよい。初期化要求305は、様々な実施形態において様々な形式をとってもよく、初期化すべき1以上のメモリ領域64を識別または判定するのに利用できる情報を含んでいる。一実施形態においては、要求305は、データオブジェクトの名称を指定する。一実施形態においては、初期化要求305は、初期化されるべきメモリ空間のメモリベースアドレスおよびオフセット値長さを含んでいる。他の実施形態においては、初期化要求305は、初期化されるべきメモリの基底の開始アドレスおよびメモリ上限の停止アドレスを含んでいる。しかしながら、メモリ要求305は、このように限定されたものではなく、初期化されるべき1以上のメモリ領域64を判定するのに利用可能な任意の情報を含んでもよい。実行中、制御プログラム310は、処理要素100Aおよび/または処理要素100Bによって実行されるが、少なくとも一実施形態においては、初期化ルーチン313の実行は、初期化要求307を用いてもっぱら処理要素100Bによって行われる。処理要素100Bによるルーチン313の実行は、様々な実施形態において異なる態様にて進行してもよい。一実施形態においては、制御プログラム310の一部は、処理要素100Bによるルーチン313の実行を設定するために処理要素100Aによって実行可能とされてもよい。処理要素100Aは、ルーチン313への参照を含む処理要素100Bへの制御メッセージ、通知または命令を送信してもよい。このような制御メッセージを受付けると、処理要素100Bはさらにルーチン313を実行することが考えられる例えば、ルーチン313の命令が記憶されているメモリおよび/またはキャッシュに直接アクセスすることによって。別の実施形態においては、初期化ルーチン313に対する命令は、単純にバスバス20等上に出力されてもよく、その時点で処理要素100Bは当該命令を認識して実行するであろう。一実施形態においては、処理要素100Aは、処理要素100Bがメモリ領域64に直接アクセスすることをメモリアクセスコントローラ75に許可させるコンフィギュレーション動作を含む、処理要素100Bのための1以上のコンフィギュレーション動作を行うために、処理要素100AのISAに属する命令を実行してもよい。処理要素100Bに初期化ルーチン313を実行させるために、当業者が想到しうる様々な他の技術もまた利用することができる。初期化ルーチン313の命令は、一実施形態においては、初期化すべき1以上のメモリ領域64を指定する1以上の参照と1以上のメモリ領域を初期化するために処理要素100Bにより実行可能な命令とを含む。初期化されたメモリ領域を埋めるデータはすべてゼロ、すべて負の値、パターン化されたデータまたは前述したようなその他のデータとすることができる。幾つかの実施形態においては、初期化ルーチン313の一部分またはその全体は、制御プログラム310によって動的に生成されてもよい。動的生成は、一実施形態においてはメモリ要求305に含まれる情報に応答して行われてもよい。例えば、もしメモリ要求305がRAMのうち8MB相当の部分が初期化すべきであると指定しているならば、少なくとも初期化ルーチン313の一部分はこの8MB値を反映するように動的に変更されてもよい。初期化ルーチン313は、様々なソフトウェアプログラムの一部として行われてもよい。例えば、一実施形態においては、ルーチン313は、アプリケーションプログラミングインタフェースAPIの仕様にしたがってメモリ要求305が作成されてライブラリルーチンの一部として行われてもよい。別の実施形態においては、ルーチン313は、JAVA登録商標ガーベジコレクションプロセスの一部として行われてもよい図3Cを参照して後述するとおり。しかしながら、初期化ルーチン313は上述したタイプのプログラムに限定されるものではない。次に図3Bを参照すると、コンピュータシステム10のオペレーティングシステム320がメモリの初期化を第1処理要素から第2処理要素へ分散させるように構成されている実施形態を示したブロック図が図示されている。一実施形態においては、オペレーティングシステム320は、制御プログラム310について前述した動作のいずれかまたはすべてを完全にまたは部分的に行うようにしてもよい。様々な実施形態において、オペレーティングシステム320は、1以上のメモリ要求305を受付、生成および/または処理して1以上のメモリ領域64を初期化してもよい。一実施形態においては、メモリ要求305は、オペレーティングシステム320内のライブラリまたはモジュールにより受付けられてもよく、プログラム62、プログラム304といったプログラムまたはオペレーティングシステム320それ自体によって呼び出し可能とされてもよい。これらのライブラリは、様々な実施形態において、メモリサブシステム60内の1以上のファイルとして記憶されてもよく、要素322,324といったモジュールのためのAPIインタフェースを有してもよい、これは、Cプログラミング言語関数mallocおよびinitに対応するものである。例えば、コンピュータシステム10上で実行されるプログラム62は、mallocルーチンを呼び出すことによりより多くのメモリの割り当てを受けることを要求してもよい。オペレーティングシステム320はしたがって、一実施形態においては、適切な命令初期化ルーチン313等をロードおよび/または動的に生成したうえでこれらのロードまたは生成された命令を第2処理要素100Bに実行させることにより、当該要求に応じる。このような初期化は、例えば初めて割り当てられたメモリブロックがデータを1つのプログラムから別のプログラムへと漏洩することを回避するなどのセキュリティ上の理由で望ましいであろう。Initモジュール324は、一実施形態においてはメモリに別のプロセスをロードするために用いられてもよく、そのためメモリ要求305を内部で生成してもよいだろうこれに応じて初期化要求307が処理要素100Bへ送信されてもよい。次に図3Cを参照すると、JAVA登録商標仮想マシンJVM330がメモリの初期化を第1処理要素から第2処理要素へ分散させるように構成されている実施形態を示したブロック図が図示されている。JVM330は、制御プログラム310について前述した動作のいずれかまたはすべてを完全にまたは部分的に行うようにしてもよく、メモリサブシステム60図示せずに記憶されてもよい。一実施形態においては、JVM330は、メモリサブシステム60に記憶された1以上のJAVA登録商標プログラムのJAVA登録商標バイトコードを実行するように構成されているしたがって、制御プログラム310はこのようにして他のプログラムを実行してもよく、さらに、この観点ではJAVA登録商標プログラムに限定されるものではない。JAVA登録商標バイトコードの実行は、任意の数のJAVA登録商標オブジェクト331が作成および/または破棄されることを生じさせるかもしれない。JAVA登録商標オブジェクトのためのデフォルトの初期値は、JVM330の様々な実施形態においてすべてゼロに設定されてもよい。このような初期化は、様々な実施形態において、ガーベジコレクションプロセス332および/またはコンストラクタルーチン334これは、幾つかの実施形態においては、全体としてまたは部分的に、初期化ルーチン313に対応してもよいによって行われてもよい。ガーベジコレクションプロセス332の最後のステップとして、一実施形態においては、1以上のメモリ領域のすべてが、メモリ領域をゼロで埋めることにより将来のオブジェクト割り当てのために利用可能とされてもよい次のガーベジコレクションが追加的に初期化されたメモリをもたらすまで、これにより既に初期化されたメモリを確保する。あるいは、ゼロで埋める処理は、様々な実施形態において、新たなオブジェクトがJAVA登録商標ユーザプログラムによって割り当てを受けるたびにその都ベースで行われることができる。一実施形態においては、ガーベジコレクションプロセス332は、どのJAVA登録商標オブジェクトがもはや使用されていないかを判定してそれらの使用されていないオブジェクトに対するメモリの割り当てを解除する。このメモリの割り当て解除のプロセスにおいて、JVM330は、1以上の対応するメモリ領域を初期化してゼロ値を含ませるようにしてもよい。JVM330はまた、1以上のコンストラクタルーチン334または複数のルーチンを実行させるようにしてもよい。コンストラクタルーチン334または複数のルーチンは、デフォルトのルーチンであってもよく、解放されているメモリの割り当て、JVM330で実行されている1以上のJAVA登録商標プログラムに対して行うことを必要とするかもしれず、同様にそれらのJAVA登録商標プログラムこれは様々な実施形態においてユーザプログラム304に対応してもよいの実行中に1以上のメモリ領域64の初期化を行わせてもよい。JVM330によるメモリ領域の初期化を最適化するための様々な技術、変形が当業者において想起されると思われる。例えば、JVM330は、より大きな容量のメモリ例えば1MBをゼロにして新たに作成されたJAVA登録商標オブジェクトの要求を満たすのに必要なだけメモリ分配するように構成されてもよいクラスが作成されるたびにその都度メモリを初期化するのではなく。様々な実施形態において、オペレーティングシステム320およびJVM330を除く多くのプログラムが、コンピュータシステム10にメモリ領域を初期化するタスクの処理要素100Aから処理要素100Bへの分散を、コンピュータシステム10行わせてもよい。コンピュータシステム10の処理要素によってコンパイルおよび実行または解釈されるように設計された異なるプログラミング言語は、メモリの初期化の分散またはオフロード能力の利点を活用するように設計されたAPIルーチンを含むライブラリを有してもよい。さらにコンパイラは、高水準ソースコードから実行可能なコードを生成する際に、ここに記載した技術を用いてメモリの初期化の分散を生じさせるように設計されることも考えうる。コンパイラは、一実施形態においては、プログラムが1以上のメモリ埋め処理を第1処理要素から第2要素へ分散することでどの段階で利益を得ることができるかを判定するために、ヒューリスティックスを利用することができる例えば、このようなヒューリスティックスの基礎をなしうる要素としては、メモリ領域のサイズ当該領域が十分に大きい場合にはおそらくオフロード/分散、初期化に続いてどの程度頻繁にかつ直ちにメモリ領域がアクセスされるか、初期化が行われた後所定の期間においてアクセスされた初期化された領域のバイト数、所定のメモリの初期化をオフロード化しないことによるキャッシュ移動の結果として予想されるキャッシュミスの量等が考えられる。幾つかの実施形態においては、ここに記載したメモリの初期化技術は、ソースコードプログラマに対して幾つかの場合において透過的である。例えば、ソースコードプログラマは、Cプログラミング言語によるmallocに対する呼び出しを、当該プログラミング言語の言語仕様にしたがって、当該呼び出しを扱うライブラリルーチンがメモリの初期化を第1要素から第2要素へと分散させることを認識することなくプログラムすることができる。次に図4を参照すると、1以上のメモリ領域の初期化の第1処理要素による第2処理要素へのオフロードに係る方法400の一実施形態のフロー図が図示されている。方法400は、全体としてまたは部分的に、コンピュータシステム10または後述するシステム500といった他の任意の適切なコンピュータシステムまたはコンピュータデバイスによって行われてもよい。ステップ410において、初期化される1以上のメモリ領域の指示が受付けられる。このステップは、一実施形態においては、例えばプログラム304からのメモリ要求を受け付けるために制御プログラム310を実行する処理要素100Aによって行われてもよい。一実施形態においては、ステップ410は、JVM330のプロセス332といったガーベジコレクションプロセスによって生成された要求を受け付けることが含まれる。ステップ420において、ステップ410の指示の受付に応答して、コンピュータシステム10は、要求されたメモリ領域の初期化を処理要素100Aから処理要素100Bへオフロードする。一実施形態においては、ステップ420は、処理要素100Aによって行われ、要求されたメモリ領域の初期化を処理要素100Bへオフロードさせる。ステップ420はまた、様々な実施形態において、コンフィギュレーション動作を行うかそうでなければ処理要素100Bにメモリ領域64を初期化させるような態様にて処理要素100Bとやり取りを行う処理要素100Aを含んでもよい例えば初期化ルーチン313を実行するように処理要素100Bを設定するなど。ステップ430において、ステップ410の初期化要求がオフロードされたすなわち分散された処理要素は、指示された1以上のメモリ領域を初期化する。一実施形態においては、このステップは要求されたメモリ領域を初期化するためにコントローラ75を介してダイレクトメモリアクセスを利用して処理要素100Bによって行われる。このように、ステップ430の様々な実施形態において、初期化は、処理要素100Aが初期化されるべきメモリ領域のための値を直接変更することなしに行われる。ある実施形態において、ステップ430は、制御プログラム310の1以上の所定のルール、ルーチン等にしたがって行われる。これらのルールは、ヒューリスティクス例えば前述したようなヒューリスティクスを含むことが考えられる。ステップ440において、コンピュータシステム10のキャッシュの1以上の部分を無効化してもよい。複数の処理要素コンピュータシステム10等を有するシステムにおいては、メモリ領域64内のデータのコピーは、幾つかの実施形態においてメモリ階層キャッシュ30を含むに記憶されてもよい。もしメモリ領域64が方法400にしたがって初期化されるならば、幾つかの事例においておよび幾つかの実施形態においてはキャッシュ無効化手順を行って、コンピュータシステム10のキャッシュ例えば、キャッシュ30内に残っている初期化されたメモリ領域64に対応するデータの古いコピーが存在しないことを確保することが必要となることがある。ステップ440は、様々な実施形態において、処理要素100A、処理要素100Bおよび/またはメモリアクセスコントローラ75により様々に開始されてもよく、当業者に知られた様々な技術を用いて行ってもよい。次に図5を参照すると、前述した様々な実施形態を実装することができる例示的なコンピュータシステム500を示すブロック図が図示されている。コンピュータシステム500のコンポーネントは、全体的または部分的にコンピュータシステム10のコンポーネントと同一または類似であってよい。例えば、コンピュータシステム500は図示したとおり、メモリサブシステム60、処理要素100A、処理要素100B、キャッシュ30、メモリアクセスコントローラ75を備えている。コンピュータシステム500は、サーバシステム、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップノートブックコンピュータ、メインフレームコンピュータシステム、携帯用コンピュータ、ワークステーション、ネットワークコンピュータ、携帯電話、ポケットベルまたは携帯情報端末PDAといった消費者装置等の任意の様々なタイプのデバイスを含んでもよいが、これらに限定されるものではない。コンピュータシステム500はまた、ストレージデバイス、スイッチ、モデム、ルータ等の任意のタイプのネットワーク接続周辺デバイスであってもよい。図5には便宜上単一のコンピュータシステム500が図示されているが、システム500はまた、一緒に動作する2以上のコンピュータシステムとして実装されてもよい。コンピュータシステム500の一実施形態において、メモリサブシステム60は、2次記憶装置455とRAMモジュール444,446とを備えている。一実施形態においては、2次記憶装置455には、プログラム命令が記憶されており、これらのプログラム命令は、コンピュータシステムに初期化されるべきメモリ領域の指示を受付けさせるために、第1処理要素100Aにより実行可能とされている。ここで、メモリ領域はコンピュータシステムのメモリ内にあり、前記指示の受付けに応答して、メモリ領域の初期化をコンピュータデバイスの処理要素100Bに処理させる。処理要素100Aおよび処理要素100Bは、ある実施形態において、異種すなわち異なるタイプに属するのものであってよい。例えば、処理要素100Aが中央演算処理装置CPUであり、処理要素100Bがグラフィックス処理装置GPUであるような場合であってもよい。さらに、一実施形態においては、キャッシュ30は、処理要素100Aがメモリにアクセスするのに応じてメモリサブシステム60内の1以上のメモリデバイスの内容を記憶するように構成されてもよく、ここで、メモリ領域の初期化を行うことには、当該メモリ領域の初期化後の内容をキャッシュに記憶させることを含まない。すなわちキャッシュ30は、初期化されたメモリ領域に対応する新たに初期化されたデータによって他のデータがキャッシュ30内から移動されることを、回避することができる。メモリアクセスコントローラ75は、様々な実施形態において、処理要素100Bに対してメモリサブシステム60内の1以上のメモリデバイスへのアクセスを提供するように構成されてもよく、ここで、メモリ領域の初期化を行うことには、処理要素100Bがメモリアクセスコントローラ75を用いてメモリ領域にアクセスすることが含まれ、かつ、初期化を行うことには処理要素100Aがメモリ領域にアクセスすなわちメモリ領域を変更することは含まれない。追加的に、一実施形態においては、I/O装置444は、バス20を介してメモリサブシステム60に接続されている。様々な実施形態において、I/O装置は、他のストレージデバイスハードドライブ、光学ドライブ、リムーバブルフラッシュドライブ、ストレージアレイ、SANまたはそれらに関連するコントローラ、ネットワークインタフェースデバイス例えばローカルエリアまたはワイドエリアネットワークまたはその他のデバイス例えばグラフィックス、ユーザインタフェースデバイス等を含んでもよい。一実施形態においては、コンピュータシステム500は、ネットワークインタフェースデバイスを介してネットワークに接続されている。I/O装置は、様々なタイプのインタフェースを含んでもよく、これは様々な実施形態にしたがって、他のデバイスおよびそれらのインタフェースに接続され通信を行うように構成されてもよい。一実施形態においては、I/Oインタフェースはフロントサイドバスから1以上のバックサイドバスへのブリッジチップ例えばサウスブリッジである。メモリサブシステム60は、処理要素100Aおよび/または処理要素100Bにより様々な実施形態において利用可能なメモリを有している。サブシステム60内のメモリは、ハードディスクストレージ、フロッピー登録商標ディスクストレージ、リムーバブルディスクストレージ、フラッシュメモリ、ランダムアクセスメモリRAM―SRAM、EDORAM、SDRAM、DDRSDRAM、RAMBUSRAM等、読み出し専用メモリPROM、EEPROM等といった異なる物理的記憶媒体を用いて実装されてもよい。コンピュータシステム500内のメモリはRAM444,446および2次記憶装置455のようなストレージに限定されるものではない。むしろ、コンピュータシステム500はまた、ここに記載しなかったキャッシュメモリやI/O装置444例えば、ハードドライブ、ストレージアレイ等上のストレージといった他の形態のストレージを有してもよい。幾つかの実施形態においては、これらの他の形態のストレージはまた、処理要素100Aおよび/または処理要素100Bにより実行可能なプログラム命令を記憶してもよい。前述した技術および方法は、任意の適切なコンピュータ読み取り可能な媒体に記憶されたコンピュータ読み取り可能な命令として実装されてもよい。これらの命令は、コンピュータシステムおよび/またはコンピュータデバイスが前述した態様にて動作することを可能にするソフトウェアであってもよく、メモリサブシステム60内のコンピュータ読み取り可能な媒体またはメモリサブシステム60内にはない別のコンピュータ読み取り可能な媒体に記憶されてもよい。このように、ライブラリルーチン、ガーベジコレクションプロセス、その他のソフトウェアルーチンおよびオブジェクトならびに任意のもしくはすべてのソフトウェア62,304,310,313,320,322,324,330,331,332,334はこのようなコンピュータ読み取り可能な媒体上に記憶されてもよい本明細書の段落[0017]に注記したとおり、このような媒体は非一時的なものとされてもよい。さらに、前述した技術および方法は、幾つかの実施形態においてはハードウェアとして実装されてもよい。例えば、一実施形態は、メモリデバイスのメモリ領域の初期化を第2処理要素に処理させるように構成されたメモリ初期化回路を備えた処理要素であり、ここで、初期化を行うことは、メモリ領域が初期化されるべきであるとの指示に応答して行われる。ハードウェア実施形態は、前述したアルゴリズムおよび技術を実装するための回路論理を用いてもよい例えば、方法400。ハードウェアの実施形態は、ハードウェア生成命令を用いて生成されてもよい。例えば、ハードウェア生成命令は、VerilogまたはVHDLといった高水準設計言語HDLによるビヘイビアレベルまたはレジスタ転送レベルRTLの記述レベルでハードウェア機能を記述した1以上のデータ構造の概要を示すものであってもよい。記述内容は合成ツールにより読み取られてもよく、合成ツールは記述を合成してネットリストを生成するものであってもよい。ネットリストは、ゲート群例えば合成ライブラリに定義されたを含んでもよく、メモリの初期化の分散化/オフロード化を実現するように構成された処理要素100Aおよび/または100B等の機能性を表現するものである。このようなネットリストを配置経路処理したうえでマスクに対して適用すべき幾何学形状を記述したデータセットが生成されてもよい。このようなマスクは1以上の処理要素100Aおよび/または100B等に対応する半導体回路または回路系を製造するために様々な半導体製造工程において利用されてもよい。代替的に、データベースは所望によりネットリスト合成ライブラリ付きまたは合成ライブラリなしまたはデータセットであってもよい。このように、ハードウェア生成命令は、前述した方法および技術を実装するプロセッサおよび/または処理要素を、製造分野における知識を有する当業者に知られた技術にしたがって生成または作成されるために実行されてもよい。追加的に、このようなハードウェア生成命令は、任意の適切なコンピュータ読み取り可能な媒体これは要素60のようなメモリサブシステム内に存在してもよく、あるいは他のコンピュータ読み取り可能な媒体に存在していてもよいに記憶されてもよい。前述したコンピュータ読み取り可能な記憶媒体は、幾つかの実施形態において、プログラムにより読み出される命令を記憶するために用いられることができ、また、処理要素100Aおよび/または100Bを有するハードウェアを製造するために直接的または間接的に用いられることができる。例えば、命令は、VerilogまたはVHDLといった高水準設計言語HDLによるビヘイビアレベルまたはレジスタ転送レベルRTLの記述レベルでハードウェア機能を記述した1以上のデータ構造の概要を示すものであってもよい。記述内容は合成ツールにより読み取られてもよく、合成ツールは記述を合成してネットリストを生成するものであってもよい。ネットリストは、ゲート群例えば合成ライブラリに定義されたを含んでもよく、処理要素100、メモリ初期化ユニットおよび/またはメモリ初期化回路の機能性を表現するものである。このようなネットリストを配置経路処理して、マスクに対して適用すべき幾何学形状を記述したデータセットが生成されてもよい。このようなマスクはハードウェア実施形態に対応する半導体回路または回路系を製造するために様々な半導体製造工程において利用されてもよい。代替的に、データベースは所望によりネットリスト合成ライブラリ付きまたは合成ライブラリなしまたはデータセットであってもよい。一実施形態はこのようにして非一時的なコンピュータシステムで実行可能なプログラムによって利用可能なデータ構造であって該データ構造によって記述された回路を有する集積回路を製造するプロセスの一部を行うためのデータ構造を有する非一時的なコンピュータ読取り可能な記憶媒体であって、前記データ構造に記述された前記回路が、メモリデバイスのメモリ領域の初期化をコンピュータデバイスの第1処理要素ではなく該コンピュータデバイスの第2処理要素に行わせるように構成されたメモリ初期化ユニットを有し、かつ、前記初期化を前記第2処理要素に行わせる処理が、前記メモリ領域が初期化されるべきとの指示に応答して行われることを特徴とする非一時的なコンピュータ読取り可能な記憶媒体、となる。以上のとおり具体的な実施形態について説明したが、これらの実施形態は、本開示の範囲を限定することを意図するものではなく、ある特徴に関して単一の実施形態のみが記載されている場合でも同様である。開示に含まれる特徴の例は説明のためのものであって特に断らないかぎり限定のためのものではない。前述した説明はこの開示の利益を有する当業者に自明と考えられるように代替、変更、均等物を包含することを意図したものである。本開示の範囲は、ここに検討した問題点のいずれかまたはそのすべてを軽減するかどうかにかかわらず、ここに明示的もしくは暗示的に開示したあらゆる特徴、それら特徴の組合せおよびそれらの任意の一般化を含むものである。したがって、このような特徴の組合せを対象としてこの出願またはこの出願が優先権を主張するところの出願の審査の間に新たな請求項が構成されてもよい。特に、添付の請求項については、従属項に係る特徴は独立項の特徴と組み合わせることができ、各従属項からの特徴は任意の適切な態様にて組み合わせられてもよく、添付の請求項において具体的に適示された具体的な組合せに限定されるものではない。"