文章目录

  • 一、SMP 对称多处理器结构概念
  • 二、SMP 对称多处理器结构的优势与缺陷
  • 三、Linux 内核兼容多处理器要求

一、SMP 对称多处理器结构概念


对称多处理器结构 , 英文名称为 " Symmetrical Multi-Processing " , 简称 SMP ;

SMP 又称为 UMA , 全称 " Uniform Memory Access " , 中文名称 " 统一内存访问架构 " ;

在 " 对称多处理器结构 " 的 系统中 , 所有的 CPU 处理器 的 地位 都是 平等的 , 一般指的是 服务器 设备上 , 运行的 多个 CPU , 没有 主次/从属 关系 , 都是平等的 ;

这些处理器 共享 所有的设备资源 , 所有的资源 对 处理器 具有相同的 可访问性 , 如 : 磁盘 , 内存 , 总线 等 ; 多个 CPU 处理器 共享相同的物理内存 , 每个 CPU 访问相同的物理地址 , 所消耗的时间是相同的 ;

二、SMP 对称多处理器结构的优势与缺陷


SMP 对称多处理器结构 的 系统 ,

优点 : 避免了 结构障碍 , 其最大的特点是 所有的资源共享 ;

缺点 : SMP 架构的系统 , 扩展能力有限 , 有瓶颈限制 ;

如 : 内存瓶颈限制 , 每个 CPU 处理器必须通过 相同的总线 访问 相同的内存资源 , 如果 CPU 数量不断增加 , 使用同一条总线 , 就会导致 内存访问冲突 ; 这样就降低了 CPU 的性能 ;

通过实践证明 , SMP 架构的系统 , 使用 222 ~ 444 个 CPU , 可以达到利用率最高 , 如果 CPU 再多 , 其利用率就会降低 , 浪费处理器的性能 ;

三、Linux 内核兼容多处理器要求


有多个 CPU 处理器 的 系统中 , Linux 内核需要处理的问题 :

① 公平共享 : CPU 的负载 , 需要公平地共享 , 不能出现某个 CPU 空闲 , 造成资源浪费 ;

② 可设置进程 与 CPU 亲和性 : 可以为 某些类型的 进程 与 指定的 处理器 设置 亲和性 , 可以针对性地匹配 进程 与 处理器 ;

③ 进程迁移 : Linux 内核可以将 进程 在 不同的 CPU 处理器之间进行迁移 ;

Linux 内核 的 SMP 对称多处理器结构 调度 , 核心就是 将 进程 迁移到 合适的 处理器上 , 并且可以保持 各个 处理器 的 负载均衡 ;

【Linux 内核】SMP 对称多处理器结构 ( SMP 对称多处理器结构概念 | SMP 对称多处理器结构的优势与缺陷 | Linux 内核兼容多处理器要求 )相关推荐

  1. Linux中的两个经典宏定义:获取结构体成员地址,根据成员地址获得结构体地址;Linux中双向链表的经典实现。...

    倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生.这两个宏最初是极客写出的,后来在Linux内核中被推广使用. 1. offse ...

  2. 第14章-1~3 法兰接头预紧力密封接触分析周期对称 (介绍、局部柱坐标系建立、周期对称的设置) Beta选项打开、 cyclic region、symmetry

    第14章-1~3 法兰接头预紧力密封接触分析周期对称 (介绍.局部柱坐标系建立.周期对称的设置) Beta选项打开. cyclic region.symmetry 冬 泳 怪 鸽 2020-08-31 ...

  3. linux内核空间和用户空间的是怎样区别的,如何交互,如何从用户空间进入内核空间

    linux驱动程序一般工作在内核空间,但也可以工作在用户空间.下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们. Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,L ...

  4. 对称与魔术初步(一)——美丽的对称

    早点关注我,精彩不迷路! 在前面<循环.递归与魔术(一)--递归与循环的数理逻辑>系列中,我们曾介绍过递归与循环的逻辑结构以及他们在魔术中的应用.而在我早期的公开分享中,往往还会带上对称这 ...

  5. Linux结构体变量报错,C语言中的结构体

    用户自己建立自己的结构体类型 1.  定义和使用结构体变量 (1).结构体的定义 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体. (2).声明一个结构体类型的一般形式为: ...

  6. 阿里为Linux内核调度器提出一个新的”组平衡器”概念

    导读 随着越来越多的组织为了发展云计算等业务配置他们的服务器在应用程序之间共享 CPU 核心/资源,而不是专门分配 CPU 核心给单个应用程序/任务,中国公司阿里巴巴正在为 Linux 内核调度器提出 ...

  7. linux结构体转qbytearray,QByteArray储存二进制数据(包括结构体,自定义QT对象)

    因为利用QByteArray可以很方便的利用其API对内存数据进行访问和修改, 构建数据库blob字段时必不可少; 那如何向blob内写入自定义的结构体和类 //自定义person结构体 typede ...

  8. linux c socket编程学习(1)(一些基本概念及基本的函数使用)

    1.相关理论: 部分理论资料来自TCP/IP sockets编程(C语言实现),额外做了许多补充. 概念: IP: 每台主机的IP地址都是不同的.主机的IP地址有公网IP和内网IP.在局域网中,每台主 ...

  9. 【精华文】C语言结构体特殊情况分析:结构体指针 / 基本数据类型指针,指向其他结构体

    参考链接:Structure pointer pointing to different structure instance 注:可以查看此篇的问题和唯一的回复,那是相对正确的,不要看comment ...

最新文章

  1. python编程有哪些-python编程工具有哪些
  2. qt5 + vs2015自定义控件错误:undefend interface
  3. 在 ASP.NET 中实现会话状态的基础
  4. 京东开通数字人民币“硬件钱包”线上消费功能
  5. 18秋c语言程序设计作业答案,西工大18秋《C语言程序设计》平时作业答案.docx
  6. element table批量删除_element ui 批量删除
  7. 东大OJ-最大子序列问题的变形
  8. centosx64 6.2安装virtualbox
  9. 【vs2019MFC】msvcrtd.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 “int __cdecl invoke_mai
  10. SpringCloud下的springboot工程,访问jsp页面报404问题
  11. 36. PHP面向对象
  12. 绝对郁闷到死的NHibernate2.0。。。
  13. 4.1 手工编写第一个性能测试脚本
  14. 基于灰狼算法优化的lssvm回归预测-附代码
  15. 追源索骥:透过源码看懂Flink核心框架的执行流程--来自GitHub
  16. 《新编计算机科学概论》一第0章 绪  论
  17. 实验八 无线城域网WiMax仿真实验
  18. 一个Python里最好的分词库!
  19. lol体验服一直显示连接服务器,为什么英雄联盟体验服进不去游戏
  20. 节能与环保杂志节能与环保杂志社节能与环保编辑部2022年第6期目录

热门文章

  1. DB2安全(一)——概述
  2. 自动发布工具应该具备的11个标准特征
  3. SHA256CryptoServiceProvider vs SHA256Managed
  4. Qt学习之路_1(安装及首次体验)
  5. linux之vsftpd虚拟用户搭建
  6. 开启文件高级共享功能
  7. JAVA命令运行cmd命令得到的结果乱码Runtime.getRuntime().exec();
  8. python:argparse命令行解析模块详解
  9. 公钥和私钥的简单通俗说明
  10. JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)