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

並行性

索引 並行性

並行性(へいこうせい、concurrency)とは、計算機科学において、時間的にオーバーラップして実行される計算を伴うシステムの属性であり、そのような計算ではリソースを共有することがある。並行計算は、同一チップ上の複数のコア、単一プロセッサ上のプリエンプションを伴うマルチスレッド、物理的に分離した複数プロセッサ上などで行われる。並行計算のための数学的モデルとして、ペトリネット、プロセス計算、並列ランダムアクセス機械モデル、アクターモデル、 などが開発された。.

42 関係: 層 (数学)並列ランダムアクセス機械並列計算並行計算並行性制御圏論区分化大域アドレス空間ペトリネットマルチコアモデル検査リソーススタベーションレスリー・ランポートプリエンプションプロセスプロセス計算データベース管理システムデッドロック分散コンピューティングアクターモデルオペレーティングシステムカール・アダム・ペトリクライアントサーバモデルコルーチンコンピュータ・クラスタースレッド (コンピュータ)Communicating Sequential Processes理論計算機科学線形時相論理表示的意味論計算計算資源計算機科学計算木論理集積回路透過性 (情報工学)LindaOpenMPX10 (プログラミング言語)正当性 (計算機科学)時相論理1960年代2相コミット

層 (数学)

数学における層(そう、sheaf, faisceau)とは、位相空間上で連続的に変化する様々な数学的構造をとらえるための概念であり、大域的なデータを局所的に取り出すこと、および局所的なデータの貼り合わせ可能性によって定式化される。より形式的に、大域から局所への移行のみを考える概念は前層(ぜんそう、)とよばれる。.

新しい!!: 並行性と層 (数学) · 続きを見る »

並列ランダムアクセス機械

並列ランダムアクセス機械(へいれつランダムアクセスきかい、Parallel Random Access Machine, PRAM)は、並列コンピューティングに適用可能なアルゴリズムを設計するための抽象機械である。同期や通信といった細かな部分を省き、並行性をいかに引き出すかに集中することが可能となる。フリンの分類によれば、PRAM は MIMD 型コンピュータに相当する。.

新しい!!: 並行性と並列ランダムアクセス機械 · 続きを見る »

並列計算

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

新しい!!: 並行性と並列計算 · 続きを見る »

並行計算

並行計算(へいこうけいさん、concurrent computing)とは、コンピュータプログラムにおいて複数の相互作用を及ぼす計算タスクの(同時)並行的実行を指す。.

新しい!!: 並行性と並行計算 · 続きを見る »

並行性制御

情報技術および計算機科学における並行性制御(へいこうせいせいぎょ、Concurrency Control)または同時実行制御(どうじじっこうせいぎょ)とは、特にプログラミングとOSとマルチプロセッシングとデータベースにおいて、並行処理の結果が可能な限り素早くかつ正しく得られることを保証することである。 コンピュータシステムは、ソフトウェアもハードウェアも、モジュールまたはコンポーネントで構成される。各コンポーネントは何らかの一貫性規則に従って正しく動作するよう設計されている。コンポーネント間でメッセージをやり取りするか(記憶装置内で)データを共有して並行動作する際、あるコンポーネント間の一貫性が他のコンポーネントによって妨害されることがある。並行性制御の一般的な領域は、同時並行的に相互作用しながら動作するコンポーネント間の一貫性を保つための規則、技法、設計方法論、理論を提供し、結果としてシステム全体の一貫性と正確性を提供する。並行性制御をシステムに導入することは、一般に若干の性能低下を生じる操作上の制約を適用することを意味する。操作一貫性と正確性は、妥当な以上の性能低下を伴わずに可能な限り効率的に達成されるべきである。.

新しい!!: 並行性と並行性制御 · 続きを見る »

圏論

圏論(けんろん、category theory)は、数学的構造とその間の関係を抽象的に扱う数学理論の 1 つである。 考えている種類の「構造」を持った対象とその構造を反映するような対象間の射の集まりからなる圏が基本的な考察の対象になる。 数学の多くの分野、また計算機科学や数理物理学のいくつかの分野で導入される一連の対象は、しばしば適当な圏の対象たちだと考えることができる。圏論的な定式化によって同種のほかの対象たちとの、内部の構造に言及しないような形式的な関係性や、別の種類の数学的な対象への関連づけなどが統一的に記述される。.

新しい!!: 並行性と圏論 · 続きを見る »

区分化大域アドレス空間

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

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

ペトリネット

ペトリネット ペトリネット(Petri net)とは、カール・アダム・ペトリが1962年に発表した離散分散システムを数学的に表現する手法である。モデリング言語としては分散システムを注釈付の有向2部グラフとして視覚的に表現する。.

新しい!!: 並行性とペトリネット · 続きを見る »

マルチコア

マルチコア (Multiple core, Multi-core) は、1つのプロセッサ・パッケージ内に複数のプロセッサ・コアを搭載する技術であり、マルチプロセッシングの一形態である。 外見的には1つのプロセッサでありながら論理的には複数のプロセッサとして認識されるため、同じコア数のマルチプロセッサと比較して実装面積としては省スペースであり、プロセッサコア間の通信を高速化することも可能である。主に並列処理を行わせる環境下では、プロセッサ・チップ全体での処理能力を上げ性能向上を果たすために行われる。このプロセッサ・パッケージ内のプロセッサ・コアが2つであればデュアルコア (Dual-core)、4つであればクアッドコア (Quad-core)、6つであればヘキサコア (Hexa-core)、8つは伝統的にインテルではオクタルコア (Octal-core) 、AMDではオクタコア (Octa-core)と呼ばれるほか、オクトコア (Octo-core) とも呼ばれる。さらに高性能な専用プロセッサの中には十個以上ものコアを持つものがあり、メニーコア (Many-core) と呼ばれる。 なお、従来の1つのコアを持つプロセッサはマルチコアに対してシングルコア (Single-core) とも呼ばれる。 レベル1キャッシュが2つあり、レベル2キャッシュは2つのコアと共有される。.

新しい!!: 並行性とマルチコア · 続きを見る »

モデル検査

モデル検査(Model Checking)とは、形式システムをアルゴリズム的に検証する手法である。ハードウェアやソフトウェアの設計から導出されたモデルが形式仕様を満足するかどうか検証する。仕様は時相論理の論理式の形式で記述することが多い。.

新しい!!: 並行性とモデル検査 · 続きを見る »

リソーススタベーション

リソーススタベーション(Resource Starvation; 資源飢餓)とは、マルチタスクに関連した問題であり、プロセスが必要なリソースをほぼ永久的に獲得できない状況を言う。プログラムは、そのようなリソースが無ければ処理を完了できない。 リソーススタベーションはデッドロックによっても発生する。デッドロックは互いに相手が必要なリソースを獲得しあったふたつ以上のプロセスが存在して、どちらも自身の獲得したリソースを諦めない状態である。 リソーススタベーションの例として、エドガー・ダイクストラの食事する哲学者の問題がある。 問題の根本はスケジューリング方式にある。スケジューリングはカーネルの機能の一部だが、一般にリソースを平等に割り当てることを目指している。つまり、スケジューリングアルゴリズムは、どのプロセスも永久的に必要なリソースを得られないような状況にならないようリソースの配分を行わなければならない。 多くのオペレーティングシステムのスケジューラはプロセスの優先順位という概念を持っている。高優先順位のプロセスAは低優先順位のプロセスBよりも先に動作する。高優先順位プロセス(A)がブロック(一時休止)しなければ、低優先順位プロセス(B)は(一部のシステムでは)決してスケジュールされないため、リソーススタベーション状態となる。さらに高優先順位のプロセスXがあって、その処理にプロセスBの結果が必要とされている場合、プロセスXは最高優先順位であるにも関わらず処理が完了しないことになる。このような状態を優先順位の逆転と呼ぶ。 りそおすすたへえしよん.

新しい!!: 並行性とリソーススタベーション · 続きを見る »

レスリー・ランポート

レスリー・ランポート(Leslie Lamport、1941年2月7日 - )は、数学者であり、コンピュータ科学者である。博士。ニューヨーク市生まれ。 TeX の上にマクロパッケージを組み込んで構築した組版処理システムである LaTeX の開発者として有名である。 また、コンピュータ科学では、時相論理・フォールトトレランス・分散コンピューティングの研究者として有名である。 マサチューセッツ工科大学にて1960年に学士号、ブランダイス大学にて1963年に修士号、1972年に博士号を授与されている。 現在は、マイクロソフト社の基礎研究所であるマイクロソフトリサーチで研究を行っている。2013年チューリング賞受賞。.

新しい!!: 並行性とレスリー・ランポート · 続きを見る »

プリエンプション

プリエンプション(preemption)は、マルチタスクのコンピュータシステムが実行中のタスクを一時的に中断する動作であり、基本的にそのタスク自体の協力は不要で、後でそのタスクを再実行するという意味も含む。このような動作をコンテキストスイッチと呼ぶ。通常、保護されたタスクか、システムの一部であるプリエンプティブスケジューラが行う。それらは、システム内の他のタスクに割り込み、後でそれらタスクを再開させることができる。「プリエンプト」とは「先取りする、差し替える」の意。.

新しい!!: 並行性とプリエンプション · 続きを見る »

プロセス

プロセスとは、情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する。.

新しい!!: 並行性とプロセス · 続きを見る »

プロセス計算

プロセス計算(プロセスけいさん、Process calculus)またはプロセス代数(プロセスだいすう、Process algebras)は、計算機科学において並行システムを形式的にモデリングする各種手法の総称。プロセス計算は、独立エージェントやプロセスの集まりにおける相互作用/通信/同期を抽象的に記述するツールである。また、プロセス記述を操作・分析可能にする代数学的規則も提供し、プロセス間の等価性について(双模倣性を使った)形式的推論を可能とする。主な具体例としては、CSP、CCS、ACP があるJ.C.M. Baeten:, Rapport CSR 04-02, Vakgroep Informatica, Technische Universiteit Eindhoven, 2004年。近年ではこれら以外に π計算(英語)、アンビエント計算、PEPA などもある。.

新しい!!: 並行性とプロセス計算 · 続きを見る »

データベース管理システム

right データベース管理システム(データベースかんりシステム、DBMS; )とは、コンピュータのデータベースを構築するために必要なデータベース運用、管理のためのシステム、およびそのソフトウェアのことである。データベースマネジメントシステムとも呼ばれる。.

新しい!!: 並行性とデータベース管理システム · 続きを見る »

デッドロック

デッドロック (英: deadlock) とは、特に計算機科学において、2つ以上のスレッドあるいはプロセスなどの処理単位が互いの処理終了を待ち、結果としてどの処理も先に進めなくなってしまうことを言う。 また、合弁契約書などにおいてパートナーと利害関係がぶつかるような問題が生じた場合の解決方法を定めた条項を「デッドロック条項(Deadlock Clause)」と言う。 英語ではもともと行き詰まりの意味である。.

新しい!!: 並行性とデッドロック · 続きを見る »

分散コンピューティング

分散コンピューティング(ぶんさんコンピューティング、英: Distributed computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。ただし、どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。例えば、2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。 問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。分散コンピューティングの例としてBOINCがある。これは、大きな問題を多数の小さな問題に分割し、多数のコンピュータに分配するフレームワークである。その後、それぞれの結果を集めて大きな解を得る。一般的に処理を分散すると一台のコンピュータで計算する場合と比べ、問題データの分配、収集、集計するためのネットワークの負荷が増加し、問題解決の為のボトルネックとなるため、部分問題間の依存関係を減らすことが重要な課題となる。 分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。しかし、分散コンピューティングはコンピュータネットワークと同義ではない。単にコンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。World Wide Web はコンピュータネットワークの例であるが、分散コンピューティングの例ではない。 分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。例えば、遠隔手続き呼出し (RPC)、Java Remote Method Invocation (Java RMI)、.NET Remoting などがある。.

新しい!!: 並行性と分散コンピューティング · 続きを見る »

アクターモデル

アクターモデル(actor model)とは、1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した並行計算の数学的モデルの一種Carl Hewitt(1973年), "A Universal Modular Actor Formalism for Artificial Intelligence".

新しい!!: 並行性とアクターモデル · 続きを見る »

オペレーティングシステム

ペレーティングシステム(Operating System、OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)のために、ソフトウェアの中でも基本的、中核的位置づけのシステムソフトウェアである。通常、OSメーカーが組み上げたコンピュータプログラムの集合として、作成され提供されている。 オペレーティングシステムは通常、ユーザーやアプリケーションプログラムとハードウェアの中間に位置し、ユーザーやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。現代のオペレーティングシステムの主な機能は、ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理、更にはGUIなどのユーザインタフェース、TCP/IPなどのネットワーク、などがある。オペレーティングシステムは、パーソナルコンピュータからスーパーコンピュータまでの各種のコンピュータや、更にはスマートフォンやゲーム機などを含む各種の組み込みシステムで、内部的に使用されている。 製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 OSの中で、タスク管理やメモリ管理など特に中核的な機能の部分をカーネル、カーネル以外の部分(シェルなど)をユーザランドと呼ぶ事もある。 現代の主なOSには、Microsoft Windows、Windows Phone、IBM z/OS、Android、macOS(OS X)、iOS、Linux、FreeBSD などがある。.

新しい!!: 並行性とオペレーティングシステム · 続きを見る »

カール・アダム・ペトリ

ール・アダム・ペトリ(、1926年7月12日 - 2010年7月2日)は、ドイツの数学者・計算機科学者。 並列計算と分散コンピューティングの分野に多大な貢献をし、その成果は複雑系やワークフロー管理の研究にも役立っている。またネットワーク理論 (network theory) の様々な領域に貢献した。.

新しい!!: 並行性とカール・アダム・ペトリ · 続きを見る »

クライアントサーバモデル

ライアントサーバ(client-server)モデルは、クライアントとサーバを分離する、コンピュータネットワークのソフトウェアモデルである。単にクライアント・サーバと呼ばれたり、俗にクラサバと略称されたり、などと表記されることも多い。.

新しい!!: 並行性とクライアントサーバモデル · 続きを見る »

コルーチン

ルーチン(co-routine)とはプログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。接頭辞 co は協調を意味するが、複数のコルーチンが中断・継続により協調動作を行うことによる。 サブルーチンと異なり、状態管理を意識せずに行えるため、協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる。 コルーチンはサブルーチンを一般化したものと考えられる。コルーチンをサポートする言語には Modula-2、Simula、Icon、Lua、C#、Limbo などがある。マルチスレッドで原理的には同じことができるため、現在はそちらが使われるケースが多い。これはマルチスレッドであれば直接OSの支援を受けられることや、エントリー/リターンの構造を変えずにコードを多重化できるので、過去の言語との親和性が良いなどが理由である。ただし、マルチスレッドの場合プログラマが同期制御を行わなければならないので、コルーチンのような簡易さはない。 コルーチンという名称は、メルヴィン・コンウェイの1963年の論文が起源である。.

新しい!!: 並行性とコルーチン · 続きを見る »

コンピュータ・クラスター

ンピュータ・クラスターとは、複数のコンピュータを結合し、クラスター(葡萄の房)のようにひとまとまりとしたシステムのこと。単に「クラスター」または「クラスタリング」とも呼ばれる。1台のコンピュータでは得られないような、強力な計算性能や可用性を得ることができる。コンピュータ・クラスターは、クラスタリングを実現するためのハードウェアやソフトウェアなどにより構成される。但し、ネットワークを介してデータを入力して処理を開始するため、処理開始までの遅延が大きくなる欠点がある。.

新しい!!: 並行性とコンピュータ・クラスター · 続きを見る »

スレッド (コンピュータ)

レッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。.

新しい!!: 並行性とスレッド (コンピュータ) · 続きを見る »

Communicating Sequential Processes

Communicating Sequential Processes(CSP)とは、並行性に関するプロセス計算の理論のひとつである.

新しい!!: 並行性とCommunicating Sequential Processes · 続きを見る »

理論計算機科学

論計算機科学(りろんけいさんきかがく、英語:theoretical computer science)は計算機を理論的に研究する学問で、計算機科学の一分野である。計算機を数理モデル化して数学的に研究することを特徴としている。「数学的」という言葉は広義には公理的に扱えるもの全てを指すので、理論計算機科学は広義の数学の一分野でもある。理論計算機科学では、現実のコンピュータを扱うことも多いが、チューリングマシンなどの計算モデルを扱うことも多い。 理論計算機科学の代表的な分野として以下のものがある。.

新しい!!: 並行性と理論計算機科学 · 続きを見る »

線形時相論理

線形時相論理(せんけいじそうろんり、Linear Temporal Logic、LTL)とは、時間に関する様相を持つ様相時相論理である。LTLでは、ある条件が最終的に真となるとか、別の事実が真になるまでその条件は真であるとかいった将来の出来事について論理式で表すことができる。.

新しい!!: 並行性と線形時相論理 · 続きを見る »

表示的意味論

表示的意味論(ひょうじてきいみろん、Denotational Semantics)とは、計算機科学(理論計算機科学)の一分野で、プログラミング言語の形式意味論(プログラム意味論)の手法のひとつである。初期には「数理的意味論」(mathematical semantics)、「スコット-ストレイチー意味論」(Scott–Strachey semantics)のようにも呼ばれた。プログラムの意味をあらわす数学的オブジェクト(これを「表示」(denotation)と呼ぶ)を構築することで、プログラミング言語の意味論を形式化する手法である。 表示的意味論の起源は、1960年代のクリストファー・ストレイチーやデイナ・スコットの研究である。ストレイチーやスコットが開発した本来の表示的意味論は、プログラムの表示(意味)を入力を出力にマッピングする関数に変換するものである。後にこれはプログラムの表示(意味)を定義するには非力であることが証明され、例えば再帰定義関数・データ構造を表現できないことが判明した。これを解決するため、スコットはより汎用的な領域理論に基づいた表示的意味論を提案したS.

新しい!!: 並行性と表示的意味論 · 続きを見る »

計算

計算(けいさん)とは、与えられた情報をもとに、命題に従って演繹することである。 これは人間が無意識のレベルで行っている判断(→判断力)や、動物一般が行っている思考を、計算という形で意識化する手法ともいえ、その意味では「ものを考えること」一般が「計算」の一種だとみなすことも可能である。計算に使用される手続きはアルゴリズムと呼ばれる。対人関係において、戦略をアルゴリズムとして状況を有利に運ぶことも時に「計算」と表現される。 もっとも一般的かつ義務教育の範疇で最初に習うものは、算術(算数)における四則演算を、演算記号に示されたアルゴリズム通りに処理するものである。こういった「計算」は日常生活から専門的分野まで幅広く行われており、これを専門に処理する装置や機械も、人類の歴史において数多く開発され利用されている。.

新しい!!: 並行性と計算 · 続きを見る »

計算資源

計算資源(けいさんしげん、英語: computational resource)とは、コンピュータ科学などで、計算機(具体的なコンピュータ、そこで動くプロセスやジョブ、あるいは抽象的な計算模型)が「計算量」のために費す、具体的あるいは抽象的な「資源」である。計算機資源と言うこともあるが、その場合はプロセッサ時間や記憶装置などコンピュータのハードウェアの占有量のような具体的なものを指していることが多い。 その他に、アプリケーションプログラムの設定データのような情報をデスクトップ環境などのシステムが保存しているものを「リソース」と呼ぶことがある。詳細は、最後の#その他の節のリンク先を参照のこと。.

新しい!!: 並行性と計算資源 · 続きを見る »

計算機科学

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

新しい!!: 並行性と計算機科学 · 続きを見る »

計算木論理

計算木論理(けいさんきろんり、Computational Tree Logic、CTL)は、分岐時相論理の一種である。その時間モデルでは未来は決定されておらず木構造のように分岐している。未来の複数の経路のうちの1つが実際に現実の経路となる。.

新しい!!: 並行性と計算木論理 · 続きを見る »

集積回路

SOPパッケージに封入された標準ロジックICの例 集積回路(しゅうせきかいろ、integrated circuit, IC)は、主としてシリコン単結晶などによる「半導体チップ」の表面および内部に、不純物の拡散による半導体トランジスタとして動作する構造や、アルミ蒸着とエッチングによる配線などで、複雑な機能を果たす電子回路の多数の素子が作り込まれている電子部品である。多くの場合、複数の端子を持つ比較的小型のパッケージに封入され、内部で端子からチップに配線されモールドされた状態で、部品・製品となっている。.

新しい!!: 並行性と集積回路 · 続きを見る »

透過性 (情報工学)

以下はヒトとコンピュータとのインタラクションにおける透過性(とうかせい、)の説明である。プログラミングにおける透過性は参照透過性を参照。 ヒューマンマシンインターフェースにおいてユーザーが技術的詳細に悩まずに済む使い易さの側面であり、例えば、プログラムがディスプレイの解像度を自動認識する方がユーザーにいちいち質問するものよりも「透過的」であると言える。 ネットワークにおいては、同一のユーザーインターフェイスやアプリケーションインターフェイスで異なる論理動作をサポートするソフトウェアは「透過的」であると言える。例えば、Network File System は遠隔地にあるファイルをあたかもローカルな記憶装置に置かれているかのようにアクセスできるようにしている。 同様に、一部のファイルシステムは「透過的」にデータの圧縮と解凍を行い、より多くのファイルを記憶媒体上に格納できるようにしており、ユーザーは特別な技術的知識を必要としない。他にも透過的にファイルを暗号化するファイルシステムもある。また、様々なデータベースを利用できるようにアプリケーションにデータベースアクセスのための抽象化層を開発することがある。この抽象化層はデータベースへの「透過的」なアクセスを実現するものである。オブジェクト指向プログラミングでは、実装の異なる同一インターフェイスを使用することによって透過性を実現する。 8ビットクリーンな通信ネットワークは、制御文字がどのように送られるかといった知識なしに任意のファイルを転送できる。電子メール等の8ビットクリーンではない通信ネットワークでは、制御文字や8ビット文字の通過できない文字を送信する前に通過できる文字に変換し、受信した後で元に戻すことによって、該通信ネットワークで転送できる文字の知識なしにファイルを転送できる透過性を実現する。.

新しい!!: 並行性と透過性 (情報工学) · 続きを見る »

Linda

Linda は、並列プログラミング言語であり、Prolog、C言語、Javaなどの他の(逐次的)言語上に拡張として実装される。.

新しい!!: 並行性とLinda · 続きを見る »

OpenMP

OpenMPは、並列コンピューティング環境を利用するために用いられる標準化された基盤。OpenMPは主に共有メモリ型並列計算機で用いられる。 MPIでは明示的にメッセージの交換をプログラム中に記述しなければならないが、OpenMPはOpenMPが使用できない環境では無視されるディレクティブを挿入することによって並列化を行う。このため並列環境と非並列環境でほぼ同一のソースコードを使用できるという利点がある。 また、プラットフォーム固有のスレッドAPIを使わず、コンパイラによって暗黙的に生成されたスレッドプールを利用してタスクを振り分けることになるため、並列プログラムを簡潔に記述できるだけでなく、複数の環境に移植しやすくなる。 MPIとの比較では、OpenMPは異なるスレッドが同一のデータを同じアドレスで参照できるのに対して、MPIでは明示的にメッセージ交換を行わなければならない。そのためSMP環境においては大きなデータの移動を行なわずにすむので高い効率が期待できる。ただし並列化の効率はコンパイラに依存するのでチューニングによる性能改善がMPIほど高くならないという問題がある。また、。 現在FORTRANとC/C++について標準化が行われている。.

新しい!!: 並行性とOpenMP · 続きを見る »

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

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

新しい!!: 並行性とX10 (プログラミング言語) · 続きを見る »

正当性 (計算機科学)

計算機科学における正当性(Correctness)とは、アルゴリズムがその仕様に照らして正しいことを意味する。「機能的」正当性とは、アルゴリズムの入出力動作に関する正当性である(すなわち、各入力に対して正しく出力を生成すること)。形式的検証を参照されたい。 完全正当性(Total Correctness)は、アルゴリズムが常に停止することも要求される。一方、部分正当性(Partial Correctness)は単に返ってくる答えが正しいことのみを要求する(常に答えが返ってくるとは限らない)。停止問題には汎用的解法はないので、完全正当性はより深い問題をはらんでいる。 例えば、整数を 1 から順に調べて奇数の完全数を探すとした場合、部分正当性を備えたプログラムを書くのは極めて簡単である(素因数分解を行って n が完全数かどうかを調べる)。しかし、そのプログラムが完全正当性を備えているとするには数論において未知の知識を必要とする。 正当性の証明は数学的証明でなければならず、アルゴリズムもその仕様記述も形式的に与えられなければならない(形式的仕様記述)。特にその証明は、そのアルゴリズムを特定のマシン上でプログラムとして実装したものについて正当性を意味するものではない。その場合メモリ量の限界を考慮する必要がある。 証明論におけるカリー・ハワード対応は、直観主義論理における機能的正当性の証明がラムダ計算における特定プログラムに対応するとしている。このような証明の変換を「プログラム抽出; program extraction」と呼ぶ。.

新しい!!: 並行性と正当性 (計算機科学) · 続きを見る »

時相論理

時相論理(Temporal Logic)とは、時間との関連で問題を理解し表現するための規則と表記法の体系である。時相論理では、「私はいつも腹ペコだ」、「私はそのうち腹ペコになる」、「私は何かを食べるまで腹ペコだろう」といった文を表現できる。1950年代末にが提唱した様相論理に基づいた時相論理を特に時制論理(Tense Logic)と呼ぶことがある。が重要な業績を残した。その後、そこから発展し、アミール・プヌーリら計算機科学者や論理学者が研究を進めた。 時相論理はシステムのハードウェアやソフトウェアの要求仕様を記述する方法として形式的検証で利用される。例えば、「要求が発生したら常にリソースへのアクセスがそのうちに承認される。ただし、決して2つの要求を同時に承認してはならない」といった文章は時相論理で表せる。.

新しい!!: 並行性と時相論理 · 続きを見る »

1960年代

1960年代(せんきゅうひゃくろくじゅうねんだい)は、西暦(グレゴリオ暦)1960年から1969年までの10年間を指す十年紀。この項目では、国際的な視点に基づいた1960年代について記載する。.

新しい!!: 並行性と1960年代 · 続きを見る »

2相コミット

2相コミット(Two-Phase Commit)とは、コンピュータネットワークやデータベースにおいて、分散システム内の全ノードがトランザクションのコミットに合意するための分散アルゴリズムあるいはプロトコルである。ネットワーク障害やノード故障の場合も考慮され、結果としてトランザクションはコミットされるか失敗するかのいずれかの状態となる。しかし、Dale Skeen とマイケル・ストーンブレーカーの研究によれば、2相コミットは同時に複数のサイトが(無作為に)障害に陥った場合に対応できない。このアルゴリズムの2相とは、「調整者; coordinator」が全「参加者; cohorts」の調整を行う「コミット要求相; commit-request phase」と、調整者の決定によって全参加者がトランザクションを完了させる「コミット相; commit phase」である。.

新しい!!: 並行性と2相コミット · 続きを見る »

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

コンカレンシー並行プロセス並行システム

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