MPP 与 SMP 的区别,终于有人讲明白了【文末送书】

news2024/11/27 18:34:40

文章目录

  • 导读
  • 01 SMP
    • 1. SMP 的典型特征
    • 2. SMP的优缺点
  • 02 分布式MPP计算架构
    • 1. MPP 架构核心原理
    • 2. MPP 典型特征
    • 3. MPP优缺点
  • 写作末尾


导读

当今数据计算领域主要的应用程序和模型可大致分为在线事务处理(On-line Transaction Processing ,OLTP)、决策支持系统(Decision-making Support System ,DSS)和企业信息通信(Business Communication)三大类。计算平台的体系结构通常有小型独立服务器、SMP (Symmetrical Multi-Processing, 对称多处理)、MPP(大规模并行处理)和 NUMA(Non Uniform Memory Access,非均匀存储器存取)结构。

这里,本篇文章重点讲一下 SMP 与 MPP。

01 SMP

SMP 是指在一个计算机上汇集了一组处理器(多核 CPU),各 CPU 之间共享内存子系统以及总线结构。代表数据库有 Oracle 、MySQL 。SMP 架构原理图如图1所示。

在这里插入图片描述

1. SMP 的典型特征

  • 每个处理器共享操作系统的一个副本 。

  • 支持共享架构。

  • 多任务并行架构,是一个紧耦合的多处理器系统。

  • 多个处理器之间共享整个工作。

  • 没有单独的缓存池或锁表,全部共享。

  • 通过购买更大的系统来实现扩展。

  • 容易出现资源争用等问题。

  • 创建分布式架构需要复杂的设计,并且只能部分实现。

  • 软件提供的内存可用量完全取决于 RAM 和负载的数量。

2. SMP的优缺点

在 SMP 中,每个 CPU 都有自己的缓存,无论双核还是四核,其余资源都是共享的。SMP 的优点如下。

  • 共享单一操作系统副本。

  • 应用程序编程模式简便。

  • 管理成本低,易于维护管理。

SMP 的缺点如下。

  • 伸缩扩展能力非常有限。对 SMP 服务器进行扩展的方式包括增加内存、使用更快 的 CPU、增加 CPU、扩充 I/O(槽口数与总线数)以及添加更多的外部设备(通常是磁盘存 储设备)。这样的架构模式直接导致内存上线受限制。

  • CPU 利用率低。由于每个 CPU 必须通过相同的内存总线访问相同的内存资源,因 此随着 CPU 数量的增加,内存访问冲突将迅速增加,最终造成 CPU 资源的浪费,大大降 低 CPU 性能的有效性。

  • 总线有瓶颈。当大型程序的处理要求大于共享总线时,总线就没有能力进行处理 了,这时共享的总线就成为性能瓶颈。

  • 容错性和效率较低。

SMP 的典型应用场景是托管小型网站和电子邮件服务器等。

02 分布式MPP计算架构

MPP(Massively Parallel Processing,大规模并行分析处理)架构模式,是典型的分布 式计算模式。MPP 的各节点不共享资源,每个执行节点可以独自完成数据的读取和计算。

1. MPP 架构核心原理

将数据集分布在许多机器或节点上,以处理大量数据。

  • 每个节点都有独立的磁盘存储系统和内存系统。

  • 业务数据根据数据库模型和应用特点划分到各个节点上。

  • 每个数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体 提供数据库服务。

在 MPP 架构中,各节点都包含自己的存储和计算功能,可以独立执行查询的一部分。 最后,在内存里进行数据合并,并将结果返回客户端。MPP 具有可伸缩、高可用、高性能、 资源共享等优势。

MPP 由许多松耦合的处理单元组成。注意,这里是指处理单 元而不是处理器。每个单元内的 CPU 都有自己私有的资源,如总线、内存、硬盘等。每个 单元内都有操作系统和管理数据库实例。这种结构最大的特点在于不共享资源。代表数据库 有 ClickHouse 、Snowflake 、Azure Synapse Analytics 、Impala 、Greenplum 、Elasticsearch、 Presto 。MPP 架构原理图如图2所示。

在这里插入图片描述

2. MPP 典型特征

  • 每个处理器都使用自己的操作系统和内存。

  • 支持无共享架构。

  • 多个处理器对单个任务进行协调处理。每个处理器处理任务的不同部分。

  • 每个节点只负责处理自己磁盘上的任务。

  • 每个节点维护自己的一组锁表和缓存池,增加了内存功能的可用性。

  • 只需添加机架即可轻松实现可扩展性,支持 TB 到 PB 数据量级的水平扩展。

  • 完全不共享资源,所以不存在资源争用。

  • 被设计为分布式架构。

  • 数据被水平分区,压缩率高,以最佳方式使用内存。

  • 处理器使用消息进行通信。

3. MPP优缺点

MPP 的优点如下。

  • 每个处理器都使用自己的操作系统和内存。

  • 性能好。大规模数据并行处理能力优秀,适合于复杂的大型数据分析与处理场景。

  • 可伸缩。在 MPP 增加节点时,MPP 的性能可以线性扩展。MPP 在数据仓库决策支持和数据挖掘方面占据优势。

  • 低成本。基于 MPP 的数据仓库解决方案旨在廉价的商用硬件上运行,不需要可能 包含成本的企业级双冗余组件。

  • 高可用。使用自动数据复制来提高系统弹性并确保高可用性。

  • 高吞吐量。MPP 可以实现非常高的吞吐量,因为读写操作可以在集群中的独立节点 上并行执行。

MPP 的缺点如下。

  • 管理成本高。MPP 需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过 程,通信复杂。当通信时间长时, MPP 性能会变差。目前一些基于 MPP 技术的服务器一般 通过系统级软件(如数据库)来屏蔽这种复杂性。

  • 短板效应:如果遇到“短板”节点,整个引擎的性能将下降到该短板节点的能力(木桶的短板)。MPP 架构不适合异构的机器,它要求各节点配置相同。

MPP 的典型应用场景是数据仓库、大规模数据处理和数据挖掘等。

关于作者:陈光剑,资深大数据专家、后端技术专家和架构师,拥有超过10年的技术研发和管理经验,一线实战经验丰富。现就职于字节跳动,曾就职于阿里巴巴,主要从事企业智能数字化经营管理、电商智能数字化运营等系统架构设计和研发工作。
图片

在这里插入图片描述

本文摘编于《ClickHouse入门、实战与进阶》(书号:9787111727170),经出版方授权发布,转载请标明文章出处。

推荐理由:字节跳动大数据专家撰写,集大成之作,4个维度全面展开,上百个案例,入门标准参考书,日常工作案头必备。

写作末尾

🌻《ClickHouse入门、实战与进阶》免费包邮送出
🌴根据博客阅读量本次活动一共赠书若干本,评论区抽取若干位小伙伴免费送出
500-1000 赠书2本
1000-1500 赠书3本
1500-2000 赠书4本
2000+ 赠书5本
🌵参与方式:关注博主、点赞、收藏、评论区任意评论(不低于10个字,被折叠了无法参与抽奖)”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次)
🌼活动截止时间:2023-09-19 12:00:00
🍒开奖时间:2023-09-19 14:00:00
🍀中奖通知方式:私信通知
🍉兑奖方式:截图证明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/992682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔试记录-扔鸡蛋问题

写目录 一个鸡蛋两个鸡蛋K个鸡蛋 今天面试官问了我这个扔鸡蛋问题,以前学过,但是面试的时候想不起来了,应该是直接寄了,接下来总结一下这个问题的动态规划做法. 问题:有一个N层高的楼,现在给你若干个鸡蛋&a…

实现在一张图片中寻找另一张图片的目标

OpenCV库中的SIFT特征检测算法和FLANN(快速最近邻搜索库)匹配算法来找到一个图片中的元素在另一个图片中的位置,并在源图片中标出它们的位置。 以下是一个简单的例子,使用OpenCV库,利用SIFT特征检测算法,在…

Kafka中Producer源码解读

Producer源码解读 在 Kafka 中, 我们把产生消息的一方称为 Producer 即 生产者, 它是 Kafka 的核心组件之一, 也是消息的来源所在。它的主要功能是将客户端的请求打包封装发送到 kafka 集群的某个 Topic 的某个分区上。那么这些生产者产生的消息是怎么传到 Kafka 服务端的呢&a…

如何使用Google Compute Engine入门指南快速创建和配置您的云虚拟机实例

文章目录 步骤1:创建 Google Cloud Platform(GCP)账户步骤2:设置 GCP 项目步骤3:启用 Google Compute Engine API步骤4:安装 Google Cloud SDK步骤5:创建虚拟机实例步骤6:连接到虚拟…

ADL200N单相逆流监测多功能仪表在光伏中的应用-安科瑞黄安南

安科瑞电气-黄安南 ,18/*76-150-/6237 随着光伏行业的发展,部分地区村级变压器及工业用电变压器容量与光伏项目的装机容量处于饱和。电网公司要求对后建的光伏并网系统为不可逆流发电系统,指光伏并网系统所发生的电由本地负载消耗,多余的电不…

100万级连接,爱奇艺WebSocket网关如何架构

说在前面 在40岁老架构师 尼恩的读者社区(50)中,很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、滴滴的面试资格。 最近,尼恩指导一个小伙伴简历,写了一个《高并发网关项目》,此项目帮这个小伙拿到 字节/阿里/微…

IDEFICS 简介: 最先进视觉语言模型的开源复现

我们很高兴发布 IDEFICS ( Image-aware Decoder Enhanced la Flamingo with Ininterleaved Cross-attention S ) 这一开放视觉语言模型。IDEFICS 基于 Flamingo,Flamingo 作为最先进的视觉语言模型,最初由 DeepMind 开发,但目前尚未公开发布…

【广州华锐互动】元宇宙技术如何赋能传统工业企业?

随着科技的飞速发展,我们正处于工业革命4.0的时代,数字化、网络化和智能化正在深刻地改变着我们的生活和工作方式。在这个变革的大潮中,工业元宇宙平台应运而生,为企业带来了前所未有的机遇和挑战。 广州华锐互动开发的工业元宇宙…

什么是“护网行动”?看完你就懂了

近几年,随着大数据、物联网、云计算的飞速发展,网络攻击触手已经从企业逐渐伸向国家,国家关键信息基础设施建设也面临着无形威胁。我们应当未雨绸缪,厉兵秣马,化被动为主动。 在这种严峻的网络安全态势之下&#xff0c…

第7节-PhotoShop基础课程-视图调整

文章目录 前言1.视图菜单1. 视图操作1.校样颜色 Ctrl Y2.色域警告 Ctrl Shift Y3.像素长宽比 2.显示操作1.大小调整1.Alt 滚轮2.放大选项3.按空格 出现抓手 2.按屏幕大小缩放 Ctrl 0(数字0)3.按实际大小缩放 Ctrl 11.标准屏幕模式2.带有菜单栏的全屏模式3.全屏模式4.只显…

【扩散模型】4、Improved DDPM | 引入可学习方差和余弦加噪机制来提升 DDPM

文章目录 一、背景二、Improved DDPM——提升 Log-likelihood2.1 可学习的方差2.2 改进 noise schedule2.3 降低梯度噪声 三、效果 论文:Improved Denoising Diffusion Probabilistic Models 代码:https://link.zhihu.com/?targethttps%3A//github.com…

浏览器原理-v8引擎

什么是MVVM呢? 口通常我们学习一个概念,最好的方式是去看维基百科(对,千万别看成了百度百科)https://zh.wikipedia.org/wiki/MVVM View层: 视图层 >在我们前端开发中,通常就是DOM层 > 主要的作用是给用户展示各种信息。 Model层: t&g…

AI大语言模型时代构建全新数据平台

在大语言模型的引领下,数据平台领军企业 Databricks 和 Snowflake 的未来重置,探讨了 Databricks 和 Snowflake 等知名平台, 存储领域的 Delta、udi、Iceberg,还是实时化数据处理领域的 Databricks、Snowflake 1、LLM 给大数据企…

如何为虚拟机添加磁盘,扩充原有分区的磁盘空间

如何为虚拟机添加磁盘,扩充原有分区的磁盘空间 关机新增磁盘 虚拟机关机的状态下,在 VMware 当中新增一块磁盘,选中左边要添加磁盘的虚拟机镜像,然后鼠标右键点击设置。 选中磁盘点击添加 点击下一步,悬着SCSI这个…

【数字IC/FPGA】Verilog中的force和release

在Verilog中,将force用于variable会覆盖掉过程赋值,或者assign引导的连续(procedural assign)赋值,直到release。 下面通过一个简单的例子展示其用法: 加法器代码 module adder ( input logic [31:0] a, …

ISYSTEM调试实践12-软件运行时间的优化

实际工程的运行要比上篇文章提到的例程复杂的多 ISYSTEM调试实践11-Profiler Timeline和软件运行时间分析 由于复杂的应用层模型和底层任务,假定应用层模型的运行周期是10ms,任务函数的执行时间往往超过1ms,这时候就必须要考虑函数执行本身的…

什么是护网行动?

护网,也称“网络保护”,是指网络安全人员对企业或组织的网络进行检查、维护和保护,以防止网络受到黑客攻击、病毒、木马或其它恶意程序的侵入和损害。护网工作包括:网络安全规划、网络配置和控制、漏洞发现和修复、入侵检测和防范…

ES6 拓展(下)

一、函数的拓展 1.1、默认参数 在ES5中设置默认参数: function func(words, name) {name name || "闷墩儿";console.log(words, name); } func("大家好!我是"); func("大家好!我是", "憨憨");func(…

使用React18+Ts创建项目

1. 创建项目 首先,使用create-react-app工具创建一个新的React项目: npx create-react-app 项目名 --template typescript2. 安装依赖项 使用脚手架创建项目后,自带react-dom等依赖项,但react中的所用的路由方法是react-router…

建站系列(八)--- 本地开发环境搭建(WNMP)

目录 相关系列文章前言一、准备工作二、Nginx安装三、MySQL安装四、PHP安装及Nginx配置五、总结 相关系列文章 建站系列(一)— 网站基本常识 建站系列(二)— 域名、IP地址、URL、端口详解 建站系列(三)— …