第39章 谁喜欢排队?
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
好事不等人
100% 使用率
在大学 ,我们经常会想,我们所学的知识是否以及如何对我们未来的职业和生活有所帮助。虽然我还在等待阿克曼函数来加速我的职业发展(计算机科学的第一个学期就给我们上了一堂关于可计算性的课),但关于排队理论的课其实还是很有帮助的:你不仅可以在超市结账时和排在你前面的人讨论 M/M/1 系统和单队列多服务器系统的好处(大多数超市都不使用这种系统),而且还为你推理速度经济打下了重要的基础(第 35 章)。
活动间隙
当 希望加快企业的工作速度时,大多数人都会关注工作是如何完成的:是否利用了所有的机器和人员,以及他们是否高效地工作?具有讽刺意味的是,在追求速度时,不能只看活动,而要看活动之间。通过观察活动,你可能会发现低效的活动,但在活动之间,你会发现不活动的情况,即有事情闲置着等待处理。
与效率低下的活动相比,不活动对速度的影响要大得多。如果一台机器运行良好,利用率几乎达到 100%,但一个小部件必须等待三个月才能由这台机器处理,那么你可能已经复制了公共医疗系统,该系统以效率为导向,但肯定不是以速度为导向。许多统计数据表明,在典型的 IT 流程中,例如订购服务器,等待时间占总耗时的 90% 以上。与其多工作,不如少等待!
排队理论小知识
当 你在活动之间寻找时,你一定会发现排队的现象,就像在当地的机动车辆管理部门或市政府办公室排队一样。为了更好地理解排队的工作原理以及排队对系统的影响,让我们来学习一下排队理论。我的大学教科书《排队系统》(Kleinrock'sQueuing Systems)是关于排队理论的、1似乎已经绝版,但有二手书。不过不用担心,你不需要消化 400 页的排队理论来理解企业转型。
我的大学教授提醒我们,如果我们在他的课堂上只记住一件事,那就是利特尔结果。这个等式指出,在一个稳定的系统中,总处理时间T(包括等待时间)等于系统中的项目数N(队列中的项目加上正在处理的项目)除以处理率λ;简言之 .这很直观:队列越长,处理新项目所需的时间就越长。如果每秒处理两个项目,系统中平均有 10 个项目,那么一个新到达的项目将在系统中停留 5 秒钟。你可能会正确地推断出,这五秒中的大部分时间是在队列中度过的,而不是在实际处理项目中度过的。利特尔的结果值得注意的一点是,这种关系对于大多数到达和离开分布都是成立的。
为了在速度和效率之间架起一座桥梁,让我们来看看利用率和等待时间之间的关系。只要有项目正在处理,系统就会被利用,这意味着系统中存在一个或多个项目。如果将系统中出现特定数量项目的概率相加,例如 0 个项目(系统处于空闲状态)、1 个项目(一个项目正在处理中)、2 个项目(一个项目正在处理中,加上一个项目在队列中)等,就会发现系统中的平均项目数等于 ρ/ (1 - ρ),其中ρ表示利用率,或服务器繁忙时间的百分比(我们假设到达是独立的,这被描述为无记忆系统)。从等式中可以很快看出,高利用率(ρ越接近 100%)会导致队列规模极大,从而导致等待时间极长。将利用率从 60% 提高到 80%,平均队列长度几乎增加了两倍:0.6/(1 - 0.6)= 1.5 对 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access