BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ Parallel Programming に関するすべてのコンテンツ

  • 進歩を見せる .NET のオプションパラメータ

    オプションパラメータは最初から .NET に含まれていたが,C# でサポートされないこともあり,COM ライブラリ関連以外での使用はタブーである,という解釈が一般的だった。C# 4 でオプションパラメータがサポートされるようになるので,今後はレガシーなコード以外でも多く見られるようになりそうだ。また C# 以外にも,動的言語との相互運用性や変更不能(immutable)なデータ構造体,さらに ASP.NET MVC のさまざまな部分でも使われるようになるだろう。

  • .NET 並列処理拡張のためのパターンとサンプル

    Microsoft は 2007 年から .NET の並列処理拡張 (Parallel Extensions) に取り組んでいるが,それでも .NET 4.0 に実装完成が間に合わなかった機能が数多く残っている。“フレームワークのコアに含めるには,アプリケーション依存性が強すぎる” 機能もあったが,その他は単純にテストとユーザフィードバックの不足が理由だ。代わりとして彼らは,一連のパターンとサンプルをリリースすることにした。

  • Accelerator V2を使ったマルチコアGPU/CPU上での並列プログラムの実行

    現在、プレビュービルドとして提供されているAccelerator V2は、.NETのマネージ・ライブラリでマルチコアCPUやGPU上でのデータ並列プログラムを記述する際の手間を省いてくれるものだ。

  • Clojure総まとめ:Craneによる配布、Incanterによる算術計算、Leiningen 1.0によるビルド

    Clojureインスタンスwの配布と遠隔操作のためのツールであるFlightCasterのオープンソースCraneは、現在EC2に特化されている。IncanterはClojureを使って簡単にR風の統計計算ができるClojureライブラリとツールである。また、ビルドと依存関係管理ツールであるLeiningen 1.0がリリースされた。

  • オープンソース・プロジェクトによりMicrosoftが生命工学の市場に参入

    Microsoft Biology Foundation(MBF)は、.NETフレームワーク上に構築されたライブラリ群であり、オープンソースの伝統に基づいている。Microsoftは、車輪の再発明をすることなく、既に生物情報工学のコミュニティで利用されているファイルフォーマットを活用している。さらにMicrosoftにとってはめずしいことだが、MBFの将来バージョンに加えられる貢献を広く募集しているのだ。

  • Task Parallelライブラリの新しいキャンセルフレームワークのご紹介

    .NETのTask Parallelライブラリは、ベータ2のためにモデルチェンジを行なった。パフォーマンスの向上に加えて、もっとも重要な変更は、おそらく新しいキャンセルフレームワークであろう。これは、親子関係をタスクの論理グループに自由に与えることができるキャンセルトークンによって置き換えるものである。

  • 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がますます重要視されるにつれ、高度な並列プログラミングのコンストラクトに対する関心が新たになった。

BT