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

工程师 - 什么是SMP

什么是 SMP(对称多处理)?

What is SMP (symmetric multiprocessing)?

对称多处理(SMP,symmetric multiprocessing)是由多个处理器完成的计算机处理过程,这些处理器共享一个操作系统(OS)和内存。在对称多处理中,处理器共享相同的输入/输出(I/O)总线或数据路径。操作系统的单一副本负责管理所有处理器。

SMP (symmetric multiprocessing) is computer processing done by multiple processors that share a common operating system (OS) and memory. In symmetric multiprocessing, the processors share the same input/output (I/O) bus or data path. A single copy of the OS is in charge of all the processors.

与大规模并行处理(MPP)系统相比,SMP 系统更适合在线事务处理,因为在大规模并行处理系统中,许多用户通过一组相对简单的事务访问同一个数据库。与 MPP 系统不同,SMP 系统可以动态地平衡计算机之间的工作量,从而更快地为更多用户提供服务。

SMP systems are better suited for online transaction processing than massively parallel processing (MPP) systems in which many users access the same database in a relatively simple set of transactions. Unlike MPP systems, SMP systems can dynamically balance the workload among computers to serve more users faster.

SMP 计算机体系结构是一种多处理器硬件和软件体系结构,拥有多个相同的处理器。这些处理器平等共享主内存,并可访问所有 I/O 设备。如今,大多数现代操作系统都支持 SMP 机器。在过去,用户必须学习特殊的编程技巧才能使用 SMP。

The SMP computer architecture is a multiprocessor hardware and software architecture that has multiple identical processors. The processors equally share main memory and have access to all I/O devices. Today, most modern OSes support SMP machines. In the past, users had to learn special programming skills to use SMP.

How is SMP used?

对称多处理系统主要用于资源密集型计算环境。这些环境需要大量的计算能力来执行应用任务和进程。大多数多处理器系统使用 SMP 架构。

Symmetric multiprocessing systems are used primarily in resource-intensive computing environments. These are environments that need a large amount of computing power to execute application tasks and processes. Most multiprocessor systems use SMP architectures.

SMP 最适用于分时系统和多线程分时系统。时间共享是指将计算资源同时分配给多个用户。同样,多线程是中央处理器(CPU)的一项功能,可在一个进程中执行多个并发任务。更具体地说,多线程可使多个指令线程独立执行,共享相同的处理资源。

SMP is most useful for time-sharing systems and multithreading time-sharing systems. Time sharing is the distribution of a computing resource to multiple users at one time. Similarly, multithreading is a central processing unit (CPU) feature that enables multiple, concurrent tasks to be performed in one process. More specifically, multithreading enables multiple instruction threads to execute independently, all sharing the same processing resources.

时间共享使用 SMP,因为它将计算资源分配给多个用户,并可并行运行多个进程。SMP 的设计目的是让多个进程在不同的处理单元上运行,它为这一处理提供了帮助。在多线程中使用 SMP 也是出于同样的原因,因为多线程可以同时处理多个操作,而 SMP 则将线程分配给每个处理器。

Time sharing uses SMP, as it distributes computing resources to multiple users and can run multiple processes in parallel. This process is aided by SMP, which is designed to have more than one process running on different processing units. SMP is used in multithreading for the same reason, as multithreading handles multiple processes at one time and SMP divides the threads up to each processor.

然而,SMP 并不常用于个人电脑或应用程序,因为这些电脑或应用程序未经修改,无法考虑多线程编程。应用程序和程序的设计必须支持多线程,这样才能在不同的并行处理器上安排线程。

SMP, however, is not commonly used in PCs or applications that have not been modified to take multithreaded programming into account. Applications and programs need to be designed to enable multithreading so that threads can be scheduled on different parallel processors.

Memory space, I/O bus and data path are shared among multiple processors in SMP.

What are the advantages and disadvantages of SMP?

对称多处理的优势如下:

* 提高吞吐量。使用多个处理器运行任务可缩短任务执行时间。

* 可靠性。如果一个处理器出现故障,整个系统不会失效。但效率仍可能受到影响。

* 成本效益高。由于 SMP 系统中的处理器共享数据存储、电源和其他资源,因此从长远来看,SMP 是一种比单处理器系统更经济的提高系统吞吐量的方法。

* 性能。由于吞吐量增加,SMP 计算机系统的性能明显高于只有一个处理器的系统。

* 编程和执行代码。程序可在 SMP 系统的任何处理器上运行,并达到大致相同的性能水平,这使得编程和执行代码变得相对简单。

* 多个处理器。如果某项任务需要很长时间才能完成,可以增加多个处理器来加快进程。

Advantages of symmetric multiprocessing include the following:

* Increased throughput. Using multiple processors to run tasks decreases the time it takes for the tasks to execute.

* Reliability. If a processor fails, the whole system does not fail. But efficiency may still be affected.

* Cost-effective. SMP is a less expensive way long term to increase system throughput than a single processor system, as the processors in an SMP system share data storage, power supplies and other resources.

* Performance. Because of the increased throughput, the performance of an SMP computer system is significantly higher than a system with only one processor.

* Programming and executing code. A program can run on any processor in the SMP system and reach about the same level of performance, which makes programming and executing code relatively straightforward.

* Multiple processors. If a task is taking too long to complete, multiple processors can be added to speed up the process.

不过,SMP 也有以下缺点:

* 内存花费。由于 SMP 中的所有处理器都共用内存,因此主内存必须足够大,以支持所有处理器。

* 兼容性。要使 SMP 正常工作,操作系统、程序和应用程序都必须支持该架构。

* 复杂的操作系统。操作系统管理 SMP 系统中的所有处理器。这意味着操作系统的设计和管理可能非常复杂,因为操作系统需要处理所有可用的处理器,同时还要在资源密集型计算环境中运行。

However, SMP also comes with the following disadvantages:

* Memory expense. Because all processors in SMP share common memory, main memory must be large enough to support all the included processors.

* Compatibility. For SMP to work, the OS, programs and applications all need to support the architecture.

* Complicated OS. The OS manages all the processors in an SMP system. This means the design and management of the OS can be complex, as the OS needs to handle all the available processors, while operating in resource-intensive computing environments.

参考:

What is Symmetric Multiprocessing (SMP)?

相关文章:

工程师 - 什么是SMP

什么是 SMP(对称多处理)? What is SMP (symmetric multiprocessing)? 对称多处理(SMP,symmetric multiprocessing)是由多个处理器完成的计算机处理过程,这些处理器共享一个操作系统&#xff0…...

Webpack: 并行构建

概述 受限于 Node.js 的单线程架构,原生 Webpack 对所有资源文件做的所有解析、转译、合并操作本质上都是在同一个线程内串行执行,CPU 利用率极低,因此,理所当然地,社区出现了一些以多进程方式运行 Webpack&#xff0…...

Vue的介绍与使用

1.Vue的介绍 内容讲解 【1】Vue介绍 1.vue属于一个前端框架,底层使用原生js编写的。主要用来进行前端和后台服务器之间的一个交互。 2.Vue是一套构建用户界面的渐进式前端框架。 “渐进式框架”简单的来说你可以将Vue作为你的应用一部分嵌入其中,代理…...

MYSQL双主双从,使用Keepalived双机热备+LVS高可用群集

MYSQL双主双从,使用Keepalived双机热备LVS高可用群集 ​ 文档只记录KeepalivedLVSmysql主从,不包含检验,如需检验,请自行添加web服务器 一、IP规划 服务器IP备注master1192.168.100.131master2的从master2192.168.100.132maste…...

9.计算机视觉—目标检测

目录 1.物体检测边缘框目标检测数据集总结边缘框代码实现2.锚框:目标检测的一种方法IoU—交并比赋予锚框标号使用非极大值抑制(NMS)输出总结代码实现1.物体检测 边缘框 一个边缘框可以通过四个数字定义 (左上x,左上y),(右下x,右下y)(左上x,左上y,宽,高)(中间x,中间y…...

构造函数深入理解

目录 构造函数构造函数体赋值初始化列表初始化列表格式初始化列表的意义以及注意点const修饰的成员变量初始化对象成员具体初始化的地方缺省值存在的意义例子1例子2 初始化与赋值引用成员变量的初始化注意点1注意点2我的疑惑 自定义类型成员初始化例子1例子2例子3例子4 初始化列…...

Rocky Linux 9 快速安装docker 教程

前述 CentOS 7系统将于2024年06月30日停止维护服务。CentOS官方不再提供CentOS 及后续版本,不再支持新的软件和补丁更新。CentOS用户现有业务随时面临宕机和安全风险,并无法确保及时恢复。由于 CentOS Stream 相对不稳定,刚好在寻找平替系统…...

go语言并发编程1-Gouroutine

参考文档:www.topgoer.com 使用方法 直接包装成函数,go关键字触发即可 注意事项 1 main方法结束后,main方法内启动的子协程会立即结束,无论是否执行完毕; 启动多个groutine 使用sync包的WaitGroup来控制&#xf…...

Sylar服务器框架——Http模块

1、http.h 定义了HttpMethod和HttpStatus /* Request Methods */ #define HTTP_METHOD_MAP(XX) \XX(0, DELETE, DELETE) \XX(1, GET, GET) \XX(2, HEAD, HEAD) \XX(3, POST, POST) \XX(4, PUT, …...

7km远距离WiFi实时图传模块,无人机海上无线传输方案,飞睿智能WiFi MESH自组网技术

在浩瀚无垠的海洋上,无人机正在开启一场前所未有的技术创新。它们不再只是天空的舞者,更是海洋的守望者,为我们带来前所未有的视野和数据。而这一切的背后,都离不开一项创新性的技术——飞睿智能远距离WiFi实时图传模块与无线Mesh…...

2024年上半年网络工程师下午真题及答案解析

试题一(20分) 某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。两校区默认由本地…...

Jmeter下载、安装及配置

1 Jmeter介绍 Jmeter是进行负载测试的工具,可以在任何支持Java虚拟机环境的平台上运行,比如Windows、Linux、Mac。 Jmeter模拟一组用户向目标服务器发送请求,并统计目标服务器的性能信息,比如CPU、memory usage。 2 Jmeter下载 …...

掌握高效实用的VS调试技巧

🔥 个人主页:大耳朵土土垚 1.编程常见的错误 1.1编译型错误 编程编译型错误是指在编译代码时发现的错误。编译器在编译过程中会检查代码是否符合语法规范和语义要求,如果发现错误会产生编译错误。 直接看错误提示信息(双击&#…...

实验2 字符及字符串输入输出与分支程序设计实验

字符及字符串输入输出 从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 分支程序设计 从键盘输入一字符,判断该字符是小写字母、大写字母、数字或者其他字符。若输入为小写字母,显示“You Input a Lo…...

docker容器间网络仿真工具-pumba

docker-tc&pumba docker-tc:docker-tc项目仓库 pumba:pumba项目仓库 这两个项目理论上都可以实现对容器间的网络环境进行各种模拟干预,包括延迟,丢包,带宽限制等。 但是我在实际使用时,发现docker-tc这个工具在进行网络进行模…...

A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用

A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用 1 该驱动函数预览1.11 HAL_PCD_SOFCallback1.12 HAL_PCD_ResetCallback1.13 HAL_PCD_SuspendCallback1.14 HAL_PCD_ResumeCallback1.15 HAL_PCD_ISOOUTIncompleteCallback1.16 HAL_PCD_ISOINIncompleteCallbac…...

vue2 + element三级菜单实现模板

需求&#xff1a; 需要一个含有三级菜单的结构模板&#xff0c;用于业务快速开发。 解决&#xff1a; sidebar.vue <template><el-menu :default-active"defaultActive" class"el-menu-vertical-demo" active-text-color"#ffd04b"&…...

vue H5页面video 视频流自动播放, 解决ios不能自动播放问题

视频组件 <videostyle"width: 100%; height: 100%;object-fit: fill"class"player"refplayer_big_boxcontrolspreloadautoplay //自动播放muted //是否静音playsinline"true"x5-playsinline""webkit-playsinline"tru…...

自闭症儿童:探索症状背后的多彩内心世界

在星启帆自闭症康复中心&#xff0c;我们每天与一群独特而珍贵的孩子相遇——他们&#xff0c;是自闭症谱系障碍的患儿。自闭症&#xff0c;这一复杂的神经发育障碍&#xff0c;以其多样化的症状表现&#xff0c;为每个孩子的生活轨迹绘上了不同的色彩。 自闭症孩子的症状各异…...

在Centos7上安装PostgreSQL16的详细步骤

文章目录 环境一、准备二、postgresql下载方法一&#xff1a;wget下载方法二&#xff1a;下载压缩包解压 三、创建用户组、用户四、创建数据主目录五、配置环境变量六、initdb初使化数据库七、配置服务八、设置开机自启动九、设置防火墙十、启动数据库服务 环境 CPU: 4 核心或以…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...