actor model vs tasked based parallizm
举例子:计算pi
actor model
概念:一般有n个actor(task),和一个调度线程(本身也是一个actor)
调度线程负责向每个task发送命令执行计算,以及接收每个task的结果并归并到一起
接口一般定义为:
addTask( new Task{ onReceive(msg,from)..., send(to,xxx)} )
tasked based parallizm
概念:可以定义task和io,io用来计算task的依赖关系。系统自动根据依赖关系执行所有task
使用流程:
创建子task,子task无依赖
创建汇总task,依赖所有的子task
最后启动所有task,等待完成即可
接口一般定义为:
addTask(new task(in, out, callbackfun))
如何用actor model实现tasked based parallizm?
MyTask
{
MyTask(in,out) //记录下io即可
onReceive(msg)
{
if msg.id in my dependencies
mark this dependency is done
if all dependencies are done
do the callbackfun
send msg to all out tasks
}
}
boost:;future实现任务并行化
for i in N
future_i =start subtask
ins.append(future_i)
start merge task(ins as input)
wait all task done
Actor model
c++ CAF
http://actor-framework.org/pdf/cshw-nassp-13.pdf
https://github.com/actor-framework/actor-framework
QP/C++
Akka
https://github.com/Neverlord/libcppa
http://www.theron-library.com/
actor model vs tasked based parallizm的更多相关文章
- C++多线程开发之actor model
最近想把写过的一个多线程程序整理一下,这个程序主要特点是有一系列的互相之间有依赖关系的task.于是在网上找相关类库 1,一类是简单的线程池了,这也是原本俺的做法.之前使用的是手工调度,代码实现的很蛋 ...
- .NET Actor Model Implementations Differ in Approach
Last week Vaughn Vernon, author of Implementing Domain-Driven Design, published Dotsero, a .NET Acto ...
- Actor model 的理解与 protoactor-go 的分析
Overview Definition From wikipedia The actor model in computer science is a mathematical model of co ...
- 用actor model实现intel tbb这样的用法
关于什么事actor model,什么事intel tbb这样的用法我就不详细说了,具体请上网查文档 class MyActor { F f; MyActor inputs[]; MyActor ou ...
- 图像显著性论文(一)—A Model of saliency Based Visual Attention for Rapid Scene Analysis
这篇文章是图像显著性领域最具代表性的文章,是在1998年Itti等人提出来的,到目前为止引用的次数超过了5000,是多么可怕的数字,在它的基础上发展起来的有关图像显著性论文更是数不胜数,论文的提出主要 ...
- 2014.8.12-AKKA和Actor model 分布式开发环境学习小结
学习使用AKKA 断断续续有一年了. 眼下还是习惯用java来写akka以下的程序.对于原生的scala还是没有时间和兴趣去学习它. 毕竟学习一门语言须要兴趣和时间的. AKKA学习资源还是不算丰富. ...
- actor concurrency
The hardware we rely on is changing rapidly as ever-faster chips are replaced by ever-increasing num ...
- Akka的Actor模型及使用实例
本文的绝大部分内容转载自rerun.me这一blog,老外写的东西就是好啊. ACTORS介绍 Anyone who has done multithreading in the past won't ...
- Actor模型---SwiftActors
actor是一个无线程区别的内存访问对象:actor背后有线程支持:actor的事件处理依赖与这个线程(队列.池). actor是一种面向对象的线程(池)模型,强调对事件的响应:在iOS中相当于一种通 ...
随机推荐
- 『Scrapy』爬虫框架入门
框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 ...
- Oracle HRMS APIs
Oracle HRMS APIs..... Here I will be sharing all the Oracle HRMS APIs related articles. 参考地址: Oracle ...
- 78. Subsets 90. Subsets II
1. Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset m ...
- Java-Runtime 类
https://www.cnblogs.com/slyfox/p/7272048.html Java-Runtime 类 Runtime 类代表着Java程序的运行时环境,每个Java程序都有一个Ru ...
- 疑难en_a
1◆ a æ eɪ ʌ ɑː ə
- PHP:第三章——PHP中的可变函数
PHP中的可变函数 <?php header("Content-Type:text/html;charset=utf-8"); function F(){ echo '999 ...
- SSH key的烦恼
ssh key即公钥.私钥对,使用这种方式比较安全也比较方便,可以不用输入用户名.密码. 配置步骤: 1.生成ssh key: ssh-keygen -t rsa -C "bjhuxiaol ...
- docker小demo
http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html
- 使用array_merge重新排列数组下标
array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果仅 ...
- Schema——demo
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...