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. 程序包需要 NuGet 客户端版本“XXXXX”或更高版本,但当前的 NuGet 版本为“XXXXXXXXXX”

    工具 - 扩展和更新- visual studio 库

  2. 16位GUID

    当我们想要获得一个唯一的key的时候,通常会想到GUID.这个key非常的长,虽然我们在很多情况下这并不是个问题. 但是当我们需要将这个36个字符的字符串放在URL中时,会使的URL非常的丑陋. 想要 ...

  3. 解决At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs

    在写spring security小程序时遇到  At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug l ...

  4. awk入门及进阶

    awk是Linux下优良的文本处理工具,有自成一体的编程语法规则,在循环和条件判断语句等方面和C语言很像. 其一般形式是:Pattern1 {ACTIONS; } Pattern2 { ACTIONS ...

  5. HDU 2013(递归)

    Problem Description 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少 ...

  6. 2.5 SeleniumBuilder辅助定位元素

    前言对于用火狐浏览器的小伙伴们,你还在为定位元素而烦恼嘛?上古神器Selenium Builder来啦,哪里不会点哪里,妈妈再也不用担心我的定位元素问题啦!(但是也不是万能,基本上都能覆盖到) 2.5 ...

  7. GCC内置函数

    在C语言写的程序中,有时候没有包含头文件,直接调用一些函数,如printf,也不会报错,因为GCC内置和一些函数.如果包含了头文件,则去第三方库中链接这个函数,不再使用GCC内置的函数.每个编译器的内 ...

  8. Android反调试笔记

    1)代码执行时间检测 通过取系统时间,检测关键代码执行耗时,检测单步调试,类似函数有:time,gettimeofday,clock_gettime. 也可以直接使用汇编指令RDTSC读取,但测试AR ...

  9. uboot2014.10移植(一)

    最新有点时间,所以想折腾点东西,于是拿起了几年前的TQ2440玩玩,下载了uboot2014.10版本,准备移植到板子上去,没想到折腾环境都折腾了一下午. 1.工具链安装 我的工具链直接用命令安装的: ...

  10. MySQL数据库-外键链表之一对多,多对多

    外键链表之一对多 外键链表:就是a表通过外键连接b表的主键,建立链表关系,需要注意的是a表外键字段类型,必须与要关联的b表的主键字段类型一致,否则无法创建索引 一对多:就是b表的某一个字段值对应a表外 ...