BT

Haxl - Haskellを使った暗黙的な並列データアクセス

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2014年6月19日. 推定読書時間: 1 分 |

原文(投稿日:2014/06/11)へのリンク

Facebookは,効率的な並行データアクセスのためのライブラリであるHaxlをオープンソースとして公開した。表現力のある型システムや並列性,安全性保証といった,Haskellの従来からの強みに加えて,GHCの持つ実行時のハイパフォーマンスを活用することで,暗黙の並列データアクセスという厄介な問題を解決する。

HaxlはデータベースWebサービスといった,リモートデータへのデータアクセスを単純化する。同じデータソースに対する複数の要求,複数のデータソースに対する要求を,自動的に並列バッチ処理することが可能であると同時に,実行された要求のキャッシュも行う。開発に携わったエンジニアのひとりであるJon Purdy氏は,次のように説明する

ここでの基本的な考え方は,どうしようもなく不効率なデータ取得コード — ループ内のクエリや明示的でない重複排除のような — をネイティブに書いても,内部で効果的な並列処理へと魔法のように変換する,というものです。

アプリケーションでHaxlを使うには,データソースとそのアクセス方法を定義するために,薄いレイヤを作る必要がある。

Haxlでは計算処理を暗黙的に並列化可能にするため,Applicative型のクラスを使用している。詳細な動作については,このプレゼンテーションを見るとよいだろう。ライブラリはhackageから,そのソースコードはGitHubから取得することができる。

Haxlは,同種の問題を解決するFXLの後継となるものだ。 FXLも純粋な実行モデルを持っているが,実装にはパフォーマンス上,特にCPUとメモリ使用量に関して問題があるようだ。これまでは,HaskelとGHCの使用が最高の代替策だった。Haxlの背景となった事情や,Facebookで現在運用されているユースケースについても詳細も公開されている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT