首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序那些事

    架构之:并发和并行

    没关系,今天本文为大家解密一下并发和并行的联系和区别。 注意,本文所讲的并发和并行的概念都是指在同一个应用程序中。 并发和并行 事实上除了并发concurrency和并行parallelism,还有2个状态:并行执行Parallel Execution 和 并行并发执行 Parallel Concurrent Execution 并行并发执行 Parallel Concurrent Execution 并行并发执行的的意思就是在并行的过程中还存在着并发。 并行parallelism parallelism和Parallel翻译起来好像没有什么太大的区别,前面一个是专业的计算机名称表示并行性,后面一个可以用在任何地方,表示并行。 其实它是指一个任务的可并行程度。比如5个人的打疫苗的任务,可以将5个人分成5个小组,每个小组都可以去争取自己的资源来执行,这其中可以并发也可以并行,这就是并行性parallelism的意思。

    41330发布于 2021-06-09
  • 来自专栏程序那些事

    架构之:并发和并行

    没关系,今天本文为大家解密一下并发和并行的联系和区别。 注意,本文所讲的并发和并行的概念都是指在同一个应用程序中。 并发和并行 事实上除了并发concurrency和并行parallelism,还有2个状态:并行执行Parallel Execution 和 并行并发执行 Parallel Concurrent Execution 并行并发执行 Parallel Concurrent Execution 并行并发执行的的意思就是在并行的过程中还存在着并发。 并行parallelism parallelism和Parallel翻译起来好像没有什么太大的区别,前面一个是专业的计算机名称表示并行性,后面一个可以用在任何地方,表示并行。 其实它是指一个任务的可并行程度。比如5个人的打疫苗的任务,可以将5个人分成5个小组,每个小组都可以去争取自己的资源来执行,这其中可以并发也可以并行,这就是并行性parallelism的意思。

    71800发布于 2021-05-30
  • 并行设计架构模式

    并行设计架构模式 任务线性分解架构 适用于计算逻辑维度确定性拆分的场景,将独立计算逻辑拆分为并行执行单元。电商交易成功后触发多项任务(如邮件通知、数据统计更新)是典型应用场景。 关键点在于消除并行单元间的数据依赖(如使用Thread Local变量),且执行单元工作量需明确以便与硬件线程映射。 计算逻辑A、B、C在相同数据块上独立操作时,拆分为三个并行单元可减少处理时延。 Observer模式或消息队列一对多通信常隐含此类并行可能性。 隐式约束包括: 并行任务间通信开销需额外评估 需Fork-Join机制协调控制依赖 计算路径跨度可能限制并发性能 数据几何分解架构 基于业务数据线性拆分的模式,适用于结构数据可规则划分的场景。 隐式约束包括: 数据分区需均匀以平衡负载 边界数据处理可能引入额外同步 数据依赖性需通过分区策略弱化 组合架构的实践建议 实际业务常需混合多种架构

    12110编辑于 2025-12-17
  • 来自专栏瓜大三哥

    Verilog实现并行比较算法

    1.原理 传统的排序方式是两两之间顺序进行比较,而并行算法是基于序列中随意两个数进行比较,所以会消耗比较多的比较器。这正诠释了FPGA技巧里面积换取速度的思想。 2.优缺点 2.1优点 并行比较排序方式在实时性上有明显的优势,只需要三个时钟周期就可以完成排序。 2.2缺点 由于并行比较消耗FPGA的LUT资源,而且在第二个阶段需要大量的加法器级联,考虑到路径延迟、建立和保持时间的Slack以及时钟的Jitter,一个时钟周期的多个加法器级联会产生问题 代码的可移植性有所欠缺 4.并行比较例程 module sort_paralell(clk, rst, in0, in1, in2, in3, out0, out1, out2, out3); input mid0, mid1, mid2, mid3;//4 input numbers //排序算法在FPGA内进行,实现过程主要有以下几个步骤: //1、第一个clk,数据的比较程序

    2.9K11发布于 2020-05-20
  • 来自专栏五分钟学大数据

    MPP大规模并行处理架构详解

    目前商用的服务器分类大体有三种: SMP(对称多处理器结构) NUMA(非一致存储访问结构) MPP(大规模并行处理结构) 我们今天的主角是 MPP,因为随着分布式、并行化技术成熟应用,MPP引擎逐渐表现出强大的高吞吐 但是MPP服务器需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程。目前,一些基于MPP技术的服务器往往通过系统级软件(如数据库)来屏蔽这种复杂性。 MPP架构特征: 任务并行执行; 数据分布式存储(本地化); 分布式计算; 高并发,单个节点并发能力大于300用户; 横向扩展,支持集群节点的扩容; Shared Nothing(完全无共享)架构。 相同点: 批处理架构与MPP架构都是分布式并行处理,将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。 它实现了单机多核并行、分布式计算、向量化执行与SIMD指令、代码生成等多种重要技术。

    7.9K60发布于 2021-04-02
  • 从 AI 并行编程再聊整洁架构

    未来,一个项目,也许只需要一个足够了解业务、懂架构规划、能分配任务的高级工程师,再加上一整队 AI 助手,就能顺利落地。 今天,我们聊聊一个正在快速成形的趋势:AI 并行编程。 AI 并行编程正在改变开发方式 现在的 AI 工具越来越强,不止能补全代码,也能拆解任务、做重构、跑大规模修改。 但在 AI 并行编程时代,它反而变得非常实用,甚至可以说是刚需。 为什么? 因为它天然具备三个 AI 特别需要的特质。 1. 未来的架构,将为 AI 而设计 我们逐渐可以看到一个趋势: 整洁架构不是难落地,而是过去的工具不够强。但在 AI 并行时代,它反而成为最高效的组织方式。 如果我们能掌握“如何让 AI 并行工作”, 能设计出适合 AI 的架构, 能把项目像任务流一样拆得清清楚楚…… 那么,在未来, 一个人带着一队 AI, 完成过去一个团队的工作, 将不再是神话。

    17110编辑于 2025-12-16
  • 来自专栏CreateAMind

    分布式并行架构Ray介绍

    Ray is a fast and simple framework for building and running distributed applications. The same code can be run on a single machine to achieve efficient multiprocessing, and it can be used on a cluster for large computations.

    2.1K20发布于 2019-08-13
  • 来自专栏罗西的思考

    并行分布式框架 Celery 之架构 (1)

    [源码解析] 并行分布式框架 Celery 之架构 (1) 目录 [源码解析] 并行分布式框架 Celery 之架构 (1) 0x00 摘要 0x01 Celery 简介 1.1 什么是 Celery 1.2 场景 1.3 特性 1.4 区别 0x02 Celery的架构 2.1 组件 2.2 任务流程 2.3 架构图 0x03 Celery 设计推理 3.1 Celery 基本功能 3.2 Celery ] 消息队列 Kombu 之 Consumer [源码分析] 消息队列 Kombu 之 Producer [源码分析] 消息队列 Kombu 之 启动过程 [源码解析] 消息队列 Kombu 之 基本架构 0x02 Celery的架构 Celery 的基本逻辑为:分布式异步消息任务队列。 在 Celery 中,采用的是分布式的管理方式,每个节点之间都是通过广播/单播进行通信,从而达到协同效果。 ; 最后由职程(Worker)进行执行中间人(Broker)分配的任务; 2.3 架构图 Celery的架构图如下所示: +-----------+ +-------------

    1.1K20编辑于 2022-05-09
  • 来自专栏大语言模型,算力共享

    MLP:连接神经网络的并行执行

    ​目录MLP:连接神经网络的并行执行假设代码解释注意事项MLP:连接神经网络的并行执行为了继续解释这段代码,我们需要做一些假设和补充,因为原始代码片段中DummyModel、Shard和mx.array 这个模型包含了我们之前看到的五个连接层。 Shard: 这是一个自定义类,用于表示模型的一部分(或“分片”)。

    34610编辑于 2024-08-09
  • 来自专栏存储公众号:王知鱼

    Hammerspace:全局并行文件系统架构案例

    AI/新场景对海量文件的效率要求,使得并行文件系统备受关注。全局命名空间+并行文件系统是Hammerspace对当前AI场景的求解。 数据驱动型组织被以存储为中心的基础架构所拖累,这些基础架构将宝贵的非结构化数据困于存储孤岛中。 核心架构:数据为中心的架构 消除数据孤岛并提供极致的并行性能,以实现任何站点、云和存储上的计算、应用和用户访问。 Hammerspace 全局数据平台将跨站点、云和任何存储的非结构化数据统一到一个单一、并行的全局文件系统中,并具有全局命名空间。 • 真正的全局化、基于标准的并行文件系统:跨越多个站点和多云环境,呈现单个全局命名空间。在所有主要供应商的新旧存储设备上存储数据。

    66410编辑于 2025-02-11
  • 来自专栏IT技术精选文摘

    Kafka Topic架构-复制、故障切换和并行处理

    本文介绍了Kafka主题的架构,并讨论了分区,如何做故障切换和并行处理。 Kafka Topic,日志和分区 回想一下,Kafka Topic是一个命名的记录流。Kafka将Topic存储在日志中。 此外,Kafka还使用分区来方便并行消费者。消费者以最多分区数量的并行度消费记录数。 每个分区的顺序是受保证的。 Kafka架构:主题分区的布局和偏移 ? Kafka主题分区复制 Kafka可以跨可配置数量的Kafka服务器复制分区,这些服务器用于容错。每个分区都有一个主服务器和零个或多个从服务器。 Kafka还使用分区来进行一组中的并行消费者处理。 Kafka通过Kafka集群中的服务器分发主题日志分区。每个服务器通过共享分区Leader来处理其数据和请求的份额。 Kafka Topic架构回顾 什么是ISR? ISR是同步副本。如果Leader失败,ISR被选为新的Leader。 Kafka如何伸缩消费者规模?

    2.8K70发布于 2018-01-30
  • 来自专栏罗西的思考

    并行分布式框架 Celery 之架构 (2)

    [源码解析] 并行分布式框架 Celery 之架构 (2) 0x00 摘要 Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。 本文是系列第二篇,继续探究 Celery 架构。 0x01 上文回顾 前面我们用几篇文章分析了 Kombu,为 Celery 的分析打下了基础。 上文 [源码解析] 并行分布式框架 Celery 之架构 (1) 中,我们大致介绍了 Celery 的概念,用途和架构,现在回忆 Celery 的架构图如下: +-----------+ 有些人可能会担心,分块处理会导致并行性能下降,实际上,由于避免了消息传递的开销,因此反而会大大的提高性能。 0x06 总结 通过以上的分析,大家应该对 Celery 的架构有了初步的了解。从下文开始,我们逐一分析 Celery 的几个方面,敬请期待。

    1.2K10发布于 2021-04-01
  • 来自专栏罗西的思考

    模型并行分布式训练Megatron (2) --- 整体架构

    [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 目录 [源码解析] 模型并行分布式训练Megatron (2) --- 整体架构 0x00 摘要 0x01 启动 1.1 分布式启动 ,Tensor并行和Pipeline并行来复现 GPT3,值得我们深入分析其背后机理。 本文将对 Megatron 的基本架构做一下梳理。 注意,数据并行是把不同数据加载到不同的rank之上,而 Tensor模型并行组之中每个rank都加载同样数据。 调用 mpu.initialize_model_parallel 来设置模型并行,数据并行等各种进程组,我们下文会重点讨论。

    3.5K20编辑于 2022-05-09
  • 来自专栏SDNLAB

    NFV性能优化——架构并行加速算法思想

    但是,NFV有一大弱点和弊端目前尚且无法超越传统网络功能设备——NFV处理的性能效率,这篇文章从SIGCOMM中的一篇论文获得启发,提出了一种从架构上加速NFV的算法。 笔者认为算法还具有提升空间,众所周知,除了IPS和防火墙这种包具有先后处理顺序的网络功能之外,许多的网络功能部件之间处理是没有关系的,比如CDN和Tester之间就没有顺序关系,实际上在包处理的过程中他们是可以并行处理的 于是笔者提出一种新的NFV架构,使用并行处理的思想对NFV进行加速。即在包分发器(PCD)和一个控制器(Controller)辅助下,对包进行并行处理。如图5所示: ? 图6 上述两种并行架构思想从理论上可以加快NFV的数据包处理速度和性能,但是依然存在着问题,比如,在图5中Controller的处理是否足够快,要如何设计Controller,在图6中Controller 的处理时延会不会很大,导致反而比传统NFV架构增加时延。

    1.2K50发布于 2018-03-30
  • 来自专栏鸿的学习笔记

    聊聊并行并行编程

    并行编程主要聚焦于性能,生产率和通用性上。 所谓性能,更像是可扩展性以及效率。不再聚焦于单个CPU的性能,而是在于平均下来CPU的性能。 并行和并发有着小小的区别:并行意味着问题的每个分区有着完全独立的处理,而不会与其他分区进行通信。并发可能是指所有的一切事务, 这可能需要紧密的,以锁的形式或其他的互相通信的方式形成的相互依赖。 因为并行编程的相对较难,导致工程师的生产率不会太高,会聚焦于更精密的细节,花费大量的时间。 并行任务变得复杂不仅仅在于之上的原因,更因为: 1.对代码,对任务的分割,这会导致错误处理以及事件处理更为复杂。如果并行程序之间会牵扯到交互,通信的时间成本,共享资源的分配和更新更为复杂。 2.并行访问控制,单线程的应用程序可以对本实例中的所有资源具有访问权,例如内存中的数据结构,文件之类的。

    1.4K10发布于 2018-08-06
  • 来自专栏文武兼修ing——机器学习与IC设计

    并行流水线移位相加乘法器

    基本算法 与分时复用的移位相加类似,取消分时复用,使用面积换时间,使用流水线设计,流水线填满后可以一个时钟周期计算出一个结果 分别计算乘数的移位结果,并与被乘数对应位相与 使用加法树将结果相加 RTL代码 移位部分 固定移位单元代码如下,当被乘数第n位为1时,输出乘数移位向左移位n位的结果 module shift_unit #( parameter WIDTH = 4, parameter SHIFT_NUM = 0 )( input clk, // Clock in

    1.3K90发布于 2018-04-27
  • 来自专栏运维

    Codis安装部署架构

    Codis安装部署架构 Codis简介 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 Codis架构图 ?   disk:100G zookeeper     mem:16G  cpu:8   disk:300G codis-server      mem:16G  cpu:8   disk:200G 3,架构应用

    1.3K20发布于 2018-11-14
  • 来自专栏yaphetsfang

    数据并行和任务并行

    OpenCL并行加减乘除示例——数据并行与任务并行 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhouxuanyuye/article/details/79949409 OpenCL并行加减乘除示例——数据并行与任务并行 关键词:OpenCL; data parallel; task parallel 数据并行化计算与任务并行化分解可以加快程序的运行速度。 这种办法对不同的数据使用相同的核函数,称为数据并行。 ? 图3. (task parallel) 另外还有一种就是任务并行化,可以使所有功能函数内部的语句并行执行,即任务并行化,如本文中的功能函数可以分解为“加减乘除”这四个任务,可以产生“加减乘除”四个核函数,让四个函数同时执行

    2.3K30发布于 2020-07-30
  • 来自专栏代码编写世界

    第3章-图形处理单元-3.1-数据并行架构

    3.1 数据并行架构 不同的处理器架构使用各种策略来避免延迟。CPU经过优化,可以处理各种数据结构和大型代码库。 由于这种相似性——例如一组顶点或像素——GPU可以以大规模并行的方式处理这些数据。另一个重要元素是这些调用尽可能独立,这样它们就不需要来自相邻调用的信息,也不共享可写的内存位置。 在这种架构中,通过切换到另一个片元让GPU保持忙碌,从而隐藏了延迟。GPU通过将指令执行逻辑与数据分离,使这种设计更进一步。 所有GPU都实现了这些架构理念,从而导致系统具有严格的限制,但每功率的计算能力却非常庞大。了解该系统的运行方式将帮助你作为程序员更有效地利用它提供的功能。

    1.4K10编辑于 2021-12-17
  • 来自专栏计算机技术-参与活动

    算力共享:数据并行,模型并行,流水线并行,混合并行策略

    # 算力共享:混合并行策略混合并行策略是在深度学习模型训练过程中,综合运用多种并行技术来加速训练过程的方法。以下是常见的并行技术以及混合并行策略的举例: 一、常见并行技术1. **模型并行(Model Parallelism)** 模型并行中的多头切分 多头注意力机制与模型并行在基于 Transformer 架构的大型语言模型(LLM)中,多头注意力机制(Multi **Megatron - LM的混合并行** - **策略**:结合了**数据并行和模型并行**。 通过数据并行来利用多个GPU处理不同的数据子集,同时采用模型并行(如张量并行和流水线并行)来处理模型过大无法在单个GPU上运行的问题。 - 在模型并行方面,对于Transformer架构中的矩阵乘法等操作,采用张量并行进行切分计算。

    1.4K10编辑于 2025-01-01
领券