InfoQ ホームページ Parallel Programming に関するすべてのコンテンツ
-
Googleの実験、新しい言語Go
GoはGoogleによる新しいオープンソースの実験的プログラミング言語である。Cに似ているが、リフレクション、ガベージコレクタ、動的型、並行性、および、並列処理のような機能が追加されている。
-
.NET 4のキャンセルフレームワーク
.NET 4には、キャンセルに対応したアプリケーションやライブラリの構築を支援する新しい型が含まれる予定である。CancellationToken、 CancellationTokenSource、そしてキャンセル例外という新しい型は、協調的なキャンセルフレームワークを提供する。
-
MicrosoftがAxumをリリース
2週間前InfoQは、進化言語プロジェクトであるAxumをシップするというMicrosoftの計画を発表した。その一方で、Microsoftは早期リリース(v.0.1)のパッケージ化を完了し、ダウンロードで利用可能にした。
-
Axum - Microsoftによる並行性のためのアプローチ
AxumはMicrosoftのインキュベーション言語プロジェクトであり、分離やアクター、メッセージパッシングを通じて.NETに並列プログラミングモデルを提供するものだ。以前はMaestroと呼ばれていた。この言語はErlangから多くの概念を借り受けているが、C#��の構文を使っている。
-
並列プログラミングは難しい?Guy Blelloch 教授はそうではないと主張
Cilk Arts での評論において Guy Blelloch 教授は並列プログラミングは本来難しいものではなく、むしろ抽象化に関する問題であると主張している。Blelloch 氏が特定する3つの問題点は、並列的思考の訓練の欠如、並列的な実装のアルゴリズムからの分離、そして決定論である。それぞれの問題についての詳述の後、彼はなぜそれらが克服可能であると考えるのかを説明している。
-
関数型プログラミングとCoordination Data Structures
Coordination Data Structures (CDS) は.NET 4で計画されている新しいAPIであり、スレッドセーフなオブジェクトや主にコレクションを扱うものだ。そのCDSに、およそ6ヶ月の沈黙を経ていくつかの大きな更新があった。もっとも注目に値するのは関数型プログラミングの手法が導入されたことだ。これによってデザインパターンを使う必要性が軽減される。
-
.NETアプリケーション向けErlangスタイルの並行性 パート1 - CCR
Erlangは、非常に軽量な、スレッドのようなコンポーネントとしてしられるアクターとの非常にスケーラブルな並行性を可能にする。残念なことに、Erlangを使用するには、レガシーコードをやや難解な言語に再書き込みすることが必要である。しかし、.NETのロボット工学部門によって開発された、ほとんど知られていないCCRプラットフォームといった他のオプションがある。
-
Anders Hejlsberg氏およびGuy Steele氏が並列性および言語設計について語る
JAOOにて収録されたインタビューで、Anders Hejlsberg氏およびGuy Steele氏は言語設計の並行性について話している。Anders Hejlsberg氏は、C#のチーフアーキテクトであり、Turbo Pascalの作成者であり、Delphiの旧チーフアーキテクトである。Guy Steele氏は、Schemeの作成者であり、現在は並列処理と計算に焦点を当てるプログラミング言語であるSunのFortressに取り組んでいる。
-
.NET 4の機能を考える:並列プログラミング
共通言語ランタイムはロックやスレッド、スレッドプールという形で、並列プログラミングに対して常に基本的にサポートしてきた。マルチコアCPUがますます重要視されるにつれ、高度な並列プログラミングのコンストラクトに対する関心が新たになった。
-
Visual Studio 2010の主機能:プロファイル作成およびデバッギング並列アプリケーション
Visual Studio 2010は、プロファイル作成およびデバッギング並列アプリケーションへ新しくフォーカスするとしている。これらに含まれるのは、スレッドではなくタスクの観点からコードをデバッグするツールおよびOSがスレッドを効率的にスケジューリングしている様子を示すプロファイラーである。
-
Article: Java 6のスレッド最適化は実際に動作しているのか? - パートII
パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。
-
NeverBlockおよび非ブロッキングデータベースアダプター
Postgresに加えて、新たなMySQLPlusアダプターでNeverBlockもMySQLをサポートする。MySQLPlusの2人のデベロッパに話を聞いた。
-
Article: Java 6のスレッド最適化は実際に動作しているのか?
2つのパートからなるこの記事では、シングルスレッドベンチマークの助けを借りて、Java 6のスレッドのパフォーマンスに関する疑問に答える試みをしようと思います。
-
並行コレクションの列挙
Parallel Extensions for .NETには、スタックとキューの並行コレクションが2つ入っている。他のコレクションクラスは開発中だが、セマンティクスについてはなかなか解決できない問題がある。とりわけ、1つのスレッドがコレクションを列挙しているときに、別のスレッドがそのコレクションを修正すると、どうなるのだろうか。
-
.NET向けデッドロックのデバッグ
難しい設定などは一切なしで、.NETにはデッドロック検出のサポートがない。通常、デッドロックのチェックはデバッガを取り付けて、各スレッドを検査することでおこなわれる。CGUIデバッグツール、HawkEyeorneliuの作成者であるCorneliu氏が、その代わりになるものを提供してくれた。氏のACorns.Debuggingツールは、それらを再コンパイルすることなく、ほとんどの.NETプログラムに対して機能する。