服务器概念、组成和架构详解_服务器的基本工作原理和组成架构-程序员宅基地

技术标签: 网络  操作系统  IT文章  数据库  

目录

前言:

1、服务器是什么?

2、服务器的构成?

3、服务器的分类?

4、X86/ARM之争?

一、服务器是什么?

二、 服务器的构成?

2.1 服务器的逻辑架构

2.2 服务器的硬件

2.3 服务器的固件和OS

三、服务器的分类?

3.1 按产品形态

3.2 按指令集架构

3.3 按处理器数量

3.4 按应用类型

四、 X86/ARM之争?

4.1 X86服务器:市占率高

4.2 ARM服务器:潜力很大


前言:

服务器是构建云计算的最核心基础设备,在“新基建”加快推进、公有云持续放量的背景下,服务器行业正迎来景气拐点。本文围绕4个核心问题,由浅入深对服务器进行深入剖析:

1、服务器是什么?

2、服务器的构成?

3、服务器的分类?

4、X86/ARM之争?

一、服务器是什么?

服务器的英文名称为“ Server”,是指在网络上提供各种服务的高性能计算机。作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。

服务器和普通计算机的功能是类似的。只是相对于普通计算机,服务器在稳定性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件和普通计算机有所不同。

具体来说,服务器与普通计算机的主要区别包括:

1)通信方式为一对多:PC、平板、手机等固定或移动的网络终端,上网、获取资讯、与外界沟通、娱乐等,必然要经过服务器,服务器通过“一对多”来组织和领导这些设备。

2)资源通过网络共享服务器通过侦听网络上其它终端(Client)提交的服务请求,在网络操作系统的控制下,将与其相连的硬盘、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。

3)硬件性能更加强大:服务器的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。

服务器厂商会根据不同的应用场景,对服务器进行差异化设计,目前主要的应用场景包括文件交互、数据存储和查询、应用程序应答与运行等。

 

二、 服务器的构成?

2.1 服务器的逻辑架构

服务器的逻辑架构和普通计算机类似。但是由于需要提供高性能计算,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。服务器的逻辑架构中,最重要的部分是CPU和内存。CPU对数据进行逻辑运算,内存进行数据存储管理。

 

2.2 服务器的硬件

服务器硬件主要包括:处理器、内存、芯片组、I/O(RAID卡、网卡、HBA卡)、硬盘、机箱(电源、风扇)。

在硬件的成本构成上,CPU及芯片组、内存、外部存储是大头。以一台普通的服务器生产成本为例,CPU及芯片组大致占比50% 左右,内存大致占比 15% 左右,外部存储大致占比10%左右,其他硬件占比25%左右。

 

2.3 服务器的固件和OS

服务器的固件主要包括BIOS或UEFI、BMC、CMOS,OS包括32位和64位。

1)BIOS

(Basic input/ Output System)

即基本输入输出系统,是服务器启动后最先运行的软件。它包括基本输入输出控制程序、上电自检程序、系统启动自检程序、系统设置信息。BIOS是服务器硬件和OS之间的抽象层,用来设置硬件,为OS运行做准备。BIOS设置程序是储存在BIOS芯片中的。BIOS的进化版本是UEFI(Unified Extensible FirmwareInterface),即统一的可扩展固定接口。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。

2)BMC

(Baseboard Management Montroller)

即基板管理控制器,主要是对服务器进行监控和管理。BMC可以在服务器未开机的状态下,对机器进行固件升级、查看机器设备等。

3)CMOS

(Complementary metal-oxide-semiconductor)

是电脑主机板上一块特殊的RAM芯片,是系统参数存放的地方。CMOS存储器用来存储BIOS设定后的相关参数。

4)OS

(Operating system)

即操作系统,对服务器软硬件及数据资源进行管理调度。OS主要分为32位和64位,OS的位数版本决定了计算机处理器在RAM(随机存取储存器)处理信息的效率,64位版本比32位的可以处理更多的内存和应用程序。

三、服务器的分类?

服务器的分类标准是多元化的,目前主要可按产品形态、指令集架构、处理器数量、应用类型等对市场上的服务器进行分类。

3.1 按产品形态

服务器按产品形态,可以分为:塔式服务器、机架服务器、刀片服务器、机柜服务器等。

1)塔式服务器( Tower Server)

既常见的立式和卧式机箱结构的服务器,可放置在普通的办公环境,机箱结构较大,有较大的内部硬盘、冗余电源、冗余风扇的扩容空间,并具备较好的散热功能。塔式服务器密度低,多为单处理器系统(有少部分为双处理器系统)。系统电源和风扇一般是单配,非冗余可靠性较低。主要应用在企业官网、多媒体大流量APP、医疗成像、虚拟桌面基础架构(VD)等场景。

2)机架式服务器(Rack Server)

机架结构是传统电信机房的设备结构标准,宽度为19英寸,高度以单位“U”计算,每“U”为1.75英寸(可换算成4.445cm)。通常有1U、2U、4U和8U之分,其中以1U和2U为主,其次是4U和8U。近期市场也有3U和6U等高度的机架产品出现。机架服务器是一种外观按照统一标准设计的服务器,配合机柜使用。可以认为机架式是一种优化结构的塔式服务器,它的设计宗旨主要是为了尽可能减少服务器空间的占用,而减少空间的直接好处就是在机房托管的时候价格会便宜很多。主要应用在云计算、软件定义存储、超融合架构、CDN缓存、超算中心等场景。

3)刀片式服务器(Blade Server)

通常在一个机箱里可以插入数量不等的“刀片”,其中每一块“刀片”实际上就是一块服务器主板。刀片服务器通常只需要比机架服务器更少的机架空间,通过优化空间来提供更强的计算能力,是一种更高密度的服务器平台。一般包括刀片服务器、刀片机框(含背板)及后插板三大部分。不同厂商有不同高度的机框。各厂商机框皆为19英寸宽,可安装在42U的标准机柜上。主要应用在超算中心、异构计算、云计算平台、实时业务处理、商业智能分析及数据挖掘等场景。

4)机柜式服务器(Cabinet Server)

是未来数据中心基础架构的核心形态和发展趋势。它集成计算、网络、存储于一体,以及面向不同应用时,可以部署不同的软件,提供一个整体的解决方案。机柜式服务器一般由一组冗余电源集中供电,散热方面由机柜背部风扇墙集中散热,功能模块和支撑模块相分离,通过供电、散热的整合,相比普通机架式服务器,运行功耗低、且可靠高效。此外,机柜式服务器无需繁琐拆装,维护便捷,能够轻松实现统一集中管理和业务的自动部署。主要应用在虚拟化、大数据分析、分布式存储、超算中心等快速一体化部署场景。

3.2 按指令集架构

服务器按照指令集架构分类,主要分为如下:

CISC服务器:

(Complexinstruction Set Computing)

即复杂指令集计算

RISC服务器:

(ReducedInstruction Set Computing)

即精简指令集计算

EPIC服务器:

(Explicitlyparallel Instruction Computing)

即显式并行指令计算

 

1)CISC服务器

也被称为X86服务器,采用Intel、AMD或其它兼容X86指令集的处理器芯片以及Windows操作系统的服务器,是目前主流的服务器架构。

2)RISC服务器

RISC服务器基于RISC处理器,目前主要包括IBM的Power和Power PC处理器,SUN和富士通合作研发的SPARC处理器,华为基于ARM架构级授权研发的鲲鹏920处理器。

3)EPIC服务器

EPIC服务器基于EPIC处理器,目前主要是Intel研发的安腾处理器等。

使用RISC或EPIC架构的服务器又称非X86服务器。包括:大型机、小型机和UNIX服务器,并且主要采用UNIX和其它专用操作系统。

3.3 按处理器数量

按照处理器的数量可将服务器分为:单路服务器、双路服务器、四路服务器、八路服务器等。其中,“路”是指一台服务器内部的CPU个数,比如单路服务器内部CPU数量为1颗,双路服务器为2颗,以此类推。目前主流的服务器是双路服务器。

多路服务器用到了对称多处理技术(SymmetricalMulti-Processing,简称SMP),在一台服务器上,多颗CPU共享内存子系统以及总线结构。在服务器运行时,多颗CPU同时运行操作系统的单一复本,系统将任务队列对称地分布于每颗CPU之上,所有的CPU都可以平等地访问内存、I/O和外部中断,从而极大地提高了整个系统的数据处理能力。

3.4 按应用类型

在不同的应用场景,对服务器的功能要求会有所侧重,按照其应用类型,可以分为文件服务器、数据库服务器、应用程序服务器。

1)文件服务器

在计算机局域网中,以文件数据共享为目标,将供多台计算机使用的文件存储在一台服务器中,这台主机就被称为文件服务器。文件服务器相当于一个信息系统的大仓库,保证用户和服务器磁盘子系统之间快速数据传递。在该类型服务器的各个子系统中,对系统性能影响大小依次排列为网络系统、磁盘系统、内存容量、处理器性能。

2)数据库服务器

用于频繁的读取和索引数据的服务器,比如企业的财务系统、人事系统及各种管理系统均有类似需求。不同类型的企业对数据库服务器的要求不同,对于较大的企业,会涉及到分布式并发数据查询等问题,这对网络系统以及I/O的数据传输能力有比较高的要求;而对于较小的企业,并发用户相对较少,分布式查询需求不高,磁盘系统更为重要。

3)应用程序服务器

类似于文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序。在该类型服务器的各个子系统中,对处理器性能的要求会更高。

四、 X86/ARM之争?

正如前文所述,按照指令集类型,服务器可以分为CISC服务器、RISC服务器、EPIC服务器。其中CISC服务器又被称为X86服务器,RISC和EPIC服务器又被统称为非X86服务器(也即Non-X86服务器)。从服务器的产业趋势来看,目前正形成双强的局面,其中X86服务器以Intel/AMD处理器为主导,而非X86服务器以ARM架构处理器为主导。双方各有优劣势,将长期共存。

 

4.1 X86服务器:市占率高

X86服务器是目前市场的主流选择。2009年以来,X86服务器逐步成为服务器市场的主流选择,收入方面的优势相较于Non-X86服务器不断扩大。根据Gartner的数据,2019年,全球X86服务器出货量和厂商销售额分别为1249.7万台和693.6亿美元,远超Non-X86服务器。X86服务器是云计算基础设施的主要构成元素,随着云计算产业的持续发展, X86服务器的市场规模有望进一步扩大。

中国x86服务器市场需求有望拐点向上。在中国“新基建”政策的推动下,未来5年,中国X86服务器市场景气度有望提升。根据IDC的预测,2020-2024年,中国X86服务器的出货量复合增长率为9.1%。

英特尔10nm新一代芯片即将面世,X86服务器有望迎来新一轮产品迭代。处理器是服务器的核心,而X86服务器芯片的霸主为英特尔,英特尔的产品迭代对X86服务器的产业周期有重要影响。早在1978年,英特尔即推出第一代X86架构处理器—8086,用于PC。此后,英特尔进军服务器领域,历经奔腾、至强产品线。根据英特尔公布的路线图,公司将于2020年四季度推出10nm服务器处理器Ice Lake-SP系列,进一步升级微内核,预计最多为38核76线程,支持64条PCIe 4.0通道,同时降低功耗。英特尔加快处理器迭代步伐,有望为X86服务器的发展带来强力催化。

目前,作为市场份额最高的服务器架构,X86服务器的核心优势在于:

1)性能领先。X86架构处理器设计的初衷在于性能,以2U服务器系统为例,可提供多达48 核的超强计算性能,灵活的存储扩展以及高速网络接入能力,非常适用于具有多重业务负载的复杂基础设施环境,包括企业级部署、云环境部署、大数据应用环境等。

2)生态完善。X86指令集是一个相对开放的指令集,在发展之初英特尔等供应商对独立软件开发商即进行指令集开放,对桌面软件兼容,发展至今,越来越多的玩家进入X86生态圈,形成了广阔、完善的护城河。

4.2 ARM服务器:潜力很大

ARM服务器迎来万物互联发展良机。ARM处理器的应用始于低功耗、计算量小的移动场景,并专注于嵌入式电子、消费电子、汽车电子等领域发展。因此,ARM在移动端、IOT侧占据压倒性的市场及技术优势。叠加其适配500万ARM原生应用,未来,ARM架构与X86架构的竞争值得关注。

5G和物联网推动边缘计算、端侧AI发展,能效、灵活性将成为用户重点考量因素。ARM服务器的优点包括:

  • ARM服务器的能耗低。X86架构采用效率相对较低的体系架构,功耗较高,而ARM采用精简指令集的设计理念,具有天生的计算高效能优势。

  • 单位面积内核数更多、算力更强。一个ARM核的面积仅为X86核的七分之一,同样尺寸下,ARM 核数是X86的4倍以上。由于芯片尺寸限制,ARM的众核横向扩展更符合分布式业务需求。

以鲲鹏920为例,其采用7nm工艺,可以支持32/48/64内核。此外,Ampere发布的Altra芯片具有80个内核,Marvell将推出的Thunder X3具有96个内核,相较于Intel至强白金系列的24-56个内核,具有单位面积内更强性能的优势。

未来,随着数据中心软件生态逐步支持ARM架构,以及其天生的低成本和低功耗特性,在华为、AWS等ICT巨头的带领下,ARM架构CPU的价格和性能有望改善,将可为用户提供更低成本的云计算服务,实现出货量的进一步成长。

来源:智能计算芯世界

(转载与:开源Linux)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40274679/article/details/106845214

智能推荐

CMM(软件能力成熟度模型)-程序员宅基地

文章浏览阅读1.4w次,点赞16次,收藏116次。CMM,即“软件能力成熟度模型”,是对组织软件过程的描述,核心内容是将软件开发视为一个过程,并且根据相应的原则对于软件开发进行相应的监控和研究。_cmm

vue2+vue-cli使用unocss_vue2 unocss-程序员宅基地

文章浏览阅读2.5k次。在根目录中添加 unocss.config.js 文件是为了提供更细粒度的配置选项给 @unocss/webpack 插件。通过这个配置文件,你可以定制化 UnoCSS 的行为,例如定义主题样式、配置插件、启用或禁用特定功能等。在 Vue CLI 项目中,默认情况下,你应该在根目录创建一个 unocss.config.js 文件来配置 UnoCSS。这个文件会被 @unocss/webpack 插件自动识别并加载。具体配置请查阅官网文档。_vue2 unocss

【C++】最通俗的多态、虚表、虚指针讲解_虚表指针-程序员宅基地

文章浏览阅读2.9k次,点赞26次,收藏82次。多态需要两个特性:(1)方法重写(override):父类与子类具有函数签名完全相同的方法。(2)向上类型转换(upcasting):用一个父类指针指向子类对象的时候,假如调用的是虚函数,会自动暂时将该指针转换为子类类型的指针。虚函数的存在就是为了类型转换,即使没有虚函数也能重写方法。虚函数并不是为了解决函数重写问题的。假如你去在父类和子类中都写上函数签名相同的方法,同样也能重写函数。例如 我们先写一个没有虚函数的例子结果为是完全没问题的!是的,即使不加virtual,也能实现方法重写!假如我用子类_虚表指针

【FFmpeg】ffmpeg命令详解(一)_ffmpeg -vf命令-程序员宅基地

文章浏览阅读5k次。1、命令格式ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...global_options:全局选项input_file_options:输入文件相关的选项output_file_options:输出文件相关的选项-i input_url:输入文件,可以有多个输入文件,每个输入文件前都要加“-i”选项output_url:输出文件2、简述_ffmpeg -vf命令

emWin 学习使用笔记 (3)_emwin demo-程序员宅基地

文章浏览阅读130次。原来想既然STemWin对此要求不高,随便找个版本就行,从VC6.0到VC2015,结果遇到莫名奇妙的许多问题(可能不是正版造成的吧),后来去微软官网下载了VC2022的专业版又有1个月的使用限制,唉!简单使用的方法,使我们对STemWin快捷的感受了一下它的尊容。实际它的内容还很丰富!要想达到能做点事的水平,需要踏踏实实的学习一番。StemWin提供了丰富的DEMO例程,重点就是学这个啦!该公司做了大量的编写及归纳整理工作,实际这里的基本就够啦。(1) 笔记本或一台电脑,我用的Win10。_emwin demo

【jQuery 冻结任意行列】冻结任意行和列的jQuery插件-程序员宅基地

文章浏览阅读417次。 实现原理:创建多个div,div之间通过css实现层叠,每个div放置当前表格的克隆。例如:需要行冻结时,创建存放冻结行表格的div,通过设置z-index属性和position属性,让冻结行表格在数据表格的上层。同理,需要列冻结时,创建存放冻结列表格的div,并放置在数据表格的上层。如果需要行列都冻结时,则除了创建冻结行、冻结列表格的div,还需要创建左上角的固定行列表格的d..._列冻结列解冻jquery

随便推点

西电软件体系结构——01绪论-程序员宅基地

文章浏览阅读288次。课程简介软件体系结构的主题是针对复杂软件系统的高层结构、组织单元之间的相互关系的描述,以及围绕这种描述开展的各项活动,如设计、评估、实现、管理等。课程目标_西电软件体系结构

Job for mysqld.service failed because the control process exited with error code-程序员宅基地

文章浏览阅读1k次。initialize specified but the data directory has files in it.”意思是初始化数据目录时发现目录里面有文件,可能原因是之前运行过命令目录中已生成文件。只要我们找到MySQL的数据目录并删除里面的文件即可解决。datadir是我们安装MySQL时默认指定的存放文件的数据目录,进入文件中删除里面的目录即可。网上搜了一下绿线标注部分语句,说是缺少libaio这个包,那就装一下。PS:如果我的方法没用的话可以试试网上说的修改文件权限的方法。_job for mysqld.service failed because the control process exited with error

老司机必备的手机浏览器,比UC浏览器还好用_比uc好用的手机浏览器-程序员宅基地

文章浏览阅读1w次。各位听得最多的段子:老司机们,上车了。没错,不管是在电脑端还是移动端,都需要一款好用的浏览器。那么,老司机们都用什么浏览器,什么样的浏览器才是老司机必备的浏览器呢?来咯,这些手机浏览器比UC浏览器还好用,功能可媲美桌面浏览器,一起来看看吧。_比uc好用的手机浏览器

7-35 jmu-Java&Python-统计文字中的单词数量并按出现次数排序-程序员宅基地

文章浏览阅读1.3k次。7-35 jmu-Java&Python-统计文字中的单词数量并按出现次数排序_jmu-java&python-统计文字中的单词数量并按出现次数排序

C语言——三位数的百位,十位,个位分别输出_输入一个三位数,输出它的百位,十位,个位-程序员宅基地

文章浏览阅读3.5w次,点赞16次,收藏39次。b=number/10%10=520/10%10=52%10,“%”是取余符号,即52%10=5*10余2,%符号取得就是这个2。a=number/100=520/100,如果是正常计算的话应该等于5.2,但是“a”是int型属于整形,也就是说取它的整数部分。c=number%10;printf("百位数是%d\n",a);printf("十位数是%d\n",b);printf("个位数是%d\n",c);printf("请输入一个三位数\n");..._输入一个三位数,输出它的百位,十位,个位

Android Reveal圆形Activity转场动画_reveal动画-程序员宅基地

文章浏览阅读2k次。一、效果二、知识点CircularReveal动画、透明主题、转场动画(非必须)三、方案假设有两个Activity A和B。Reveal圆形Activity转场动画效果先从A到B,那么基本方案如下:确定要显示的圆形动画中心起点位置通过Intent将起点位置从Activity A传递BActivity B主题需要是透明的,同时先隐藏布局视图在Activity A中启动Activi..._reveal动画