前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器05-CPU和内存架构介绍

服务器05-CPU和内存架构介绍

作者头像
大话IT架构
发布2020-03-31 16:23:36
14.8K0
发布2020-03-31 16:23:36
举报
文章被收录于专栏:大话IT架构

从系统架构来看,服务器的CPU和内存架构可以分三类:

SMP :Symmetric Multi-Processor

NUMA :Non-Uniform Memory Access

MPP :Massive Parallel Processing

我本人不认为MPP是CPU和内存架构的一种;我认为他是SMP或者NUMA的分布式架构应用而已;本文后续说明。

1.早期的服务器:SMP

最早的服务器都是一颗CPU,随着业务压力的增大,面临CPU不够的境况。怎么办?简单粗暴的办法就是:架构不动,在现有架构上加CPU即可。

架构不变,CPU是加了,但是效果没有想象的那么好。CPU是原来的两倍,但是系统性能并没有提升为原来的两倍。什么原因?两颗CPU的地位是平等的,共享内存总线;导致CPU0使用内存的时候,CPU1就得等待。两颗CPU的情况还马马虎虎能过得去,随着CPU数量的增大,CPU总线越来越成为瓶颈。怎么办?此时NUMA闪亮登场了。

2.现在的服务器:NUMA

NUMA解决了SMP架构内存总线的瓶颈,确保每个CPU都有自己的私有内存和内存总线;如果本CPU的内存不够怎么办?通过CPU总线(QPI或UPI)和其他CPU协商去借。任何事情都不可能十全十美,NUMA也有自己的问题,尤其是在数据库和虚拟化场景下的某些情况会有性能问题:1.跨CPU访问内存(即和别的CPU借内存)比访问本CPU的内存效率要低 2.会出现内存和CPU访问失衡问题:如4颗CPU,CPU1要访问的数据恰好在CPU0的内存里。

小提示:数据库场景下,有经验的DBA都会要求关闭NUMA。

3)MPP

SMP|NUMA架构下,所有的CPU都在一个server里,操作系统也是一个

MPP其实就是SMP|NUMA的多个server通过网络连接在一起,每个server都有自己的操作系统;MPP更多的是依赖多个server之间操作系统或者分布式软件来协调调度组成逻辑的计算机或者服务;本质上应该属于现代分布式架构。程序=算法+数据结构,其中算法可以算作是cpu处理,而数据结构可以看作是数据存储的话,那么很显然扩展的方向有两个,扩CPU和扩存储;此时又演化为scale-out和scale-up。scale-up的局限性很明显,无论多牛逼总有到头的一天;scale-out则计算和存储是永远可以线性扩展。这也是目前分布式大行其道的原因。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话IT架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档