Geeks)企業システムの企画・開発に携わる技術者集団のブログです。開発言語やフレームワークなどアプリケーション開発に関する各種情報を発信しています。ウルシステムズのエンジニア有志が運営しています。この広告は、90日以上更新していないブログに表示しています。マルチコアが当たり前になった。マルチコアを使うにはマルチスレッドプログラムを扱う必要がある。サービスなど複数のネットワーク通信を使用することが多くなっている。通常ネットワーク通信は同期処理で行われる。複数のネットワーク通信を同期処理で行うと、通信結果の待ち時間が増えるため処理時間が延びてしまう。処理時間を短縮するためには、通信の非同期化や並列化が必要となる。マルチコアを使いこなし、かつ複雑なアプリケーションを構築するためには、並行処理を簡単かつ効率的に記述する必要がある。通して、並行処理を実現する方法を紹介する。アクターモデルとは並列処理を効率的に実現する方法のひとつにアクターモデルがある。アクターモデルとは、1973年にカール・ヒューイット氏が発表した並行処理を行うための計算モデルである。マルチコアのコンピュータが高速ネットワークで接続する時代を想定して考案されたもののため、現在に合致している。アクターモデルでは、アクターと呼ばれるオブジェクト同士が並列でメッセージを送受信しあって処理を実現する。アクターは、オブジェクト指向プログラムにおけるオブジェクトのように、アクターモデルの主役となるものだ。1つ1つのアクターは、メッセージを受信するための専用のメールボックスを持っている。メールボックスにメッセージを受信すると、メッセージの内容に応じた処理を行うことができる。その処理の中では、他のアクターに向けてメッセージを送信することができる。イメージを以下に示す。アクターモデルの特徴は、上記の機能を全て非同期で処理することにある。アクター同士はメッセージを通してのみ結合するため、疎結合であり独立性が高くなる。アクターが持つ状態は自分からしか参照できないため、ロックをする必要がない。そのため、アクターモデルによる並行処理を利用すると、排他制御をプログラマが意識する必要が無くなる。並行処理ライブラリである。向けの2つが使用できる。社)主導でメンテナンスを行っている。著名なライブラリを開発している企業である。特徴として、大きくプログラムを変えることなくスケールアップ・スケールアウトのいずれも実現できることが挙げられる。手段でネットワーク通信を行う必要があった。マルチスレッドの制御とネットワーク通信の両方を隠蔽し、設定に応じて両者を切り替えることができる。主要な機能は以下の通りだ。またがってアクターを配置できる。いるかを意識する必要が無く、同じプログラミングで実現できる。複数サーバーへのアクターの配置も設定ファイルの修正のみで対応できる。上で扱うことができる。これにより、処理性能の向上を図ることができる。永続性アクターがメモリに持つ状態を、データベースなどに保存することができる。これにより、障害の回復やアプリケーションの再起動時に、状態の復元ができる。ライブラリや、リアクティブストリーム実装など、多数の拡張ライブラリが提供されている。備える機能について、サンプルコードを示しながら、一つずつ紹介していく。中心に紹介する予定だ。詳しくない方も安心してほしい。次回は、アクターを用いた基本的なプログラムを紹介する。アクターモデルの概要について説明した。今回...2016-08-15Cloud9の概要Cloud9はいわゆるクラウドIDEである。アクターモデルとAkkaの概要XP祭り2016でエンタープライズへのアジャイル開発の導入事例を講演Cloud9の概要プロフィールid:enterprisegeeks企業システムの企画・開発に携わる技術者集団です。開発言語やフレームワークなどアプリケーション開発に関する各種情報を発信しています。ウルシステムズのエンジニア有志が運営しています。月別アーカイブはてなブログをはじめよう!enterprisegeeksさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。