SMP:对称多处理机系统

2023-12-10 20:59

本文主要是介绍SMP:对称多处理机系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

附件:SMP.xmind

1 系统架构
1 多处理器<->存储器
1 紧耦合型tightly coupled
  • 1 多端口存储器方式:
    • 比如存储器3块,每块4个端口
    • 连接简单
    • 存储器端口有限,限制了连接的处理器个数
  • 2 集中控制开关方式:
    • 把各存储块硬件控制逻辑换成一个集中式开关,该开关给出处理器到存储块的访问路径

    • 克服多端口缺陷,支持更多处理器
    • 开关单元就复杂: m个存储块,n个处理器,则路径MxN;开关单元故障导致系统可靠性降低
  • 3 局部存储器方式 -> 不对称体系结构:
    • 各个处理器有自己的私有局部存储器
    • 类似解决多处理器冲突的方法:给主存加cache,减少访问主存次数
2 松耦合型loosely coupled -> 分布式:
  • 每个处理器与一个局部存储器相连,但局部存储器不具私有性;处理器Pi访问Mi不经开关切换线路,但访问Mj需经过开关切换
  • 开关切换:
    • 1 局部开关把请求信号作为消息包发给目的开关,途中各开关起转发作用
    • 2 目的开关得到消息后,把自己局部存储器数据作为消息返发回源开关,再转至等待处理器
  • 优点:高可靠性+可扩充性
  • 缺点:延时,取决于Mj和Pi距离
2 处理器<->IO设备
  • 1 多端口IO设备
    • 设备每个端口与一个处理器总线相连,设备可用此端口进行数据传输+中断处理

    • 设备进程在每个处理器上运行
  • 2 中间交叉开关控制:
    • 类似集中式或分布式开关,但更复杂:设备与处理器在一个事物处理中保持时间可能很长,因此用软件控制开关切换比硬件实现更方便

    • 设备进程在每个处理器上运行
  • 3 某IO只与单个处理器相连
    • 设备进程在可访问该设备的处理器上运行
  • 4 某IO与单个处理器相连但可被其它处理器访问
    • 尽管处理器可访问任意设备,但某设备发出的数据和中断信号只能由与之相连的处理器处理,原因:1 设备的中断信号需要尽快相应;2 到非局部存储器的数据传输存在时间延迟

    • 设备进程操作分成两种:能在所有处理器运行;在同设备相连处理器运行
2 操作系统
2.1 分类:
2.1.1 主从式:master-slave
  • 一台主处理机记录控制其它处理机,并分配任务给从处理机
  • 示例:
    • Cyber-170  OS驻留在外围处理机PO上运行,其它处理机从属于该PO
    • DECSystem10  两台处理机:主+从
  • 特点:
    • 1 OS只在一台机器运行,不要求整个管理程序都是可重入的
    • 2 主处理机故障容易引起系统崩溃
    • 3 任务分配算法影响处理器资源利用率
    • 4 用于负载不重或功能差异很大的处理器组成的非对称系统
    • 5 硬件/软件简单,但灵活性差劲
2.1.2 独立监督式:separate supervisor
  • 描述:每台处理机均有自己的监管程序
  • 特点:
    • 1 每个处理机按自身需要及任务执行管理功能->独立
    • 2 管理代码必须可重入,或为每个处理机装入专用管理程序副本。
    • 3 每个处理机都有自己的管理程序:1 访问共用表格冲突少,阻塞也少,效率高;2 冲突仲裁不可缺少
    • 4 一台处理机故障不会造成系统崩溃
    • 5 每个处理机都有自己专用I/O设备和文件等
    • 6 适用于松耦合体系,每个处理机都有局部存储器存放监管程序->存储冗余高
    • 7 实现处理机负载均衡很苦难
  • 示例:IBM370/158
2.1.3 浮动监督式:floating supervisor
  • 描述:只有一台监管处理机,但谁做主处理机不固定
  • 特点:
    • 1 虽只有1台主处理机,但可数台处理机执行一个管理服务子程序->管理程序代码可重入
    • 2 主处理机可浮动->主处理机故障不影响系统运行
    • 3 容易平衡负载
    • 4 请求冲突可通过优先权解决,对共享资源的访问冲突用互斥解决
    • 5 采用处理机集合概念管理,每一处理机都可控制任I/O设备+存储块管理方式透明、可靠、灵活

  • 示例:IBM3081
2.2 功能评价:
  • 1 共享资源:应有进程同步与互斥算法
  • 2 多处理机调度:负载均衡很重要;任务分配时:1 必须了解每台处理机能力以便分配任务 2 确切了解作业中诸任务关系
  • 3 存储器访问:访问仲裁;数据一致性
  • 4 提高可靠性:故障后自动切换;备份资源
3 设计
  • 1 体系结构方面:
    • 处理器同构
    • 处理器同构  通过“仿真软件”抹平异构机之间的硬件差异
  • 2 程序设计方面:同步
    • 1 同步重要性
    • 2 同步实现:
      • 1 紧耦合:通过共享存储器;
      • 2  松耦合:通过计算机网络/分布式系统
    • 3 中心进程实现同步
      • 1 中心进程保存了所有用户权限和冲突图信息
      • 2 访问共享资源的请求先向该进程发请求,中心进程查看冲突图:1 该请求不会引起死锁->插入请求队列;2 否则-> 退回

      • 3 轮到该请求时,中心进程向其发送回答信息允许进入临界段访问
      • 4 退出临界段时,请求向中心进程发送释放资源消息,中心进程收到后处理下一个请求

  • 3 组建
    • 1 CPU必须内置APIC单元(Advanced Programmable Interrupt Controllers):CPU通过APIO通信,控制中断,给中断附加动作;每个处理器有自己的APIO,一个I/O APIC专门处理I/O设备引起的中断

    • 2 相同产品型号,相同类型CPU核心
    • 3 尽可能保持相同的产品序列编号

这篇关于SMP:对称多处理机系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478353

相关文章

线性代数 第六讲 特征值和特征向量_相似对角化_实对称矩阵_重点题型总结详细解析

文章目录 1.特征值和特征向量1.1 特征值和特征向量的定义1.2 特征值和特征向量的求法1.3 特征值特征向量的主要结论 2.相似2.1 相似的定义2.2 相似的性质2.3 相似的结论 3.相似对角化4.实对称矩阵4.1 实对称矩阵的基本性质4.2 施密特正交化 5.重难点题型总结5.1 判断矩阵能否相似对角化5.2 已知两个矩阵相似,求某个矩阵中的未知参数5.3 相似时,求可逆矩阵P,使

VSC++: 括号对称比较

括号的使用规则:大括号,中括号,小括号{[()]};中括号,小括号[()];小括号();大括号、中括号、小括号、中括号、小括号、大括号{[()][()]};大括号,中括号,小括号,小括号{[(())]};大括号,中括号,小括号,小括号{[()()]};小括号不能嵌套,小括号可连续使用。 {[]}、{()}、([])、({})、[{}]、{}、[]、{[}]、[(])都属非法。 char aa[

RS485差分信号不对称

在RS485总线通信中,差分信号不对称的问题时常出现,尤其是在总线未接从机设备的情况下。这一问题不仅影响通信质量,还可能导致信号传输错误。通过对实际波形、芯片手册及电路的深入分析,可以找出引发差分信号不对称的根本原因,并采取相应的解决措施。 问题描述 在RS485通信测试中,当总线上没有从机设备连接时,观察到RS485差分信号(A、B)关于地(GND)不对称。理想情况下,RS485的差分信

多处理器SMP系统结构--SMP结构中的进程调度

多核进程调度中,相关task_struct 结构中代表进程与CPU之间关系的变量 struct task_struct{...int has_cpu, processor;unsigned long cpus_allowed;...} has_cpu:表示当前进程在CPU上正在运行; processor:表示在哪个CPU上运行; cpus_allowed:一个位图变量,其中一位,置1,表示

对称的二叉树 java实现

题目描述: 请实现一个函数,用来判断一棵二叉树是不是对称的,如果一棵二叉树和他的镜像是一样的,那么它是对称的; 解题思路:首先 理解镜像的概念,进行就是一棵二叉树左右节点反转过后形成的二叉树和原来的二叉树是一样的。这道题目中判断条件是使用和元二叉树的镜像相同,那么最low的方法是对原二叉树进行重构,重构后的二叉树和原二叉树进行比较,相同即是对称,不同就是不对称喽。那么这种方法需要额外空间的,我

【BLE】四.SMP安全配对详解

设备配对流程 SMP专业术语 Paring(配对): 配对能力交换,设备认证,密钥生成,连接加密以及机密信息分发等 过程 Bonding(绑定) 配对中会生成一个长期密钥(LTK,long-term Key),双方把LTK存储在Flash,那么这两个设备再次重连就可跳过配对流程,且直接使用LTK对蓝牙连接进行加密; 不存储LTK(不分发LTK),paring完成后连接也是加密的,但重连

数据结构:(LeetCode101)对称二叉树

给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3]输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3]输出:false 提示: 树中节点数目在范围 [1, 1000] 内-100 <= Node.val <= 100 进阶:你可以运用递归和迭

对称密码学

1. 使用OpenSSL 命令行         在 Ubuntu Linux Distribution (发行版)中, OpenSSL 通常可用。当然,如果不可用的话,也可以使用下以下命令安装 OpenSSL: $ sudo apt-get install openssl 安装完后可以使用以下命令检查 OpenSSL 版本: $ openssl version 其输出将如下所示: O

判断一棵二叉树是否为对称树之java实现

package com.cb.java.algorithms.jianzhioffer.tree;public class SymmetricTree {class TreeNode {int data; // 数据域TreeNode left;// 左子节点TreeNode right; // 右子节点public TreeNode(int data) {this.data = data;}}p

Leetcode JAVA刷刷站(101)对称二叉树

一、题目概述 二、思路方向         在Java中,要检查一个二叉树是否是轴对称的(也称为镜像对称的),你可以通过递归地比较树的左子树和右子树是否镜像对称来实现。轴对称的二叉树意味着树的左子树和右子树关于根节点对称,即左子树的每个节点都与右子树中相应位置的节点镜像对称。 三、代码实现   class TreeNode { int val; TreeNode left;