几种影响软件可伸缩性的问题
2019独角兽企业重金招聘Python工程师标准>>>
- 效率低下的并行化:单片应用程序或软件无法有效使用可用的计算资源。您需要将应用程序组织成并行任务。在传统的不支持多线程的应用程序或软件中,我们会经常看到这个问题。这些应用程序在多核、多处理器、芯片多线程硬件上无法伸缩,并且无法实现更好的吞吐量。线程太多可能会和线程太少一样,都不会产生好的结果。
- 串行瓶颈:在多个线程或进程之间共享数据结构的应用程序可能会有串行瓶颈。为了保持数据完整性,可能必须使用锁定和串行化技术(例如,读取锁、读写锁、写入锁、自旋锁、互斥等)将这些共享数据结构的访问串行化。设计得效率低下的锁可能会由于多个线程或进程之间的高度锁争用而导致串行瓶颈,从而尝试获取锁。这可能会潜在地降低应用程序或软件的性能。应用程序的性能可能会随着核心或处理器数量的增加而降低。
- 对操作系统 (OS) 或运行时环境的过度依赖:您不能依赖操作系统、运行时环境或编译器来完成伸缩应用程序或软件所需的一切操作。但是,编译器和运行时环境可以帮助提供一定的优化,您不能依赖它们解决所有可伸缩性问题。例如,不能依赖 Java™ 虚拟机 (JVM) 通过自动并行来发现 Java 应用程序的最佳可伸缩的机会。
- 工作负载的不平衡可能是一个瓶颈:工作负载的不均匀分布可能导致无法有效地利用计算资源。您可能必须将较大的任务划分成可以并行运行的较小的任务,还可能必须将串行算法更改为并行算法,以便提高性能和可伸缩性。
- I/O 瓶颈:由于阻止磁盘输入/输出 (I/O) 或高网络延迟而导致的瓶颈可能会严重抑制应用程序的可伸缩性。
- 无效的内存管理:在多核平台上,因为有很多处理单元,因此纯计算可能非常廉价,并且主要内存可能也不是问题,因为它正在变得越来越大。但是,内存带宽一直是一个瓶颈,因为所有处理器核心都贡献了一个通用的总线。无效的内存管理可能导致一些难以检测到的性能问题,比如伪共享。
转载于:https://my.oschina.net/frankies/blog/155885
几种影响软件可伸缩性的问题相关推荐
- 影响软件开发的两个关键性的问题
为什么80%的码农都做不了架构师?>>> 影响软件开发的几个关键性的问题: 1. 需求确定 主要的问题在于甲方对需求模糊, 没有一个完整的概念.由此引发出来的问题非常多, 造成 ...
- 几种常见软件过程模型的比较
瀑布模型 瀑布模型(经典生命周期)提出了软件开发的系统化的.顺序的方法.其流 程从用户需求规格说明开始,通过策划.建模.构建和部署的过程,最终提供一 个完整的软件并提供持续的技术支持. 优点: 1. ...
- 列出最少8种开源软件_您的公司可以支持和维持开源的8种方式
列出最少8种开源软件 开源的成功不断增长: 调查显示, 大多数公司使用某种形式的开放源代码,有99%的企业认为开放源代码很重要 ,而几乎一半的开发人员都在回馈. 重要的是要注意,公司并不是纯粹出于无私 ...
- 大语言模型将如何影响软件开发?
当人人具备编写代码的能力之后,这将会给软件生产和分配带来哪些结构性的变化? 原文链接:https://www.geoffreylitt.com/2023/03/25/llm-end-user-prog ...
- 23种设计模式——软件设计模式概述
文章目录 23种设计模式--软件设计模式概述 1.软件设计模式的产生背景 2.软件设计模式的概念与意义 2.1. 软件设计模式的概念 2.2. 学习设计模式的意义 3.软件设计模式的基本要素 4.23 ...
- cadence 查看器件丝印_一种Allegro软件中自动检查丝印摆放方向的方法与流程
本发明涉及Allegro软件开发领域,尤其涉及一种Allegro软件中自动检查丝印摆放方向的方法. 背景技术: 随着电子信息技术的不断发展,PCB的设计也越来越复杂,电子产品的集成度也越来越高,在PC ...
- 将PDF和图片文件如何转为Word或Excel分享几种转换器软件方法
(走思中-)那一年我有着大四独有的忧伤和惆怅,眼看着叫春的姑娘来了又走却不闻方向,人们上上下下来来回回各自繁忙,一种说不出的失落紧贴在枕旁.她的脸庞从未有过如此熟悉的模样,只是一瞬间想起带她流浪的誓言 ...
- 简述成本管理方法,影响软件项目成本的因素有哪些
项目成本管理包括确保在批准的预算范围内完成项目所需的各个过程.软件项目成本的管理基本上可以用估算和控制来概括,首先对软件的成本进行估算,然后形成成本管理计划,在软件项目开发过程中,对软件项目施加控制使 ...
- 几种作图软件使用感言
几种作图软件使用感言 这几天因为论文中需要涉及到几个稍难画的示意图,感觉用Word绘图不太完美,所以发了个帖子寻求帮助,并与大家讨论了几种常用的绘图软件. (帖子:http://emuch.net/b ...
- 那一种笔记软件更好用_制作更好的面向用户软件的7种方法
那一种笔记软件更好用 开源一直非常擅长解决两套问题:1)基础架构和2)开发人员工具. 这是因为这些开发人员和用户基本上是同一个人-开发人员是问题的"内幕",理解得很好,并且有动机去 ...
最新文章
- KMP----next数组 最长相同前后缀 递归求法解释
- GRDB使用SQLite的WAL模式
- 阿里云移动端播放器高级功能---截图和音频波形
- NOP (code)_NOP指令作用及解析
- 数据查询(1)-简单查询(芮)
- 【名额有限】云开发AI拓展能力等你来体验!
- 不要在网站上无限滚动!
- 5.8 拉普拉斯算子和拉普拉斯矩阵,图拉普拉斯算子推导 意境级讲解
- 安卓彩虹DS网网站源码去授权版 附详细视频教程
- 收藏:通俗讲解计算机工作原理
- word 引文 角标_如何自动向Microsoft Word添加引文和书目
- switch好玩吗_外媒评Switch平台最佳游戏 好玩的基本都在这了
- 中国电子学会2022年12月份青少年软件编程Python等级考试试卷四级真题(含答案)
- 一文读懂Apache Kylin(麒麟)
- MySQL-间隙锁-加锁规则
- 眼球中心定位跟踪算法—eyelike 代码解析
- Windows11来了,第一个适用于Windows 11的Insider Preview
- python游戏制作rpg_用 Python 语言来写游戏
- nyoj-荷兰国旗问题
- 群控系统服务器配置,群控服务器配置
热门文章
- PHP获取指定月份第一天、最后一天
- MySQL使用规范手册,程序员必知必会
- 最近尝试移植了一下java.awt/javax.swing
- 奇怪:WINDOWS排序错了?
- 软件基本功:linux/windows的头文件互相包含,大哥你这是什么创新?
- Makefile.am:1: error: Libtool library used but 'LIBTOOL' is undefined
- could not load hsdis-mips64el:hsdis-mips64el library not loadable PrintAssembly is disabled
- java.io.InvalidClassException
- hashmap为什么8转成红黑树_看了两天HashMap源码,终于把红黑树插入平衡规则搞懂了...
- php类型运算符,PHP-运算符类型