Distributed processing
Distributed processing
|
Tool |
好处 |
坏处 |
类型 |
支持序列化 |
支持根据负载动态调度任务 |
支持c |
支持dependency的调度 |
有成熟的library |
|||||
|
Actor model |
天生支持分布式,本身已经包含基本的serialization功能 |
比较底层 需要自己编写调度代码 没有广泛支持c的library |
传统基于msg的系统 |
v |
x |
v |
x |
x |
|||||
|
Apache Storm |
本身支持分布式,dependency的调度 |
基于java,不支持c |
Streaming 系统 |
v |
v |
x |
v |
v |
|||||
|
Grpc |
支持c |
需要自己编写调度代码 效率不高(基于http) |
RPC |
v |
x |
v |
x |
v |
|||||
|
Stapl (Standard Adaptive Parallel Library) https://parasol.tamu.edu/stapl/ |
STAPL(标准模板自适应并行库)是用于在C ++中开发并行程序的框架。它设计用于共享和分布式内存并行计算机 TaskGraph |
V? |
|||||||||||
|
Stolos, https://github.com/sailthru/stolos/blob/master/README.md Chronos, luigi, Azkaban |
a task dependency scheduler that helps build distributed pipelines |
像是接近批处理框架,实时性可能会慢? |
V? |
||||||||||
|
Zeromq |
支持c |
只是消息队列,需要自己编写序列化,和调度 |
V? |
||||||||||
|
Celery http://www.celeryproject.org/ |
芹菜:分布式任务队列 Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。 |
基于python |
V? |
x |
? |
v |
|||||||
|
Thrift |
|||||||||||||
|
hadoop |
批处理系统,慢 Map reduce不是非常适用 Java |
MapReduce-like 系统 |
v |
v |
v |
x |
V |
||||||
|
MPI (mpich2 和 openmpi) |
传统基于msg的系统 |
||||||||||||
|
GraphLab (dato) https://turi.com/ |
好像用于机器学习方面的 |
图计算系统 |
|||||||||||
|
Giraph / Hama |
图计算系统 |
||||||||||||
|
Spark Streaming |
不是纯粹的流处理,实时性可能会有影响 |
Streaming 系统 |
|||||||||||
|
Flink |
Streaming 系统 |
||||||||||||
|
|
|||||||||||||
|
Bonic https://boinc.berkeley.edu/trac/wiki/ProjectMain |
|||||||||||||
|
Tpl dataflow |
|||||||||||||
|
Julia language https://julialang.org/ |
语言层面支持分布式 |
没有图调度 |
v |
v |
vx |
x |
V |
||||||
|
是一个标准 |
|||||||||||||
|
是一个标准 |
|||||||||||||
|
|||||||||||||
|
Keywords
Distributed processing
Distributed computing
Distributed task scheduler
并行计算
高性能计算
Task Dependence Graph
技术
Paxos
Consistent Hash
分布式存储系统还有一系列的理论、算法、技术作为支撑:例如 Paxos, CAP, ConsistentHash, Timing (时钟), 2PC, 3PC
分布式计算系统也做了一个分类,如下:
1. 传统基于msg的系统
2. MapReduce-like 系统
3. 图计算系统
4. 基于状态(state)的系统
5. Streaming 系统
https://en.wikipedia.org/wiki/List_of_concurrent_and_parallel_programming_languages
http://www.infoq.com/cn/articles/comparison-of-main-stream-processing-framework
http://www.infoq.com/cn/articles/comparison-of-main-stream-processing-framework
Distributed processing的更多相关文章
- 分布式系统(Distributed System)资料
这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但 ...
- Stream processing with Apache Flink and Minio
转自:https://blog.minio.io/stream-processing-with-apache-flink-and-minio-10da85590787 Modern technolog ...
- Identifying a distributed denial of service (DDOS) attack within a network and defending against such an attack
The invention provides methods, apparatus and systems for detecting distributed denial of service (D ...
- Hadoop
Hadoop应用场景 Hadoop是专为离线处理和大规模数据分析而设计的,它并不适合那种对几个记录随机读写的在线事务处理模式. 大数据存储:Hadoop最适合一次写入.多次读取的数据存储需求,如数据仓 ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- 中国计算机学会CCF推荐国际学术会议
中国计算机学会推荐国际学术会议 (计算机系统与高性能计算) 一.A类 序号 会议简称 会议全称 出版社 网址 1 ASPLOS Architectural Support for Programmin ...
- Hadoop基础——第一弹:Hadoop介绍
一.基础 1.了解Java.Linux操作系统相关知识 2.如需精进,应为水平要达到一定标准,能够阅读国外相关技术网站,eg:http://hadoop.apache.org/ 二.什么是Hadoop ...
- Hadoop HDFS 用户指南
This document is a starting point for users working with Hadoop Distributed File System (HDFS) eithe ...
- Azure HDInsight 和 Spark 大数据实战(一)
What is HDInsight? Microsoft Azure HDInsight 是基于 Hortonoworks Data Platform (HDP) 的 Hadoop 集群,包括Stor ...
随机推荐
- linux 部署之路 修行不够全靠悟
考虑到很多孩子不会Linux或Mysql,所以我这里提示一下, 这篇教程里 "有多行代码" 的是给你展示结果的,不用你敲 只有一行的才是要你自己敲进去的. 1.首先更新一下仓库 ...
- 【Python】多进程-共享变量(Value、string、list、Array、dict)
#练习:未使用共享变量 from multiprocessing import Process def f(n, a): n = 3.1415927 for i in range(len(a)): a ...
- 【Python】进程3
#练习: import time from multiprocessing import Pool def run(fn): #fn: 函数参数是数据列表的一个元素 time.sleep(1) ret ...
- spring — jdbc 配置文件的设置
---参考配置, 链接mysql 数据库 <!-- 1.配置数据源 --><bean id="dataSource" class="org.sprin ...
- React Natived打包报错java.io.IOException: Could not delete path '...\android\support\v7'解决
问题详情 React Native打包apk时在第二次编译时候报错: java.io.IOException: Could not delete path 'D:\mycode\reactnative ...
- 2.20 绕过验证码(add_cookie)
2.20 绕过验证码(add_cookie) 前言验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级 ...
- 20165228 2017-2018-2 《Java程序设计》第7周学习总结
20165228 2017-2018-2 <Java程序设计>第7周学习总结 教材学习内容总结 MySQL数据库管理系统安装和初始化 使用MySQL建立连接和数据库.表 使用JDBC:(1 ...
- pytorch如何能够保证模型的可重复性
问题背景是这样的: 我用了自己定义了pytorch中的模型,并且,在main函数中设置了随机种子用来保证模型初始化的参数是一致的,同时pytorch中的随机种子也能够影响dropout的作用,见链接 ...
- Bigining
今天,我的第一个软件工程项目团队组建成功,找到了自己的队友. 从现在开始就要分析和构思项目的具体内容.
- django安装命令
通过pip安装Django ==指定版本号 pip install Django==2.0.2 查看djangoshifou安装成功:1.进入python ,2.import django 查 ...