翻訳への提案を行います
 
他のユーザーによる提案:

progress indicator
他の提案はありません。
 印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2010 Beta 2
Visual Studio
Visual C++
Visual C++ のリファレンス
実行時の同時実行制御
すべて縮小/すべて展開 すべて縮小
コンテンツの表示:   英語と日本語を並べて表示コンテンツの表示: 英語と日本語を並べて表示
このページは、ベータ版用に機械翻訳されたものです。翻訳者による翻訳は、製品の正規版で提供される予定です。詳細についてはよくある質問 を参照してください。またぜひこちら からアンケートにもご協力ください。
Concurrency Runtime

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

The Concurrency Runtime is a concurrent programming framework for C++. The Concurrency Runtime simplifies parallel programming and helps you write robust, scalable, and responsive parallel applications. The Concurrency Runtime raises the level of abstraction so that you do not have to manage the infrastructure details that are related to concurrency. The Concurrency Runtime also enables you to specify scheduling policies that meet the quality of service demands of your applications.

A concurrency runtime provides uniformity and predictability to applications and application components that run simultaneously. Two examples of the benefits of a concurrency runtime are cooperative task scheduling and cooperative blocking.

The Concurrency Runtime uses a cooperative task scheduler that implements a work-stealing algorithm to efficiently distribute work among computing resources. For example, consider an application that has two threads that are both managed by the same runtime. If one thread finishes its scheduled task, it can offload work from the other thread. This mechanism balances the overall workload of the application.

The Concurrency Runtime also provides synchronization primitives that use cooperative blocking to synchronize access to resources. For example, consider a task that must have exclusive access to a shared resource. By blocking cooperatively, the runtime can use the remaining quantum to perform another task as the first task waits for the resource. This mechanism promotes maximum usage of computing resources.

The Concurrency Runtime is divided into four components: the Parallel Patterns Library (PPL), the Asynchronous Agents Library, the Task Scheduler, and the Resource Manager. These components reside between the operating system and applications. The following illustration shows how the Concurrency Runtime components interact among the operating system and applications:

Concurrency Runtime Architecture

The Concurrency Runtime is highly composable, that is, you can combine existing functionality to do more. The Concurrency Runtime composes many features, such as parallel algorithms, from lower-level components.

The following sections provide a brief overview of what each component provides and when to use it.

Parallel Patterns Library

The Parallel Patterns Library (PPL) provides general-purpose containers and algorithms for performing fine-grained parallelism. The PPL enables imperative data parallelism by providing parallel algorithms that distribute computations on collections or on sets of data across computing resources. It also enables task parallelism by providing task objects that distribute multiple independent operations across computing resources.

Use the Parallel Patterns Library when you have a local computation that can benefit from parallel execution. For example, you can use the parallel_for algorithm to transform an existing for loop to act in parallel.

For more information about the Parallel Patterns Library, see Parallel Patterns Library (PPL).

Asynchronous Agents Library

The Asynchronous Agents Library (or just Agents Library) provides both an actor-based programming model and message passing interfaces for coarse-grained dataflow and pipelining tasks. Asynchronous agents enable you to make productive use of latency by performing work as other components wait for data.

Use the Agents Library when you have multiple entities that communicate with each other asynchronously. For example, you can create an agent that reads data from a file or network connection and then uses the message passing interfaces to send that data to another agent.

For more information about the Agents Library, see Asynchronous Agents Library.

Task Scheduler

The Task Scheduler schedules and coordinates tasks at run time. The Task Scheduler is cooperative and uses a work-stealing algorithm to achieve maximum usage of processing resources.

The Concurrency Runtime provides a default scheduler so that you do not have to manage infrastructure details. However, to meet the quality needs of your application, you can also provide your own scheduling policy or associate specific schedulers with specific tasks.

For more information about the Task Scheduler, see Task Scheduler (Concurrency Runtime).

Resource Manager

The role of the Resource Manager is to manage computing resources, such as processors and memory. The Resource Manager responds to workloads as they change at run time by assigning resources to where they can be most effective.

The Resource Manager serves as an abstraction over computing resources and primarily interacts with the Task Scheduler. However, you can use the Resource Manager to integrate the computing resource management of the Concurrency Runtime with your own concurrency library. You can also use the Resource Manager to fine-tune the performance of the Concurrency Runtime with your applications.

The following table shows the header files that are associated with each component of the Concurrency Runtime:

Component

Header Files

Parallel Patterns Library (PPL)

ppl.h

concurrent_queue.h

concurrent_vector.h

Asynchronous Agents Library

agents.h

Task Scheduler

concrt.h

Resource Manager

concrtrm.h

The Concurrency Runtime is declared in the Concurrency namespace. The Concurrency::details namespace supports the Concurrency Runtime framework, and is not intended to be used directly from your code.

The Concurrency Runtime is provided as part of the C Runtime Library (CRT). For more information about how to build an application that uses the CRT, see C Run-Time Libraries.

Conventions (Concurrency Runtime)

Describes the common coding conventions that make the Concurrency Runtime easier to use.

Parallel Patterns Library (PPL)

Describes how to use various parallel patterns, such as parallel algorithms, in your applications.

Asynchronous Agents Library

Describes how to use asynchronous agents in your applications.

Synchronization Data Structures

Describes the various synchronization primitives that the Concurrency Runtime provides.

Task Scheduler (Concurrency Runtime)

Describes how to use the Task Scheduler to adjust the performance of your applications.

Exception Handling in the Concurrency Runtime

Describes the role of exception handling in the Concurrency Runtime.

Further Reading (Concurrency Runtime)

Provides links to additional sources of information about Concurrency Runtime.

Reference (Concurrency Runtime)

Provides reference material for the Concurrency Runtime library.

Parallel Programming in the .NET Framework

Describes the parallel programming functionality that is provided by the .NET Framework version 4 Beta 1.

Visual Studio 2010 - Visual C++
実行時の同時実行制御

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

同時実行制御ランタイムは、同時実行のプログラミング フレームワーク C++ です。 同時実行制御、実行時並列プログラミングを簡略化できする堅牢でスケーラブルな書き込みと並列アプリケーションの応答できます。 操作を行います同時実行に関連付けられているインフラストラクチャの詳細を管理する必要があるないように、同時実行制御のランタイムの抽象化レベルをさせます。 同時実行制御のランタイムをアプリケーションの要求をサービスの品質を満たすスケジューリング ポリシーを指定できます。

同時実行制御のランタイムは統一およびアプリケーションを同時に実行されるアプリケーション コンポーネントの予測可能性を提供します。 同時実行制御のランタイムの利点の例の 2 つとしては、 のブロックを協調のスケジューリング 協調タスク。

同時実行制御、実行時は、コンピューティング リソース間での作業を効率的に配布するための作業を盗むのアルゴリズムを実装する協調タスク スケジューラを使用します。 たとえば、同じランタイムによって管理される両方 2 つのスレッドがアプリケーションを考えます。 1 つのスレッドがそのタスクを完了する場合、その他のスレッドから作業をオフロードできます。 このメカニズムは、アプリケーションの全体的な負荷を分散されます。

同時実行制御、実行時は、協調ブロックを使用してリソースへのアクセスを同期する同期プリミティブも提供します。 たとえば、共有リソースへの排他アクセス必要があるタスクを考えます。 共同のブロックをすることによってランタイム最初のタスク、リソースを待機する別のタスクを実行するのに、残りのクォンタムを使用することができます。 このメカニズムはコンピューティング リソースの最大使用率を促進します。

同時実行制御の実行時は 4 つのコンポーネントに分かれています。並列パターン ライブラリ (PPL)、非同期エージェント ライブラリ、タスク スケジューラをおよび、リソース マネージャー。 これらのコンポーネントが、オペレーティング システムとアプリケーション間で存在します。 次の図は、オペレーティング システムとアプリケーション間での同時実行制御のランタイム コンポーネントの対話方法を示しています。

同時実行制御のランタイムのアーキテクチャ

同時実行制御、実行時は の composable で高度より多く既存の機能を結合できます。 同時実行制御、実行時、下位レベルのコンポーネントからの並列アルゴリズムなどの多くの機能を作成します。

次に、各コンポーネントの提供と、使用する場合の概要説明します。

並列パターン ライブラリ

並列パターン ライブラリ (PPL) はきめ細かな並列処理を実行するため汎用的なコンテナーとアルゴリズムを提供します。 コレクションまたはデータのセットに計算のコンピューティング リソースを分散する並列アルゴリズムを提供することによって、PPL を可能に の強制のデータ並列処理します。 複数の独立した操作のコンピューティング リソースを分散するタスク オブジェクト提供することで のタスク並列処理を可能にもします。

並列実行を使えますが、ローカル計算した場合は、並列パターン ライブラリを使用します。 たとえば、parallel_for アルゴリズムを使用すると並列で動作するのに、既存の for ループを変換することができます。

並列パターン ライブラリについては、並列パターン ライブラリ (PPL) を参照してください。

非同期エージェント ライブラリ

非同期エージェント ライブラリ (または単なる のエージェント ライブラリ)"は、アクター ベースのプログラミング モデルおよびメッセージきめの粗いデータ フローのインターフェイスを渡すと、タスクのパイプラインの両方提供します。 非同期のエージェントでは、他のコンポーネントがデータを待機するように作業を実行して遅延を生産的に利用できます。

非同期で互いに通信する複数のエンティティがある場合は、エージェント ライブラリを使用します。 たとえば、エージェントをファイルまたはネットワーク接続からデータを読み取りますされ、次のインターフェイスを渡すメッセージを使用してそのデータを別のエージェントに送信するを作成することができます。

エージェント ライブラリについては、非同期エージェント ライブラリ を参照してください。

タスク スケジューラ

タスク スケジューラやスケジュール タスクを実行時に調整します。 タスク スケジューラが協調し、作業を盗むアルゴリズムを使用してリソース処理の最大使用率を実現します。

同時実行制御、実行時はインフラストラクチャの詳細を管理する必要はありませんようにに、既定のスケジューラを提供します。 ただし、アプリケーションの品質をニーズにも提供できます独自スケジューリング ポリシーまたは関連付ける特定スケジューラ特定のタスク。

タスク スケジューラの詳細については、タスク スケジューラ (同時実行制御の実行時)」を参照してください。

リソース マネージャー

リソース マネージャーの役割は、プロセッサやメモリなどのコンピューティング リソースを管理です。 場所できる最も効果的なにリソースを割り当てることによって実行時に変更すると、リソース マネージャーはワークロードを返します。

リソース マネージャーは、コンピューティング リソースに対する抽象として機能し、タスク スケジューラを主に対話します。 ただし、独自の同時実行ライブラリと、同時実行制御のランタイムのコンピューティング リソース管理を統合するのに、リソース マネージャーを使用することができます。 アプリケーションで、同時実行制御の実行時のパフォーマンスを微調整するのに、リソース マネージャーを使用することも。

次の表は、同時実行制御の実行時の各コンポーネントに関連付けされるヘッダー ファイルを示しています。

コンポーネント

ヘッダー ファイル

並列パターン ライブラリ (PPL)

ppl.h

concurrent_queue.h

concurrent_vector.h

非同期エージェント ライブラリ

agents.h

タスク スケジューラ

concrt.h

リソース マネージャー

concrtrm.h

同時実行制御、実行時が 同時実行制御 名前空間で宣言されました。 Concurrency::details 名前空間、同時実行制御の実行時のフレームワークをサポートするものいないコードから直接使用するされます。

同時実行制御、実行時は一部の C ランタイム ライブラリ (CRT) のとして提供されます。 CRT を使用するアプリケーションを構築する方法については、C ランタイム ライブラリ を参照してください。

規則 (同時実行制御の実行時)

同時実行制御ランタイムを使いやすく、一般的なコーディング規則について説明します。

並列パターン ライブラリ (PPL)

アプリケーションで、並列アルゴリズムなどのさまざまな並列パターンを使用する方法について説明します。

非同期エージェント ライブラリ

アプリケーションで非同期のエージェントを使用する方法について説明します。

同期データ構造体

同時実行制御ランタイムを提供するさまざまな同期プリミティブ、について説明します。

タスク スケジューラ (同時実行制御の実行時)

タスク スケジューラを使用して、アプリケーションのパフォーマンスを調整する方法について説明します。

例外は、同時実行制御のランタイムでの処理

同時実行制御のランタイムの例外処理の役割について説明します。

参考資料 (同時実行制御の実行時)

同時実行制御のランタイムについての追加のソースへのリンクを示します。

参照 (同時実行制御の実行時)

同時実行制御のランタイム ライブラリのリファレンスを提供します。

.NET Framework で並列プログラミング

.NET Framework Version 4 Beta 1 によって提供される並列プログラミング機能について説明します。

© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker