ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

区分化大域アドレス空間

索引 区分化大域アドレス空間

区分化大域アドレス空間、PGAS(partitioned global address space)とは、計算機科学における並列計算の理論モデルの一つである。これは大域アドレス空間のことで、論理的には区切られていて、その一部は各プロセッサーに固有の局所空間を構成すると仮定するものである。区分化大域アドレス空間とそれまでのものと違うのは共有メモリー空間の一部分は特定のスレッドに対して親和性があってもよい点である。これによって、参照の局所性を有効に生かしている。区分化大域アドレス空間のモデルは Unified Parallel C、Co-array Fortran、Titanium、Fortress、Chapel、X10、Global Arrays 、XcalableMPの基盤となっている。.

11 関係: 参照の局所性並列計算ChapelCo-array Fortran計算機科学FortressLock-freeとWait-freeアルゴリズムUnified Parallel CX10X10 (プログラミング言語)XcalableMP

参照の局所性

参照の局所性(さんしょうのきょくしょせい、locality of reference)とは、1つのリソースに複数回アクセスする処理に関する情報工学上の概念である。.

新しい!!: 区分化大域アドレス空間と参照の局所性 · 続きを見る »

並列計算

並列計算(へいれつけいさん、parallel computing)は、コンピュータにおいて複数のプロセッサで1つのタスクを動作させること。並列コンピューティングや並列処理とも呼ばれる。問題を解く過程はより小さなタスクに分割できることが多い、という事実を利用して処理効率の向上を図る手法である。また、このために設計されたコンピュータを並列コンピュータという。ディープ・ブルーなどが有名。 関連する概念に並行計算(へいこうけいさん)があるが、並行計算は一つのタスクの計算を並列化することにとどまらず、複数の相互作用しうるタスクをスレッドなどをもちいて複数の計算資源にスケジューリングするといった、より汎用性の高い処理をさす。 特に、並列計算専用に設計されたコンピュータを用いずに、複数のパーソナルコンピュータやサーバ、スーパーコンピュータを接続することで並列計算を実現するものをコンピュータ・クラスターと呼ぶ。このクラスターをインターネットなどの広域ネットワーク上に分散させるものも、広義には並列計算に属すが、分散コンピューティングあるいはグリッド・コンピューティングと呼び、並列計算とは区別することが多い。.

新しい!!: 区分化大域アドレス空間と並列計算 · 続きを見る »

Chapel

Chapel とはクレイ社によって開発されたプログラミング言語である。この言語は今もなお「クレイ・カスケード・プロジェクト」として開発されている。もともと、このプロジェクトは米国国防高等研究計画局の高生産性計算機システムプロジェクトの一部だったもので、その目標は、2010年までの間にスーパーコンピューターの生産性を改善するというものであった。Chapel が狙っているのは、並列計算機、とりわけ、というシステムのプログラミング効率を改善することである。そのために、この言語では、既存のプログラミング言語よりも高い水準でアルゴリズムを表現することを可能にし、同時に、アルゴリズム表現とデータ構造の詳細な実装の分離性を高めている。 Chapel言語はデータやタスクの並列化や入れ子構造の並列化をする仕組みを備えている。これらは高水準のマルチスレッド並列プログラミングモデルを支援するものである。これらの仕組みによってデータの分配やデータ駆動による部分演算の割り当ては抽象化されるため、プログラム中のデータと演算の局所性の最適化が可能になっている。また、オブジェクト指向と汎用プログラミングの仕組みによって、プログラムコードの再利用と汎用化も可能である。例えば、Chapel ではロケールを宣言することができる。 Chapel言語では先行する言語からアイデアを借用している。並列性に関する考え方で最も近いのは High Performance Fortran、ZPL そして Cray MTA の FORTRAN 拡張とC言語拡張である。 現在この言語は、BSDライセンスの下、オープンソースのプロジェクトして開発が進行中である。 なお、言語の名前「Chapel」は「多段高生産性言語」を意味する英語「cascade high productivity language」にちなんで名付けられたものである。.

新しい!!: 区分化大域アドレス空間とChapel · 続きを見る »

Co-array Fortran

Co-array FortranはFortran 95/2003を並列化を目的として拡張した言語である。以前はF--としても知られ、Robert NumrichとJohn Reidによって開発された。 Co-array Fortranで記述されたプログラムではすべてのスレッドが非同期的に実行されるように扱われる。それぞれのスレッドはイメージと呼ばれる自身のデータオブジェクトを持つ。また、Fortran 95での配列の構文が角括弧と添字を用いてイメージを指定できるように拡張されている。 ISOは2005年5月に次のFortranの標準規格(Fortran 2008)に対してCo-array Fortranを採用することを決定した。 最初にLinuxアーキテクチャにおいてFortran 2008のCo-array Fortranに対応したオープンソースコンパイラはG95である。他にもCrayなどいくつかの商用コンパイラは以前からCo-array Fortranをサポートしている。.

新しい!!: 区分化大域アドレス空間とCo-array Fortran · 続きを見る »

計算機科学

計算機科学(けいさんきかがく、computer science、コンピュータ科学)とは、情報と計算の理論的基礎、及びそのコンピュータ上への実装と応用に関する研究分野である。計算機科学には様々な下位領域がある。コンピュータグラフィックスのように特定の処理に集中する領域もあれば、計算理論のように数学的な理論に関する領域もある。またある領域は計算の実装を試みることに集中している。例えば、プログラミング言語理論は計算を記述する手法に関する学問領域であり、プログラミングは特定のプログラミング言語を使って問題を解決する領域である。.

新しい!!: 区分化大域アドレス空間と計算機科学 · 続きを見る »

Fortress

Fortress(フォートレス)は高性能を目指して設計されたプログラミング言語である。米国国防高等研究計画局の高生産性計算機システムプロジェクトの出資のもとサン・マイクロシステムズ研究所で作られた。設計者の一人にガイ・スティール・ジュニアがいる。.

新しい!!: 区分化大域アドレス空間とFortress · 続きを見る »

Lock-freeとWait-freeアルゴリズム

Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。これはLock-free ではミューテックスやセマフォといった、排他制御のためのプリミティブを使ってはならないことを意味する。なぜならロックを持っているスレッドの実行が中断した場合、全体の進行を阻止しうるからである。Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。あるアルゴリズムがLock-freeであるがWait-freeでないことはありうる。Wait-free なアルゴリズムは Lock-free である。.

新しい!!: 区分化大域アドレス空間とLock-freeとWait-freeアルゴリズム · 続きを見る »

Unified Parallel C

Unified Parallel C、UPC は大規模な並列計算機上での高性能計算向けにC言語を拡張して作られたプログラミング言語である。これには、共有大域アドレス空間(対称型マルチプロセッシング、NUMA)を伴うものと、クラスターなどの分散メモリーを伴うものが含まれる。プログラマーには共有された単一の区分化アドレス空間を割り当てられる。変数はどのプロセッサーからでも直接に読み書きできるが、いずれの変数も物理的にはどれかひとつのプロセッサーに関連づいている。UPC は SPMD モデルを使う。このモデルでは全ての並列性がプログラム実行開始時点で固定化される。大抵は一つのプロセッサーに一つのスレッドを割り当てられる。 並列性を表現するために、UPC は C99 を以下の機構について拡張してある。.

新しい!!: 区分化大域アドレス空間とUnified Parallel C · 続きを見る »

X10

X10・X-10とは、.

新しい!!: 区分化大域アドレス空間とX10 · 続きを見る »

X10 (プログラミング言語)

X10 は、アメリカ合衆国・DARPAのHigh Productivity Computing Systemsにより設立された PERCS スーパーコンピュータ・プロジェクトの一部として、IBMがトーマス・J・ワトソン研究所で開発中の並列処理用のプログラミング言語である。.

新しい!!: 区分化大域アドレス空間とX10 (プログラミング言語) · 続きを見る »

XcalableMP

XcalableMP、XMP は大規模な並列計算機上での高性能計算向けにC言語およびFortranを拡張して作られたプログラミング言語である。 XMPの実行モデルはSPMDであり、その実行主体はノードと呼称する。 XMPは並列化の手段として、グローバルビューとローカルビューをユーザに提供している。 グローバルビューでは、テンプレートと呼ばれる仮想的なインデックス集合を用いて並列化を行う。 グローバルビューでは、OpenMPのように、プログラマは逐次コードに対して指示文を挿入することで、データのマッピング、ノード間のデータのread/write、ループ文の並列化などを行う。XMPの指示文のいくつかはHigh Performance Fortranの指示文を引き継いだものである。 ローカルビューでは、Co-array Fortranのように、ノード番号を指定してノード間のデータのread/writeを行う。なお、Fortran言語のXMPはCo-array Fortranの上位互換である。.

新しい!!: 区分化大域アドレス空間とXcalableMP · 続きを見る »

ここにリダイレクトされます:

PGAS

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »