limn2o4 Blog

「任何复杂系统,只要能被分解到最小,那么一定可以被做出来」

6.824分布式系统lab1 map-reduce 实现思路+代码

"BigDL训练原理"

1. 前言 MIT的6.824课程:分布式系统,旨在传授学生分布式系统的基本原理:并行计算,任务调度,容错等等,是一门非常经典的好课,除了课程本身质量意外,他的lab(大作业),也是非常的具有实操性。本片文章将详细介绍这门课的第一个LAB:MAPREDUCE,并给出一个自己的version,供大家参考 2. mapreduce 介绍 大数据时代离不开的三驾马车:HDFS(分布式文件系统),...

BigDL 实战到原理(一) spark集群运行BigDL

"BigDL 实战到原理(一) spark集群运行BigDL"

1. BigDL简介: BigDL是Intel开源的基于Spark,Ray深度学习框架。BigDL在1,0版本后,迁移到了Analytics Zoo这个项目下,目前看官方又要重新将重点迁移到BigDL的2.0版本上,BigDL的2.0版本整合了BigDL 1.0 和 Analytics Zoo中的能力,提供如下的能力 DLlib:spark上的深度学习框架,也就是原本的BigD...

Ray解读(三):追踪任务的生命周期

"Ray解读(三):追踪任务的生命周期"

1. 前言: 本片我们来解读ray白皮书中的对象存储管理的部分,在本篇,我们需要关注两个问题: object是如何创建,销毁的? object和内存的关系? 先来解释一些ray中对象的概念:ray中的对象可以通过一个task的返回或者ray.put方法创建,一旦被创建,这个对象就变得不可变。每次创建的时候,都会创建这个对象的引用,每个worker都可以通过这个对象的对象引用(obj...

Ray解读(二):追踪任务的生命周期

"Ray解读(二):追踪任务的生命周期"

1. 前言: 上一篇,笔者简单介绍了ray的系统框架。系统层面上,ray主要通过中心化的(centrallized)存储,控制一体的中心服务,和两级调度器,来实现高效的分布式计算。本片我们换个视角,从任务和编程模型的角度,解析ray背后的运行机制。 2. Ray编程模型: Ray中的任务基本单元为Task,在Task构成的计算图上,又提供Actor机制,支持有状态计算。 Tasks:t...

Welcome to Jekyll!

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run je...

Ray解读(一):从论文看架构

"Ray解读:从论文看架构"

Ray解读:从论文看架构 1. 简介 人类的想象力是无限的,人类产生的数据也是无限的?当数据不得不突破单机处理的极限的时候,分布式应用就应运而生了。同理,挖掘数据潜力的机器学习算法也会有这样的瓶颈。目前来看,分布式ML主要构建如下几个平台: TF,torch,MXNet 比较常用单机框架,实际上也可以扩展到分布式 集群的情况:SPARK MLlib,Alink(基于Flink)基于...