计算机性能分析的三个模型

news2024/11/23 12:45:17

计算机性能分析的三个模型【1】

  • 一、瓶颈分析(Bottleneck Analysis)
  • 二、利特尔法则(Little's Law)【2】
  • 三、M/M/1 Queue
  • Reference

一、瓶颈分析(Bottleneck Analysis)

  瓶颈分析可以帮我们更好地定位导致性能差的最主要问题根源,从而可以让我们更精确地给出性能提升的解决方案。

  例如,如果瓶颈是吞吐量太低,那么通过增加缓存或者降低请求延迟的解决方案是没有太大作用的。

  那么针对吞吐量分析可以利用以下两条规则:

  1、并行的子系统的吞吐量是所有子系统最大吞吐量的总和;

  2、串行的子系统的吞吐量是所有子系统中最小吞吐量。

  以下给出一个例子:

吞吐量例子

图:某个系统中不同子系统的吞吐量

  根据图中可以看出,该系统的最大吞吐量为Min(9GB/s + (4+3)GB/s + 6GB/s + 10GB/s) = 6GB/s。所以针对这个吞吐量瓶颈分析,可以精确定位到我们需要进行吞吐量提升的子系统位置。

二、利特尔法则(Little’s Law)【2】

  通过这个定律可以反映吞吐量和延迟之间的关系,任务到达的速率为R,延迟为L,系统在这个延迟时间内可以处理的任务数量T。
little law

图:Little’s Law模型

  如图所示,是Little’s Law的公式模型。即系统中平均任务数量T = 平均延迟L * 任务平均到达速率R

  这个定律的美妙之处在于它可以通过任意两个参数的计算得到第三个参数值,解决了某个参数可能比较难以获取的问题。

  例子:已知每天有200个请求到达(R),并且有10,000个请求在系统中等待(T),请求系统延迟时间。

   答:L = 10,000 / 200 = 50天

  为了提升性能(降低延迟),则可以通过提升请求到达速率,例如增加到每天到达1,000个请求数量;或者是提升系统处理请求的效率,即提升吞吐量。

三、M/M/1 Queue

  对于利特尔定律,只是给出了一个黑盒结果,并没有具体详细地描述出三者之间的trade-off问题,比如通过哪个参数提升性能会更好。而M/M/1 Queue可以向我们展示这三者之间的权衡。

M/M/1 queue

图:M/M/1 Queue模型

  排队理论(Queue Theory【3】)应用马尔可夫性质,即任务到达的时间独立于先前任务到达的时间,不受先前任务的影响。

  根据上图,我们将任务到达的速率记为R,平均等待排队时间Q,平均服务时间S,平均延迟时间L = Q + S

latency vs throughput

图:延迟与吞吐量的trade-off

  如图所示,其中x轴中的吞吐量throughput = R*S,R为请求到达速率,S为平均每个请求服务时间,吞吐量为单位时间内系统处理的请求数量,因此是R乘以S。y轴是归一化平均延迟,用latency = L/S表示。由于L = S + Q,因此当L为1时表示无队列等待时间。再根据马尔科夫链可以得到L/S = 1/(1-R*S),即 y = 1/(1-x)

  因此,根据图中的曲线趋势,我们可以看到,高吞吐量会导致高延迟。吞吐量降低时,队列等待时间短,延迟降低。

Reference

1.Three Other Models of Computer System Performance:https://arxiv.org/pdf/1901.02926
2.https://fisherp.scripts.mit.edu/wordpress/wp-content/uploads/2015/11/ContentServer.pdf
3.L. Kleinrock, Queueing systems, volume 1: Theory. Wiley, New York, 1975.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2231130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2025四川省考报名流程详细教程

2025年四川省考报名马上就要开始了,有想要参加四川省考的姐妹们,可以提前了解一下考试报名流程,提前准备好报名照片。 报名时间:2024年11月1日至7日上午8:00 审核时间:2024年11月1日至8日上午8:00 缴费时间&#xff1a…

Ts基础总结

文章目录 TS是什么?Ts编译Ts编译选项:如何在项目中使用Ts?为什么要使用 TS ? TypeScript 相对于 JavaScript 的优势是什么?ts 中有哪些类型?any 和 unknown的区别是?void 和 never 的区别是?TypeScript中的访问修饰符…

ImportError: Install xlrd >= 1.0.0 for Excel support

文章目录 一、报错问题二、问题解释三、解决方法 一、报错问题 问题描述: python2.7使用pandas读取excel文件时报错ImportError: Install xlrd > 1.0.0 for Excel support。 问题代码: # codingutf-8import pandas as pddata pd.read_excel(D:\Wo…

算法学习(七)—— 分治

关于分治 分治,就是“分而治之”的意思,就是把一个大问题,转化为若干个相同或者相似的几个子问题,然后在子问题的基础上再进行划分,直到能够快速一个子问题时停止划分 我们的快速排序和归并排序就是典型的分治思想 …

2-141 怎么实现ROI-CS压缩感知核磁成像

怎么实现ROI-CS压缩感知核磁成像,这个案例告诉你。基于matlab的ROI-CS压缩感知核磁成像。ROI指在图像中预先定义的特定区域或区域集合,选择感兴趣的区域,通过减少信号重建所需的数据来缩短信号采样时间,减少计算量,并在…

C++ 实现俄罗斯方块游戏

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

VS+Qt解决提升控件后,包含头文件格式不对问题处理

一、前言 VSQt 提升控件后&#xff0c;在uic目录下会生成ui相关的初始化文件&#xff0c;对于提升的控件头文件包含的格式为#include<> 而非 #include “ ” 导致无法找到头文件。如果手动修改为 #include “ ”相当麻烦&#xff0c;甚至每次编译都要修改一遍&#xff0c…

02- 模块化编程-002 DS1302数码显示时间与日期

1、数码显示时间日期的电路 2、电路原理简介 电路组件与功能 单片机&#xff08; PIC16F887&#xff09;&#xff1a; 作为系统的主控芯片&#xff0c;处理所有输入输出&#xff0c;进行时间控制和显示信息更新。 DS1302&#xff08;实时时钟芯片&#xff09;&#xff1a; 用于…

java计算机毕设课设—Java聊天室(附源码、文章、相关截图、部署视频)

这是什么系统&#xff1f; 资源获取方式再最下方 java计算机毕设课设—Java聊天室(附源码、文章、相关截图、部署视频) Java聊天室系统是一个基于Java语言开发的在线即时通讯平台&#xff0c;旨在为用户提供一个简单、易用的实时交流环境。该系统支持多用户同时在线交流&…

编译原理第一次实验报告

源代码及附件&#xff1a;编译原理实验一源程序及附件资源-CSDN文库实验题目 实验要求 实验设计 前两部分指出了实验的宏观把控&#xff0c;为了具体实施实验&#xff0c;我们需要预先为实验做出如下设计&#xff1a; 本次实验我选取了C语言的一个子集进行设计词法分析器&…

Llama 3.2 Vision Molmo:多模态开源生态系统基础

编者按&#xff1a; 视觉功能的融入对模型能力和推理方式的影响如何&#xff1f;当我们需要一个既能看懂图像、又能生成文本的 AI 助手时&#xff0c;是否只能依赖于 GPT-4V 这样的闭源解决方案&#xff1f; 我们今天为大家分享的这篇文章&#xff0c;作者的核心观点是&#xf…

C++_day01

目录 0. 课前须知 1. C发展历史&#xff08;了解&#xff09; 2. C特点&#xff08;熟悉&#xff09; 3. 面向对象核心术语&#xff08;熟悉&#xff09; 4. 开发环境 5. 新建项目 4. 开发环境 5. 新建项目 0. 课前须知 C的思维与C语言完全不同&#xff0c;不能生搬硬套。 C偏向…

安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)

安娜的档案&#xff08;Anna’s Archive&#xff09;是一个颇受关注的资源库。它涵盖了广泛的内容&#xff0c;可能包括各类文献、资料等。其特色在于丰富的信息储备和一定的系统性。安娜的档案&#xff08;Anna’s Archive&#xff09;用户可以从中获取多样的知识和数据&#…

Linux 下执行定时任务之 Systemd Timers

不知道 ECS 因为什么缘故&#xff0c;上面安装的 MySQL 服务老是不定期挂掉&#xff0c;本来想通过 Linux 得 Cron 配置个半小时的定时检测任务&#xff0c;结果一直没有执行&#xff0c;因此又尝试使用了 Systemd Timers 进行了重新配置&#xff0c;简要做个记录。 Systemd Ti…

【星闪EBM-H63开发板】AT固件的接口简介

引言 前面介绍了星闪EBM-H63开发板的透传固件&#xff0c;现在介绍一下AT固件。AT固件比透传固件要复杂的多&#xff0c;都让功能也多很多&#xff0c;可以配置很多星闪相关的参数。AT固件没有AT命令模式和数据模式切换的问题&#xff0c;因为收发的数据是出现在AT命令中的。 …

51单片机教程(四)- 点亮LED灯

1、项目分析 让输入/输出口的P1.0连接一盏LED灯进行点亮。 2、技术准备 1 LED组成 ​ 说明 二极管有 P型 和 N型材料构成&#xff0c;通常是&#xff1a;硅/锗 掺杂其他元素&#xff08;硼、磷等&#xff09; 电子是带负电的&#xff0c;是负电荷的载体&#xff0c;电子流…

开源库 FloatingActionButton

开源库FloatingActionButton Github:https://github.com/Clans/FloatingActionButton 这个库是在前面这个库android-floating-action-button的基础上修改的&#xff0c;增加了一些更强大和实用的特性。 特性&#xff1a; Android 5.0 以上点击会有水波纹效果 可以选择自定义…

Ubuntu 24.04上启用 root 用户通过 SSH 和图形界面进行登录

一、启用 root 用户的密码登录 设置 root 用户密码&#xff1a; 在终端中输入以下命令为 root 用户设置一个密码&#xff1a; testtest-virtual-machine:~$ sudo passwd root [sudo] test 的密码&#xff1a; 新的密码&#xff1a; 无效的密码&#xff1a; 密码是一个回文…

深度学习基础知识-损失函数

目录 1. 均方误差&#xff08;Mean Squared Error, MSE&#xff09; 2. 平均绝对误差&#xff08;Mean Absolute Error, MAE&#xff09; 3. Huber 损失 4. 交叉熵损失&#xff08;Cross-Entropy Loss&#xff09; 5. KL 散度&#xff08;Kullback-Leibler Divergence&…

基于vue框架的的考研信息共享平台v0eyp(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;国家政策,用户,院校政策,院校信息,考研资料,资料分类,考研论坛 开题报告内容 基于Vue框架的考研信息共享平台开题报告 一、研究背景与意义 随着考研人数的逐年增长&#xff0c;考研学生对高效、便捷、个性化的信息获取需求愈发强烈。…