插队<<< doubanclaim64ea944f8164f0e1
从计算任务的特质来看分为:
1、大计算量,小数据量
2、大数据量,计算相对简单
3、大数据量,大计算量
常见的工作负载有:
1、日志分析,PB级别
2、脱机分析,商业智能,重数据量,TB级别
3、调查式分析,重响应速度,100GB以下
4、金融计算,蒙特卡洛算法,大计算量
常见的分布式计算框架:
1、Hadoop,以分布式文件系统为核心的 Map reduce 框架,擅长超大数据量,高延迟,IO开销大
2、GridGain,以内存数据库为核心的分布式计算框架,擅长大计算量,低延迟,IO开销小
计算的结构有三种:
1、SMP
2、NUMA
3、分布式计算
延迟时间上升,换取计算总能力的上升。IO是主要制约因素。计算量问题首先是IO问题。
从解决问题尝试顺序来说有四层:
1、单线程
2、并行化
3、分布化
4、平台化
并行化的主要目的是突破单核的计算能力上限
分布化的主要目的是突破单机的计算能力上限
平台化的主要目的是突破单项目的能力上限
并行化的根本挑战:
1、任务的切分
2、任务的调度
重心在算法逻辑上
并行化的主要问题:
1、资源争抢
2、数据的隔离性
3、数据的可见性
4、饥饿,死锁,活锁
分布化的根本挑战:
1、计算节点之间的高延迟
2、分布化之后缺乏OS这样的管理者角色
在并行化解决了算法问题之后,分布化主要是为了克服物理限制
分布化的主要问题
1、更容易产生死锁和饥饿
2、拓扑管理
3、异构环境
4、容错机制
5、分布式负载均衡
6、存储能力共享
7、计算能力共享
8、代码的部署和准备
9、集群的监控和管理
平台化的根本挑战:业务问题,政治问题
平台化的主要问题:
1、统一的计算抽象
2、统一的数据抽象
3、异构数据的处理
4、业务优先级的保证
平台化的根本挑战
从实现层面看,有三层问题需要考虑:
1、计算流程
2、多机计算
3、单机计算