Distributed processing

Tool

好处

坏处

类型

支持序列化

支持根据负载动态调度任务

支持c

支持dependency的调度

有成熟的library

Actor model

天生支持分布式,本身已经包含基本的serialization功能

比较底层

需要自己编写调度代码

没有广泛支持c的library

传统基于msg的系统

v

x

v

x

x

Apache Storm

http://storm.apache.org/

本身支持分布式,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/

https://parasol-lab.gitlab.io/stapl-home/docs/sgl/

https://gitlab.com/parasol-lab

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 系统

TBB

Charm++

Titanium

UPC

PSTL

Bonic

https://boinc.berkeley.edu/trac/wiki/ProjectMain

Tpl dataflow

Julia language

https://julialang.org/

语言层面支持分布式

没有图调度

v

v

vx

x

V

是一个标准

是一个标准

  • Apache graphx
  • Apache Storm,Trident,Spark Streaming,Samza和Apache Flink

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的更多相关文章

  1. 分布式系统(Distributed System)资料

    这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但 ...

  2. Stream processing with Apache Flink and Minio

    转自:https://blog.minio.io/stream-processing-with-apache-flink-and-minio-10da85590787 Modern technolog ...

  3. 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 ...

  4. Hadoop

    Hadoop应用场景 Hadoop是专为离线处理和大规模数据分析而设计的,它并不适合那种对几个记录随机读写的在线事务处理模式. 大数据存储:Hadoop最适合一次写入.多次读取的数据存储需求,如数据仓 ...

  5. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  6. 中国计算机学会CCF推荐国际学术会议

    中国计算机学会推荐国际学术会议 (计算机系统与高性能计算) 一.A类 序号 会议简称 会议全称 出版社 网址 1 ASPLOS Architectural Support for Programmin ...

  7. Hadoop基础——第一弹:Hadoop介绍

    一.基础 1.了解Java.Linux操作系统相关知识 2.如需精进,应为水平要达到一定标准,能够阅读国外相关技术网站,eg:http://hadoop.apache.org/ 二.什么是Hadoop ...

  8. Hadoop HDFS 用户指南

    This document is a starting point for users working with Hadoop Distributed File System (HDFS) eithe ...

  9. Azure HDInsight 和 Spark 大数据实战(一)

    What is HDInsight? Microsoft Azure HDInsight 是基于 Hortonoworks Data Platform (HDP) 的 Hadoop 集群,包括Stor ...

随机推荐

  1. Ansible-playbook的简单使用 [转]

    一. 介绍 ansbile-playbook是一系列ansible命令的集合,利用yaml 语言编写.playbook命令根据自上而下的顺序依次执行.同时,playbook开创了很多特性,它可以允许你 ...

  2. 2.Python爬虫入门二之爬虫基础了解

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

  3. 玩转 React 【第03期】:邂逅 React 组件

    上期回顾 前文我们讲解了 React 模板 JSX,接着我们继续来看看 React 组件又是如何工作的呢? 组件化开发到了今天已经是大家的共识,在 React 中,组件同样也是组成我们整个项目的基本单 ...

  4. L230 RF可靠性测试-RF指标

    最近调试Zigbee 和2.4G产品时需要做一些认证,查找到常用的RF指标. ----------http://www.52rd.com/S_TXT/2016_5/TXT83303.htm------ ...

  5. LeetCode—66、88、118、119、121 Array(Easy)

    66. Plus One Given a non-negative integer represented as a non-empty array of digits, plus one to th ...

  6. wx小程序使用模板消息

    1.直接搜索一个不存在的模板,则可以添加新模板 2.https://developers.weixin.qq.com/miniprogram/dev/api/notice.html#%E5%8F%91 ...

  7. 单臂路由实现VLAN间通信

    实验要求:利用路由器完成同vlan能通信,不同vlan也能通信 拓扑如下: 涉及内容有: 1.VTP的创建和配置 2.VLAN的创建和划分 3.路由器的单臂路由配置 配置如下: route1 enab ...

  8. 一种简单的ELF加固方法

    介绍一种ELF文件函数粒度的加固方法,可以有效防止对程序的静态分析.这是一种有源码加固方式,需要被加固程序中代码配合.加固流程如下: 1)读取ELF文件头,获取e_phoff和e_phnum2)通过E ...

  9. 最长可重区间集 spfa费用流

    给定实直线L上的n个开区间,和一个正整数k 选取若干个区间,在保证实直线L上的任意一个点最多被选出区间覆盖k次的情况下,使得这些区间的长度和最大 先把区间按照左端点排序, 考虑到重复其实就代表着相交, ...

  10. 【leetcode】290. Word Pattern

    problem 290. Word Pattern 多理解理解题意!!! 不过博主还是不理解,应该比较的是单词的首字母和pattern的顺序是否一致.疑惑!知道的可以分享一下下哈- 之前理解有误,应该 ...