当前位置: 首页 > news >正文

【习题答案】《深入理解计算机系统(原书第三版)》

第一章 计算机系统漫游

考察Amdahl 定律

【练习题 1.1】

假设你是个卡车司机,要将土豆从爱达荷州的 Boise 运送到明尼苏达州的 Minneapolis, 全程 2500 公里。在限速范围内,你估计平均速度为 100 公里/小时,整个行程需要 25 个小时。
A. 你听到新闻说蒙大拿州刚刚取消了限速,这使得行程中有 1500 公里卡车的速度可以为 150 公里/小时。那么这对整个行程的加速比是多少?
B. 你可以为自己的卡车买个新的涡轮增压器。不过速度越快,价格越高。如果想要让整个行程的加速比为 1.67X ,那么你必须以多快的速度通过蒙大拿州?

【解A】

原本总耗时 = 25h
可改进部分为 1500 公里,原本用时 = 1500 / 100 = 15h,改进用时 = 1500 / 150 = 10h
改进部分的初始耗时比例 α = 15 / 25 = 0.6‬
加速比例因子 k = 15 / 10 = 1.5
加速比
image
S = 1 / [0.4 + 0.6/1.5] = 1.25×

更直观的理解:
image
S = 25 / (10 + 10) = 1.25×

【解B】

原本总用时 / 改进总用时 = 1.67
改进总用时 = 原本总用时 / 1.67 = 25 / 1.67 ≈ 15 = 可改进部分用时 + 固定用时
可改进部分用时 = 15 - 固定用时 = 15 - 10 = 5h
速度 = 1500 / 5 = 300km/h

【练习题 1.2】

公司的市场部向你的客户承诺,下一个版本的软件性能将改进 2X 。这项任务被分配给你。你 已经确认只有 80% 的系统能够被改进,那么,这部分需要被改进多少(即 k 取何值)才能达到整体性能目标?

【解】

S = 原本总用时 / 改进总用时 = 2
设原本总用时2t,改进后总用时为t
可改进部分的原本用时 = 0.8 x 2t = 1.6t
不可改进部分用时 = 0.4t
2t / (可改进部分改进后用时 + 0.4t) = 2
可改进部分改进后用时 = 0.6t
k = 1.6t / 0.6t = 2.67

也可以直接套公式计算
image

http://www.jsqmd.com/news/2637/

相关文章:

  • css-文字溢出省略号显示
  • 深入解析:mosquitto求医之路(3):Docker安装也不好使
  • 软件体系结构——负载均衡 - 指南
  • css-定位让盒子居中显示
  • Qwen3-Max 2025年完整发布解析:阿里巴巴最强AI模型深度评测
  • 在线教育软件开发的全流程解析与优化方案
  • css-伪元素清除浮动
  • 在K8S中,Deployment⽀持扩容吗?它与HPA有什么区别?
  • 开源语音识别FunASR入门详解
  • 浅谈云原生数据库
  • AT_abc201_f [ABC201F] Insertion Sort 题解
  • ruoyi-vue(十四)——前端框架及package.json,vite.config.js, main.js记录介绍
  • c语言动态内存分配
  • 2025.9.24——1橙
  • 完整教程:MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
  • AT_arc172_d [ARC172D] Distance Ranking
  • Python爬虫实现大乐透历史数据抓取
  • 【读书笔记】《深入理解计算机系统(原书第三版)》第一章 计算机系统漫游
  • 如何将PPT每一页批量导出为高清JPG图片?一文讲清处理流程
  • 实用指南:计算机视觉:基于YOLOv11 实例分割与OpenCV 在 Java 中的实现图像实例分割
  • Java实现双色球历史是否中奖查询
  • iframe引入界面有el-date-picker日期框,点击出现闪退问题处理 - 详解
  • ABC424 游记(VP)
  • Java实现大乐透历史是否中奖查询
  • 阿德勒的课题分离是很好用的东西
  • 别再混淆 PHP8.1 中纤程 Fibers 和协程 Coroutines 了 一文搞懂它们的区别
  • HTTP Request Blocker的下载与使用 - 实践
  • NeurIPS 2025 spotlight |FSDrive 自动驾驶最新VLA+世界模型 - 详解
  • 主要测试的测试用例
  • 详细介绍Seata的AT模式分布式事务