当前位置: 首页 > news >正文

并行处理系统

并行处理系统概述

  1. 并行处理的主要技术问题:
    • 互连:如何实现将多个计算模块和多个存储模块进行互连,并通过控制这些模块的并行工作来提高处理速度
    • 数据一致性:为加快数据处理的速度,通常利用程序访问的局部性特性,在不同计算模块中设置高速缓存,且这些不同的计算模块还可能设置共享的高速缓存和共享的主存储器。因此在并行处理系统中存在复杂的数据一致性问题
    • 同步控制:需要对各个计算模块进行同步控制
    • 任务划分
    • 并行程序设计:需说明哪些处理逻辑段可以并行执行,哪些处理逻辑段之间有先后顺序关系等
    • 资源调度和管理
    • 容错性和安全性
  2. 并行处理系统的分类
    • 按指令和数据的处理方式划分
      • SISD
      • SIMD
      • MIMD
    • 按主存地址空间的访问方式划分
      • 多计算机系统:具有多个私有地址空间的并行处理系统。每个计算节点具有各自私有的存储器,并各自有独立的主存地址空间
      • 多处理器系统:即共享存储多处理器系统。每个处理器都可以通过load和store指令访问系统中的存储器,也称为共享存储系统
    • 按存储访问时间是否一致划分
      • 一致性内存访问(UMA)结构
      • 非一致性内存访问(NUMA)结构:处理器对不同存储单元的访问时间可能不一致,访问时间与存储单元的位置有关(若是本地存储器访问时间就短,若是其他处理器所连接的存储器则访问时间就长)
    • 按处理单元的位置及其互连方式划分
      • 多核芯片(片级多处理器CMP):一个CPU芯片中包含多个处理单元(多个核),通常多核CPU芯片的核数为2、4、8等几种
      • 众核芯片:在一个面向三维图形、视频和可视化处理的GPU芯片中,包含几百上千个简单核。众核GPU芯片着力于在众多的简单核上有效执行众多的并行线程,并在线程组之间对数据的并行处理进行优化
      • 对称多处理器(SMP):将多个同类型的CPU通过总线互连,并等同地位地共享系统所有资源。即多个CPU对称工作,无主次或从属关系,是一种UMA结构处理器(因为每个CPU访问内存中的任何地址所需时间相同)。多核处理器系统、高档微机、工作站或服务器多用SMP结构
      • 大规模并行处理机(MPP):以专用内联网络连接数量众多处理单元而构成的一种并行计算系统。如可通过专用互连网络将几百上千个对称多处理器连接成大规模并行处理机,众多SMP服务器协同工作,完成相同的任务,每个SMP服务器称为节点,每个节点只能直接访问自己的本地资源(内存、磁盘等)。
      • 集群:指通过高性能网卡将若干普通PC或SMP服务器或工作站连接而成的并行处理系统。集群中的每个计算节点(PC、SMP或工作站)都有各自的内存储器和磁盘,主存地址空间都是计算节点各自私有的。因此集群是一种典型的紧密耦合的同构多计算机系统
      • 网格:是指用因特网等广域网络连接起来的远距离分布的一组异构计算机系统构成的分布式并行处理系统。是一种松散耦合的异构多计算机系统。云计算服务器就是由网格发展而来的

多处理器系统

即共享存储多处理器系统。每个处理器都访问一个全局的主存储器,因而每个处理器在执行指令时所产生的物理地址都属于同一个物理地址空间。
多处理器系统的硬件结构有三种:一致性内存访问UMA、非一致性内存访问NUMA和高速缓存一致的非一致性内存访问CC-NUMA

  1. UMA
  2. NUMA
  3. CC-NUMA
  4. 多核处理器:
    • 基本思路:在一个CPU芯片中设计多个简单的处理器核,通过多个核的并行计算来提高计算性能。因此基于一个CPU芯片可以实现一个多处理器系统,基于多核芯片的处理器被称为片级多处理器CMP
  5. 硬件多线程技术:是一种共享单个处理器核内功能部件的技术。每个线程相当于一个指令序列,用于指令执行的功能部件和高速缓存在每个核内仅有一套。为了支持多线程并发执行,必须为每个线程提供单独的通用寄存器组和程序计数器等用于存放现场信息的资源,并提供快速的线程切换机制
    有三种多线程实现方式:
    • 细粒度多线程:处理器核能在每个时钟周期切换线程
    • 粗粒度多线程:仅在某个线程出现较大开销的阻塞时才切换线程(如cache不命中)
    • 同时多线程SMT:能在同一个时钟周期中,在不同的发射槽中发射不同线程中的指令。超线程(Intel)即为同时多线程
  6. 使用多核处理器或硬件多线程可能会带来新的性能干扰问题。同一个核心上的多个硬件线程之间会共享超标量处理 器中包括发射队列、ROB、访存队列、分支预测器核L1 cache等资源。当处理器核或线程的负载较高时,会在这些资源上产生竞争现象,竞争不到资源的处理器核或线程就会被阻塞而性能下降。
    如对性能稳定性要求较高的场合,如双11,阿里在线购物的数据中心会面临巨大交易负载,为保证用户的交易体验,系统管理员都会提前制定严格的任务调度策略,避免将多个交易线程调度到同一个处理器核上从而带来干扰。

相关文章:

并行处理系统

并行处理系统概述 并行处理的主要技术问题: 互连:如何实现将多个计算模块和多个存储模块进行互连,并通过控制这些模块的并行工作来提高处理速度数据一致性:为加快数据处理的速度,通常利用程序访问的局部性特性&#x…...

2023国赛数学建模A题思路分析 - 定日镜场的优化设计

# 1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统, 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…...

git企业级使用

1.初始Git 1.1创建Git仓库 要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。创建⼀个Git本地仓库对应的命令为 git init ,注意命令要在⽂件⽬录下执⾏,例如:…...

[docker]笔记-存储管理

1、docker数据存储分为非永久性存储和永久性存储。 非永久性存储:容器创建会默认创建非永久性存储,该存储从属于容器,生命周期与容器相同,会随着容器的关闭而消失(可理解为内存中数据,会随关机而消失&…...

记录获取蓝鲸智云token的过程

一、使用python脚本获取蓝鲸智云token python版本环境:3.11 # -*- coding: utf-8 -*- import requestsdef get_user_token(domain,user,password):模拟用户登录,并返回 bk_token 和 bk_csrftokenBK_PAAS_HOST domainUSERNAME userPASSWORD password…...

C语言AES加密解密字符串与16进制数据

文章目录 AES介绍C语言加密库加密解密16进制数据加密解密字符串数据base64编码aes加密字符串aes解密字符串解密中文字符加密库源代码AES介绍 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标…...

NIFI实现JSON转SQL并插入到数据库表中

说明 本文中的NIFI是使用docker进行安装的,所有的配置参考:docker安装Apache NIFI 需求背景 现在有一个文件,里面存储的是一些json格式的数据,要求将文件中的数据存入数据库表中,以下是一些模拟的数据和对应的数据库…...

【canal系】canal集群异常Could not find first log file name in binary log index file

这里先说明下这边使用的canal版本号为1.1.5 在描述这个问题之前,首先需要简单对于canal架构有个基本的了解 canal工作原理 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dum…...

ESP32C3 PWM输出

目前对于遥控双发差速小飞机计划采用如下架构: ESP32C3做主控,兼具遥控收发和飞行控制锂电池供电,带电量检测双发,720空心杯电机,55mm桨,带电流检测MPU6050加速度计和陀螺仪预留4个控制信号输出 马达控制要…...

二、GoLang输出HelloWorld、基本数据类型、变量常量定义、基本类型转换

一、输入Hello World go语言中,想要输出内容到控制台,package必须是main,包括方法名也必须是main, go语言输出的语法是 fmt 库。 package mainimport "fmt"func main() {// go语言中 输出内容 使用的库是 fmt库fmt.Pr…...

mojo初体验

目录标题 mojo初体验试用地址变量定义参数可变性和所有权Structures后续 mojo初体验 试用地址 https://www.modular.com/get-started 与python基础语法很相似。 变量定义 let定义不可变变量var定义可变变量 参数可变性和所有权 下面是一个基本的函数: fn add…...

python3 重启docker方法

一、工作中的问题 工作中进行测试时,需要修改nacos配置,修改完成后再重启对应的docker容器,让配置生效,研究了下,使用docker库可以做到。 如何修改nacos配置可以参见我的另一篇文章,传送门 python3 修改…...

【js】js中深拷贝与浅拷贝:

文章目录 一、浅拷贝(修改新对象会改到原对象)【1】通过 直接赋值【2】Object.assign()方法 二、深拷贝(修改新对象不会改到原对象)【1】通过JSON对象来实现深拷贝【2】 Object.create(&#xf…...

大文件上传demo,前端基于Uppy,后端基于koa

前言 文件上传基本上所有的管理系统之类的项目都有这么一个功能。因为使用了Element,可以方便的使用 其提供的Upload组件,对于普通上传来说基本上就够用了。但是有时候会涉及到大文件上传的需求,这时就会面临一些问题:比如文件上…...

typeScript--[函数定义]

一.TypesScript 函数的定义 函数的定义包括两种类型:函数声明和函数表达式。 1.函数声明 function hello(): string {return "hello" } 2.函数表达式 var hello1 function (): string {return "hello" } 二.函数之可选参数 参数后面的限…...

Spring初始化项目

1、官网用法 访问地址:https://start.spring.io idea配置:https://start.spring.io 2、阿里巴巴加速 访问地址:https://start.aliyun.com/bootstrap.html idea配置:https://start.aliyun.com 3、区别 官网阿里巴巴版本最新稍…...

Opencv 图像金字塔----高斯和拉普拉斯

原文:图像金字塔----高斯和拉普拉斯 图像金字塔是图像中多尺度表达的一种,最初用于机器视觉和图像压缩,最主要用于图像的分割、融合。 高斯金字塔 ( Gaussian pyramid): 高斯金字塔是由底部的最大分辨率图像逐次向下采样得到的一系列图像…...

gitLab(git)误提交命令

1.先使用下面命令查看一下分支上已提交的信息 git log 2.回退到之前的版本 git reset —hard 你要删除的提交哈希码(一般是离这个命令最近的一串数字) 3.覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本 注意:切换到你提…...

Rust个人学习笔记2

一定要牢记Rust是基于表达式的语言&#xff0c;除了声明语句和表达式语句外&#xff0c;其他的都是表达式。所以if也是表达式&#xff0c;它可以被用作右值。 条件控制 if-else。cpp和python得结合。 fn main() {let number 34;if number < 0 {println!("number &l…...

深入浅出Android同步屏障机制

原文链接 Android Sync Barrier机制 诡异的假死问题 前段时间&#xff0c;项目上遇到了一个假死问题&#xff0c;随机出现&#xff0c;无固定复现规律&#xff0c;大量频繁随机操作后&#xff0c;便会出现假死&#xff0c;整个应用无法操作&#xff0c;不会响应事件&#xff…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

RabbitMQ 各类交换机

为什么要用交换机&#xff1f; 交换机用来路由消息。如果直发队列&#xff0c;这个消息就被处理消失了&#xff0c;那别的队列也需要这个消息怎么办&#xff1f;那就要用到交换机 交换机类型 1&#xff0c;fanout&#xff1a;广播 特点 广播所有消息​​&#xff1a;将消息…...

【R语言编程——数据调用】

这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中&#xff0c;有多个库支持调用内置数据集或外部数据&#xff0c;包括studentdata等教学或示例数据集。以下是常见的库和方法&#xff1a; 可用库及数据集 openintro库 该库包含多个教学数据集&a…...

PHP 表单 - 验证邮件和URL

PHP 表单 - 验证邮件和URL 引言 在Web开发中&#xff0c;表单是用户与网站交互的重要途径。一个功能完善的表单不仅可以收集用户数据&#xff0c;还能提高用户体验。在表单设计中&#xff0c;验证邮件地址和URL是常见的需求。本文将详细介绍如何在PHP中实现邮件和URL的验证&a…...