计算机科学中的“边际效益递减”理论

2023-12-31 19:08

本文主要是介绍计算机科学中的“边际效益递减”理论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机科学中的“边际效益递减”理论

边际效益递减,不仅仅是一个经济学词汇,在计算机硬件领域,也是这样的。

在经济学中,边际效益递减受人的心理影响,当消费某种物品时,开始的刺激一定大,从而人的满足程度就高,但不断的消费同一种物品,即同一刺激不断反复时,人在心理上的兴奋程度或满足必然减少。

在计算机科学中,不管是单机还是分布式集群,都存在一个问题:规模越大,维护成本越高。

在经济学中,导致这个结果的原因是人的心理。在计算机科学中,导致这个结果的原因是一些瓶颈。

经济学中的“不断消费同一种物品”,是物品的增加。对应到计算机科学中,是系统的扩展。

系统扩展能力
共享结构

当负载增加需要更强的处理能力时,最简单的办法就是购买更强大的机器(有时称为垂直扩展)。由一个操作系统管理更多的 CPU, 内存和磁盘, 通过高速内部总线使每个 CPU 都可以访问所有的存储器或磁盘。 在这样一个共享内存架构中, 所有这些组件的集合可看作一台大机器。

共享内存架构 的问题在千,成本增长过快甚至超过了线性:即如果把一台机器内的 CPU 数量增加一倍,内存扩容一倍,磁盘容僵加大一倍,则最终总成本增加不止一倍。并且由千性能瓶颈因素,这样一台机器尽管拥有了两倍的硬件指标但却不一定能处理两倍的负载。
共享内存架构能够提供有限的容错能力,例如高端的服务器可以热插拔很多组件(在不关闭机器的情况下更换磁盘,内存模块,甚至是CPU) 。但很显然,它仍局限于某个特定的地理位置, 无法提供异地容错能力。

另一种方法是 共享磁盘架构,它拥有多台服务器,每个服务器各自拥有独立的 CPU 和内存,然后将数据存储在可共享访问的磁盘阵列上, 服务器与磁盘阵列之间往往通过高速网络连接。这种架构多适用千数据仓库等负载,然而通常由千资源竞争以及锁的开销等限制了其进一步的扩展能力。

无共享结构

相比之下, 无共享架构(也称为水平扩展) 则获得了很大的关注度。 当采用这种架构时, 运行数据库软件的机器或者虚拟机称为节点。 每个节点独立使用本地的 CPU,内存和磁盘。 节点之间的所有协调通信等任务全部运行在传统网络(以太网)之上且核心逻辑主要依靠软件来实现。

无共享系统不需要专门的硬件, 具有较高的性价比。 它可以跨多个地理区域分发数据, 从而减少用户的访问延迟, 甚至当整个数据中心发生灾难时仍能继续工作。 通过云计算虚拟机的部署方式, 即便是没有 Google 级别规模的小公司, 也可以轻松拥有跨区域的分布式架构和服务能力。

共享结构 vs 无共享结构

几千台节点同时做一件事情的时候,它总要去共享一些东西,去协调一些东西。共享的方式可以是上述的内存/磁盘,也可以是网络。但我们通常将基于网络共享的架构称为“无共享架构”。

虽然分布式无共享体系架构具有很多优点, 但也会给应用程序带来更多的复杂性, 有时甚至会限制实际可用的数据模型。 例如在某些极端情况下,一个简单的单线程程序可能比一个拥有100多个CPU核的集群性能更好。 而另一方面, 无共享系统也可以做到性能非常强大。

从另一个角度理解分布式系统与CAP

参考:https://lvwenhan.com/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/498.html

分布式计算的本质

分布式系统的产生,来源于源于人们日益增长的性能需求与落后的x86架构之间的矛盾。

人们想办法利用网络和一大票便宜的PC机,通过一顿猛如虎的数学操作,来自己构建一个宏观上更强性能、更高负载能力的计算机,去替换掉昂贵的小型机、大型机。

单体服务器 VS 分布式计算:系统规模问题

分布式系统的设计,摆脱了单机昂贵的x86服务器,但没有摆脱冯诺依曼结构。原有的单机瓶颈,在分布式系统中仍然会存在。具体来看,

  • 单体的计算机使用总线通信,总线成为数据传输速率的瓶颈。
  • 基于网络的分布式计算,其本质是把网络当做总线,仍然不能摆脱节点间通信和协调时的数据传输瓶颈。
    • 每一台机器相当于一个运算器加一个存储器
    • master 节点就是控制器加输入输出设备
分布式计算的瓶颈

无论主从还是主备,整个系统的流量最终还是要落到一个特定的资源上。当然这个资源可能是多台机器,但是依旧无法解决一个严重的问题:系统规模越大,其本底性能损失就越大。因为要涉及到节点之间的通信和协调,要想让数百万节点一起运算,传递命令和数据的工作占据了绝大多数的运行时间。

分布式系统的性能问题可能表现为很多方面,但归根到底,是人们日益增长的性能需求和数据一致性之间的矛盾。一旦需要强数据一致性(Consistency),那就必然存在一个限制性能的瓶颈,这个瓶颈就是信息传递的速度(Availability)。

那么,信息传递速度的瓶颈在哪里呢?

所以说,当应用规模由单体拓展到分布式系统的时候,数据密集型应用设计的基本矛盾已经由“人们日益增长的性能需求与落后的x86架构之间的矛盾”转化成“人们日益增长的性能需求和数据一致性之间的矛盾”了。

但(就像CAP定理所说)新的矛盾是无解的。为什么说它是无解的呢?个人认为,信息传递的瓶颈最表层是人类的硬件制造水平决定的,再往底层去是冯·诺依曼架构决定的,再往底层去是图灵机的逻辑模型决定的。可是图灵机是计算机可行的理论基础呀,所以,还是怪这个熵增宇宙吧,既然我们这个宇宙是一个熵增宇宙,那么这个问题就无法解决。为什么规模越大维护成本越高呢,你也是个成熟的宇宙了,该学会自己把自己变成熵减宇宙了(狗头)。

这篇关于计算机科学中的“边际效益递减”理论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践

本章考点:         第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。 一、嵌入式系统发展历程

西方社会学理论教程复习重点

一.名词解释 1.社会静力学:旨在揭示人类社会的基本秩序。它从社会的横断面,静态的考察人类社会的结构和制度,寻找确立和维护人类社会的共存和秩序的原则。 2.社会动力学:纵观人类理性和人类社会发展的先后必要阶段,所叙述的是这一基本秩序在达到实证主义这一最终阶段之前所经过的曲折历程。 3.社会事实:一切行为方式,不论它是固定的还是不固定的,凡是能从外部给予个人以约束的,或者说是普遍存在于该社会各

行政组织理论-第十一章:创建学习型组织

章节章节汇总第一章:绪论第二章:行政组织的演变第三章:科层制行政组织理论第四章:人本主义组织理论第五章:网络型组织理论第六章:行政组织目标第七章:行政组织结构第八章:行政组织体制第九章:行政组织设置与自身管理第十章:组织激励第十一章:创建学习型组织第十二章:政府再造流程第十三章:行政组织变革 目录 第一节 学习型组织理论的产生1. 学习型组织的源起2. 学习型组织的定义3. 学习型组织与组

系统架构师考试学习笔记第三篇——架构设计高级知识(18)面向服务架构设计理论与实践

本章考点:         第18课时主要学习面向服务架构设计理论与实践。根据考试大纲,本课时知识点会涉及单选题型(约占2~5分)和案例题(25分),本课时内容偏重于方法的掌握和应用,根据以往全国计算机技术与软件专业技术资格(水平)考试的出题规律,概念知识的考查内容多数来源于实际应用,还需要灵活运用相关知识点。         本课时知识架构如图18.1所示。 一、SOA的相关概念 (

计算机操作员理论基础

计算机操作员理论基础 理论基础 计算机主频指的是时钟频率。14=23+22+21=(0)1110OS是运行其他系统软件的平台。215=27+26+24+22+21+20=(0)11010111(0)1111=(0)10000-1=24-1=15计算机理论知识,存贮是最基本是字节计算机产权在我国是受法律保护的12=23+22=(0)1100存贮程序是计算机能够自动连续工作的理论基础软盘中病毒

PHP 分页实现序号递加或递减排序

PHP 分页实现序号递加或递减排序 实现思路: 在循环前赋值变量i,然后在循环输出变量i 。 实现序号递加1表达式:i=(页数-1)× 每页条数+1                循环:$i++               asp:i=i+1 实现序号递减1表达式:i=总数—(页数-1)× 每页条数 +1           循环:$i--             asp:i=i-1

代码随想录算法训练营第十九天| 回溯理论、77. 组合、216. 组合总和Ⅲ、17. 电话号码的字母组合

今日内容 回溯的理论基础leetcode. 77 组合leetcode. 216 组合总和Ⅲleetcode. 17 电话号码的字母组合 回溯理论基础 回溯法也叫回溯搜索法,它是一种搜索的方式,而且只要有递归就会有回溯,回溯就是递归的副产品。 回溯说到底并不是什么非常高深的搜索方式,本质上仍然是穷举,穷举所有可能然后选择出我们要的答案。剪枝会使回溯法更加高效一点,但改变不了回溯本质就是穷举

分布式系统理论基础三-时间、时钟和事件顺序

GitHub:https://github.com/wangzhiwubigdata/God-Of-BigData 关注公众号,内推,面试,资源下载,关注更多大数据技术~大数据成神之路~预计更新500+篇文章,已经更新50+篇~ 现实生活中时间是很重要的概念,时间可以记录事情发生的时刻、比较事情发生的先后顺序。分布式系统的一些场景也需要记录和比较不同