首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏罗西的思考

    PyTorch 分布式(4)------分布式应用基础概念

    [源码解析] PyTorch 分布式(4)------分布式应用基础概念 目录 [源码解析] PyTorch 分布式(4)------分布式应用基础概念 0x00 摘要 0x01 基本概念 0x02 设计思路 在这个简短的教程中,我们将介绍 PyTorch 的分布式包。我们将看到如何设置分布式,使用不同的通信策略,并了解包的一些内部结构。 Store : 分布式包(distributed package)有一个分布式键值存储服务,这个服务在组中的进程之间共享信息以及初始化分布式包 (通过显式创建存储来作为init_method的替代)。 把if __name__ == '__main__': 替换为init_process(0, 0, run, backend='mpi') 运行 mpirun -n 4 python myscript.py dist.init_process_group( init_method='tcp://10.1.1.20:23456', rank=args.rank, world_size=4)

    3.2K32发布于 2021-11-16
  • 来自专栏罗西的思考

    TensorFlow 分布式环境(4) --- WorkerCache

    [源码解析] TensorFlow 分布式环境(4) --- WorkerCache 目录 [源码解析] TensorFlow 分布式环境(4) --- WorkerCache 1. Cache 在系统中的位置 4. 可以说,在 TensorFlow 分布式环境下处处可见缓存的使用。 4. [腾讯机智] TensorFlow源码解析(1): 创建会话 05tensorflow分布式会话 第八节,配置分布式TensorFlow TensorFlow 分布式(Distributed TensorFlow

    75620编辑于 2022-05-09
  • 来自专栏会跳舞的机器人

    Spring Cloud(4)——分布式配置中心

    org.springframework.cloud.config.server.EnableConfigServer; /** * @author: 会跳舞的机器人 * @email:2268549298@qq.com * @date: 17/2/19 下午2:35 * @description:分布式配置中心启动主类 spring.cloud.config.server.git.username=username #git用户密码 spring.cloud.config.server.git.password=password 4、 environment: name=database,component,business, profiles=[dev], label=master, version=a9f8f18e682a03f4d7f046c754472f394313fa82

    52930发布于 2018-09-21
  • 来自专栏技术墨客

    Hazelcast集群服务(4)——分布式Map

    分布式Map基础功能 Map是我们再最常用的数据接口之一,时常用于存储某种关系值。在前面介绍Hazelcast的文章中已经用Map举了很多分布式环境使用的例子。 data"); map.put(1, "Cait Cassiopeia"); map.put(2, "Annie"); map.put(3, "Evelynn"); map.put(4, 前面的博文已经介绍,集群中分布式存储的数据都会被均匀的存储在每个节点上。我们使用Map进行分布式数据存储时,每个节点会按条目(Entry)数将数据进行分布,并且每条数据都会有备份。 store.put(1, "Azeroth"); store.put(2, "Duskwood"); store.put(3, "Elwynn Forest"); store.put(4, 至此,Hazelcasl分布式Map的基本功能就介绍完毕了。

    4.2K30发布于 2018-08-15
  • 来自专栏开源部署

    分布式服务框架的4项特性

    因此分布式系统需要有一种方式来清晰的了解系统的调用及运行状况,测量系统的运行性能,方便准确的指导系统的优化及改进。 由于trace的主要功能都是依赖日志输出来完成,因此通常也需要建设相关的分布式日志系统及数据实时分析展示系统等,分布式日志收集及数据实时分析也是一个非常大的话题,本文不展开详谈。 但由于ZooKeeper本身只是一个通用工具,分布式服务具体场景各种高级特性还需要自行在此基础上实现。 4、服务之间的调度及生命周期管理 目前大部分服务的部署都是按照事先的规划安装在机房不同的服务器上,配置服务通常只是起服务节点的failover作用,业务中真正按弹性调度来运作的系统还不普遍。 上面介绍了这么多,主要是最近考虑团队在上述1-4之间做一些事情。一方面目前业界在这几点之间还有一些缺失或者欠优化之处,另外1-4点之间也可以适当做一些实现的整合。

    29810编辑于 2022-07-03
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:dtm分布式事务(4

    我们继续上一篇golang源码分析:dtm分布式事务(3)分析api服务的源码,位置位于dtmsvr/svr.go: func StartSvr() *gin.Engine dtm server to this url # EndPoint: 'localhost:36790' 总结下就5件事 1,启动http服务 2,启动grpc服务 3,将分支的更新同步到存储 4, ) process(branches []TransBranch) error { rerr = t.getProcessor().ProcessOnce(branches) 每一种分布式事务模型的处理逻辑都不一样 OnConstraint: "gid_branch_uniq", DoUpdates: clause.AssignmentColumns(updates), }).Create(branches) 4

    61110编辑于 2023-03-01
  • 来自专栏罗西的思考

    PyTorch 分布式 Autograd (4) ---- 如何切入引擎

    [源码解析] PyTorch 分布式 Autograd (4) ---- 如何切入引擎 目录 [源码解析] PyTorch 分布式 Autograd (4) ---- 如何切入引擎 0x00 摘要 0x02 具体对应如下图: 2.2 分布式示例 接下来看看分布式的例子,这个例子就是官方设计中图例大致对应的代码,我们把 torch.mul(t3, t4) 命名为 t5,加入了 loss。 t4 = torch.rand((3, 3), requires_grad=True) t5 = torch.mul(t3, t4) # Compute some loss. t4 = torch.rand((3, 3), requires_grad=True) t5 = torch.mul(t3, t4) # Compute some loss. t4 = torch.rand((3, 3), requires_grad=True) t5 = torch.mul(t3, t4) # Compute some loss.

    51930编辑于 2021-12-04
  • 来自专栏小白晋级大师

    分布式系统架构4:容错设计模式

    这是小卷对分布式系统架构学习的第4篇文章,虽然知道大家都不喜欢看纯技术文章,写了也没多少阅读量,但是为了个人要成长,小卷最近每天都会更新分布式的文章1.概念容错策略,指的是“面对故障,我们该做些什么”; 4.重试模式概念:适用于解决系统的瞬间故障,如:网络抖动、服务临时过载问题。通过设定调用超时时间和重试次数,在调用失败后自动重试,提升服务调用成功率。

    44410编辑于 2024-12-20
  • 来自专栏ZooKeeper原理和源码

    zk基础—4.zk实现分布式功能

    大纲1.zk实现数据发布订阅2.zk实现负载均衡3.zk实现分布式命名服务4.zk实现分布式协调(Master-Worker协同)5.zk实现分布式通信6.zk实现Master选举7.zk实现分布式锁8 .zk实现分布式队列和分布式屏障1.zk实现数据发布订阅(1)发布订阅系统一般有推模式和拉模式(2)zk采用了推拉相结合来实现发布订阅(3)使用zk来实现发布订阅总结(4)zk原生实现分布式配置的示例( (1)ID编码的特性(2)通过UUID方式生成分布式ID(3)通过TDDL生成分布式ID(4)通过zk生成分布式ID(5)SnowFlake算法命名服务是分布式系统最基本的公共服务之一。 (2)通过UUID方式生成分布式IDUUID能非常简便地保证分布式环境中ID的唯一性。它由32位字符和4个短线字符组成,比如e70f1357-f260-46ff-a32d-53a086c57ade。 4.zk实现分布式协调(Master-Worker协同)(1)Master-Worker架构(2)Master-Worker架构示例—HBase(3)Master-Worker架构示例—Kafka(4)

    35510编辑于 2025-06-25
  • 来自专栏微信公众号【Java技术江湖】

    分布式系统理论基础4:Paxos

    https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 本文也将同步到我的个人博客: www.how2playlife.com 该系列博文会告诉你什么是分布式系统 ,这对后端工程师来说是很重要的一门学问,我们会逐步了解分布式理论中的基本概念,常见算法、以及一些较为复杂的分布式原理,同时也需要进一步了解zookeeper的实现,以及CAP、一致性原理等一些常见的分布式理论基础 ,以便让你更完整地了解分布式理论的基础,为后续学习分布式技术内容做好准备。 Multi Paxos 通过以上步骤分布式系统已经能确定一个值,“只确定一个值有什么用?这可解决不了我面临的问题。” 你心中可能有这样的疑问。 ? - 一致性、2PC和3PC》 《分布式系统理论基础 - 选举、多数派和租约》 《分布式系统理论基础 - 时间、时钟和事件顺序》 《分布式系统理论基础 - CAP》

    65010发布于 2019-12-03
  • 来自专栏函数式编程语言及工具

    Akka-Cluster(4)- DistributedData, 分布式数据类型

    本来可以通过分布式数据库来实现这样的功能,但使用和维护成本又过高,不值得。分布式数据类型distributed-data (ddata)正是为解决这样的困局而设计的。 akka提供了一组CRDT(ConflictFreeReplicatedDataType 免冲突可复制数据类型)和一套管理方法来实现分布式数据在集群中的免冲突共享共用。 akka提供的分布式数据共享管理方案是通过replicator来实现的。 分布式数据读写是通过发送消息给本地的replicator来实现的。读写消息包括Update,Get,Delete。读取数据用Get,也可以订阅CRDT的更新状态消息Changed, Deleted。 其中Map(4->set(Dog,Tiger)) 应该是分两次读取了Counter后再更新的。不过由于两次消息发送时间间隔太短,Counter还没来得及更新复制。

    86630发布于 2018-12-28
  • 来自专栏不温卜火

    ZooKeeper快速入门系列(4) | Zookeeper分布式安装部署

      此篇是在Hadoop分布式环境搭建(简单高效~)这篇博文的基础上进行搭建的,如果有不会的同学可自行查看操作。同时,如果缺少Zookeeper包的同学可上博主的分享的百度云连接进行下载。 vim myid 添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码 3.编辑myid文件 分别在hadoop003、hadoop004上修改myid文件中内容为3、4 4. 配置zoo.cfg文件 1. #cluster########################## server.2=hadoop002:2888:3888 server.3=hadoop003:2888:3888 server.4=

    74920发布于 2020-10-28
  • 来自专栏全栈工程师修炼之路

    4.Jenkins进阶之分布式架构环境配置

    [TOC] ---- 0x00 前言简述 Q: 什么是Jenkins的分布式节点构建? WeiyiGeek.Jenkins分布式节点 1.节点说明 描述: 我们在使用Jenkins的时候一般都会分为server节点与agent节点(也可以叫 slave 节点)。 agents 端口 50000/tcp 代理端口, 此端口的作用是便于Agent的jnlp与jenkins的master节点间进行通信; 3.点明主题 Q: 传统Jenkins的server、agent分布式方案有什么缺陷 将 Jenkins 的 Master/Agent 分布式架构直接部署在宿主机上不是一个很好的选择;但是它作为一个向容器化过度的中间阶段,是必要学习掌握的。 Tips : 整个 Jenkins 服务分布式部署是很简单的其步骤为: 部署一个 Jenkins Master 节点。

    3.7K10编辑于 2022-09-29
  • 来自专栏chester技术分享

    .NET分布式Orleans - 4 - 计时器和提醒

    它在分布式系统中具有重要作用,特别是在处理需要周期性执行的任务时非常有用。 Timer的注意事项 计时器回调不会改变空闲激活的状态,不能用于推迟其他空闲激活的停用。

    59310编辑于 2024-03-26
  • 来自专栏罗西的思考

    模型并行分布式训练 Megatron (4) --- 如何设置各种并行

    [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 目录 [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 0x00 摘要 0x01 Data-parallel 7.1 分组 7.2 如何使用 0x08 模型组 0x09 如何把模型分到GPU 0xFF 参考 0x00 摘要 NVIDIA Megatron 是一个基于 PyTorch 的分布式训练框架 本系列其他文章为: [源码解析] 模型并行分布式训练Megatron (1) --- 论文 & 基础 [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 [源码解析] 模型并行分布式训练 2.1 全局变量 因为前文_initialize_distributed之中调用了torch.distributed.init_process_group 初始化分布式环境,所以我们知道,每个进程都有自己的 其实,就是流水线深度为 4, 每组内 4 个 GPU 是串行的。即, [g0, g4, g8, g12] 这4个 GPU是串行的。

    3.1K10编辑于 2022-05-09
  • 来自专栏WD学习记录

    每周一总结(4分布式ID 学习笔记

    分布式系统,有些数据会存在全局唯一的需求,生成全局唯一的分布式ID也很重要。 分布式ID需要具备的特点 全局唯一:最基本的要素 趋势递增:分布式ID用来标识数据的唯一性,往往会被用作主键或者是唯一索引。 信息安全:避免恶意用户直接根据自增ID获取数据信息 几种分布式ID的实现方式 UUID UUID(Universally Unique Identifier)的标准型式包含32个16进制数字,以连字号分为五段 ,形式为8-4-4-4-12的36个字符。 比如2台机器的情况,第一台机器生成的ID是1,3,5,7,第二台生成的是2,4,6,8。

    90830发布于 2020-09-22
  • 来自专栏罗西的思考

    深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver

    [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver 目录 [源码解析] 深度学习分布式训练框架 horovod (4) --- 网络基础 & Driver 具体服务逻辑 5.3 HorovodRunTaskService 0x06 总结 0xEE 个人信息 0xFF 参考 0x00 摘要 Horovod 是Uber于2017年发布的一个易于使用的高性能的分布式训练框架 前面几篇链接如下: [源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 [源码解析] 深度学习分布式训练框架 horovod (3) --- Horovodrun背后做了什么 0x01 引子 在 horovod/runner/launch.py 文件中,_run_static 函数中使用 ) driver_addresses = codec.loads_base64(sys.argv[3]) settings = codec.loads_base64(sys.argv[4]

    63910发布于 2021-06-21
  • 来自专栏Java技术栈

    分布式系统中处理参数配置的 4 种方案

    还有就是系统变成分布式系统后,子系统越来越多,你要维护这些配置就变得越来越困难。 我觉得至少要能解决以下几个问题才能算优秀! 1)能在线灵活修改配置 2)能在线动态刷新配置 3)能根据不同环境配置 4)能统一管理维护配置 那么如何灵活维护这些配置呢?我给大家总结了一下几类方法,根据不同的应用场大家参考一下。 4、配置中心法 1)目前大多数分布式配置中心都是基于 Zookeeper 来实现的,Spring Cloud 有自己的配置中心组件,它们都支持在线动态更新和刷新配置。 总结 这是我们目前应用的 4 种配置方法,很显然,配置中心是最佳的解决方案,也解决了以上的几个问题,但需要依赖中间件及其高可用性,如果你有其他更好的方式,欢迎留言。 更多分布式技术请在后台回复:分布式

    1.2K30发布于 2018-11-23
  • 来自专栏分布式锁原理与源码

    分布式锁—4.Redisson的联锁和红锁

    大纲1.Redisson联锁MultiLock概述2.Redisson联锁MultiLock的加锁与释放锁3.Redisson红锁RedLock的算法原理4.Redisson红锁RedLock的源码分析 二.Redisson分布式锁是支持MultiLock机制的可以将多个锁合并为一个大锁,对大锁进行统一的加锁申请以及锁释放。 (2)RedLock算法的四个要点总结一.客户端在多个Redis节点上申请加锁二.必须保证大多数节点加锁成功三.大多数节点加锁的总耗时 < 锁设置的过期时间四.释放锁时要向全部节点发起释放锁的请求4.Redisson

    51600编辑于 2025-05-14
  • 来自专栏罗西的思考

    PyTorch 分布式之弹性训练(4)---Rendezvous 架构和逻辑

    [源码解析] PyTorch 分布式之弹性训练(4)---Rendezvous 架构和逻辑 目录 [源码解析] PyTorch 分布式之弹性训练(4)---Rendezvous 架构和逻辑 0x00 摘要 弹性训练系列文章如下: [源码解析] PyTorch 分布式之弹性训练(1) --- 总体思路 [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 [源码解析] PyTorch 2.2 排他性(Exclusivity) 一个简单的分布式屏障是不够的,因为我们还需要确保在任何给定的时间(对于给定的作业)只存在一组节点。 我们在之前文章中介绍过 TCPStore,TCPStore 是基于 TCP 的分布式键值存储实现(类似于 Redis)。 _store 负责保存信息(分布式)。

    2.4K20编辑于 2021-12-28
领券