Skip to content
Yunhan's Lab
Go back

PCS notes

Updated:
Edit page

Week1

Why We do Performance Analysis

一些概念

  1. 系统 (System): Hardware, software
  2. 评估技术 (Evaluation techniques): Measurement, simulation, analytical modeling
  3. 指标 (Metrics): Criteria used to quantify system performance
  4. 工作负载 (Workload): The requests made by the users of the system
  5. 参数 (Parameters): Include system parameters and workload parameters

Week2

What are Computer Systems?

三大评估技术定义

  1. 分析建模 (Analytical Modelling): 一种数学建模技术,用于描述、解释和预测系统中涉及的机制和过程 。
  2. 计算机仿真 (Computer Simulation): 使用计算机来模拟一个系统的动态响应行为 。
  3. 测量 (Measurement): 收集、分析和报告个体性能信息的实际过程 。

![](C:\Users\gaoyu\OneDrive\大四上\计算机系统性能\笔记\屏幕截图 2025-11-24 225055.png)

评估技术描述适用阶段成本准确性优点缺点
分析建模用数学方程(如排队论、优化模型)描述系统。任何阶段快速、易于进行权衡分析需要大量简化和假设,可能偏离现实
仿真用计算机程序模拟系统的行为。(工具如:NS-3, Matlab, Android模拟器)任何阶段易于修改、比建模更贴近现实、可在实物建造前进行开发耗时、可能无法清晰揭示参数间的权衡关系
测量在真实或原型系统上直接收集数据。(如:单元测试、压力测试)原型建成后可变最接近真实情况成本高、环境参数多变难以控制、必须有可测系统

组合使用策略(非常重要):

  1. 先用分析模型快速探索大致的参数范围。
  2. 再用仿真在感兴趣的参数范围内进行详细研究。
  3. 最后用测量来验证前两种方法得到的结果。

核心思想:在所有结果被验证之前,它们都是不确定的。要警惕违反直觉的结果。

常见指标

Week3

Why Simulation?

仿真常见陷阱总结

陷阱类别核心问题后果最佳实践 / 解决方案
过于追求细节认为模型越详细越好,陷入无休止的细节建模。开发时间急剧增加,模型过于复杂难以理解和调试,且额外细节可能对结果无显著影响。采用增量法:从简单模型开始,获得基线结果后进行敏感性分析,仅在关键区域增加细节。
忽略初始条件仿真开始时系统处于空载或特定状态(瞬态),此阶段数据不具代表性。稳态性能结果(如平均延迟、吞吐量)被初始瞬态数据污染,导致严重偏差。执行瞬态移除:识别并丢弃仿真初始阶段的数据,直到系统进入稳态
仿真时间过短为了节省时间而过早结束仿真运行。结果可能仍未脱离瞬态,或因样本量不足而方差过大,无法得到稳定的统计结论。根据期望的置信区间和输出指标的方差确定最小运行时间;进行多次独立重复实验。
使用劣质随机数使用自编或周期短、分布特性差的随机数发生器。仿真中的随机事件不具有真正的随机性,可能导致结果出现系统性偏差或错误。

三种主要仿真类型总结

类型核心概念与定义关键特点典型应用场景
1. 蒙特卡洛仿真 Monte Carlo Simulation一种通过大量随机抽样来求解问题的计算方法,主要用于模拟不随时间变化的概率性系统。- 与时间无关 - 基于概率分布进行大量实验 - 结果是统计性的(如均值、概率)- 估算数值(如估算π值) - 风险评估与财务建模 - 计算复杂积分 - 分析游戏(如赌博)的预期收益
2. 跟踪驱动仿真 Trace-Driven Simulation使用从真实系统采集的、按时间排序的事件记录(即跟踪文件-Trace File)作为输入来驱动仿真模型。- 输入数据源自真实测量 - 高可信度易于验证 - 工作负载准确但可能缺乏代表性 - 复杂性高- 计算机体系结构研究(如CPU缓存性能评估) - 文件系统性能分析 - 数据库查询优化
3. 离散事件仿真 Discrete-Event Simulation (DES)模拟系统状态在离散的时间点(即事件-Event发生时刻)发生变化的系统。是计算机科学中最主要的仿真类型。- 事件驱动 - 核心是事件调度器 - 使用仿真时钟推进时间 - 系统状态在事件间保持不变- 网络协议性能分析(如NS-3) - 队列系统研究(如银行、CPU任务调度) - 物流与供应链建模

Week5-Queuing Model

1. 基本概念与结构

排队模型用于描述一个“顾客”到达、等待接受“服务”、然后离开的系统。

模型的关键组成部分:

2. 性能指标与利特尔定律

我们关心系统的稳态性能,常用指标有:

利特尔定律 是排队论中最重要的定理,它建立了这些指标间的根本联系:

其中 λλ 是平均到达率。 利特尔定律的强大之处在于它无需任何关于到达或服务过程的分布假设,适用于任何稳态系统。

例子:磁盘平均响应时间WW为0.1秒,请求到达率λλ为100/秒。根据利特尔定律,磁盘中平均请求数LL1000.1=10100 * 0.1 = 10个。

5. 关键性能指标计算

一旦有了稳态概率 πkπ_k,我们就可以计算所有关心的性能指标:

最后,再利用利特尔定律计算平均时间:

6. 实例:3服务器系统分析

State0123456
Componentπ0\pi_0π1\pi_1π2\pi_2π3\pi_3π4\pi_4π5\pi_5π6\pi_6
Probability0.0680.1700.2120.1770.1470.1230.102

课件通过一个3服务器、系统容量为6的例子,完整演示了如何应用以上理论:

Week6

M/M/1 模型:定义与假设

关键参数:

![屏幕截图 2025-12-02 193721](.\屏幕截图 2025-12-02 193721.png)

Provided ρ<1ρ <1, i.e., λ<μλ < \mu Thus:

πo=1ρ,πk=ρk(1ρ)\pi_o = 1-ρ, \pi_k= ρ^k(1-ρ)

M/M/1 应用示例:网络网关

![屏幕截图 2025-12-02 194528](.\屏幕截图 2025-12-02 194528.png)


Edit page
Share this post on:

Previous Post
Adding new posts in AstroPaper theme
Next Post
How to add LaTeX Equations in Astro blog posts