Blogs

斑马无缘无故地讨厌你:为什么Amdahl的法律在猫的世界中误导(也许在我们的世界里)

杰森萨赫斯2017年2月27日1条评论

I’我最近一直在浪费我的空闲时间很多,在这个愚蠢的瘾游戏中叫做 小猫游戏。它无辜地开始。 你是Catnip森林里的小猫。收集CATNIP。

你点击了 收集CATNIP. 离开你去。很快你’再次狩猎独角兽和建筑小屋,研究数学和神学等。 它’S JUST A TEXT GAME! html和javascript,’它,没有图片。它’s an example of an 增量游戏,也称为一个 空闲游戏,在哪里点击 事情然后 事情并等待您的资源增加和解锁另一个之后的新机制。

Farmville. (我没有打算玩)和 Cookie Clicker. (我已经播放并迅速厌倦了)也是例子。这些游戏通过一致的新奇水平使他们受欢迎,以及您可以以某种方式通过点击此处或那里迎来它们来速度速度的幻象。 是在这个类别中的一种。我记得在1990年初玩它’冬季休息的家里的一天晚上;这是有趣的,然后当我看着时间时,这是两个o’时钟在早上,我知道我不得不烧掉我尽可能快地玩的愿望并继续我的生活。

本文以PDF格式提供,便于打印

这些游戏 倾向于在自然中是指数级的:例如,如果从1级到10级需要200个经验点(或美元或CatPower,或其他),可能需要200个经验,只需达到11级,另外400个经验要点到12级。如果您只需单击,您可以到达那里,但它将基本上是永远的。但是如果您解锁升级,则可以增加进度速度,至少一段时间,并与整个指数的东西保持步伐。所以 解锁升级是游戏的必要部分,因为它保持有趣。永恒的新奇。我们的大脑刚刚得到’我猜是有线,喜欢线性进步。 Cookie Clicker很快就到达了每秒达到数千千万和数百万的饼干;它’很愚蠢。我只是重新打开Cookie Clicker一会儿,它说我有12.608千克曲折。哼哼。你真的去了解了 ‑illions 关于这些游戏中的一些—这使我是一个闪回作为一个7岁的历史,透过随机房屋未加工的字典(关于一个大鞋盒的大小和保龄球的重量),并想知道为什么亿和千兆意味着美国的不同东西英国。厘米= 10.303 in the USA, but 10600 in England. I don’t know whether 冒险资本家 达到一厘里— I haven’t played, but I’通过显示未撤回的屏幕,看过广告= 10126。我只是考虑它而失去兴趣。我以为通货膨胀 津巴布韦 was bad.

大麻游戏能够在大多数情况下击败通胀问题,通过聪明的升级相互依赖;你必须添加一些更多的建筑物逐渐缩小,直到你用完了资源,但这让你只做别的东西只是一点点更容易,然后升级不同的东西,等等,你可以为每周玩仍然只有70或80小猫和几十万台木材和矿物质。所以没有必要查找10的疯狂力量。

关于空闲游戏的悲伤部分(无论是恶臭还是不)是虽然它们’re 意思 在你的时候播放’做别的事情—当你休息一下,你每一次检查一次—相反,他们可能会让你感到困惑,花费更多的努力,所以你可以更快地进步。而不是稍后再等待一小时,你可以点击这个并升级并购买一个窗口小部件,直到它’s two o’时钟在早上。所以我’努力燃烧我对小猫游戏的兴趣。

但是’不是这篇文章的问题。

amdahl’S法和并行处理

2015年11月,我发布了一篇文章 Chandrupatla..’S根发现方法,我从一个读者那里得到了一个读者,我谈到了Amdahl的重要性’S法律及其令人悲伤,悲观的影响,在优化算法上运行速度的背景下。 (在令人毛骨悚然的巧合中,这个评论在Gene Amdahl去世后发布了一天,并在他去世通知前一天发表了。)我认为是奇怪的。如果你’对阅读某些特定算法的详细信息感兴趣,您应该知道一些关于优化的动机和权衡的东西。添加amdahl的补充’s Law…相关的?是的。合适的?不,如果我看电视烹饪展示覆盖焦糖和 毛泽东反应,我既不期望也不会欣赏肥胖和过量的血糖危险的讲座。但是它’S相关,应该在聚光灯中获得自己的时间。

所以我们在这里 amdahl’s Law:

让’S说你有一些你想要加速的任务。例如,假设您必须建造一个面食房屋建筑,需要10个木梁和10个石板,并且您有两个小猫,每个小猫都可以将1梁每分钟制成1梁作为樵夫,或每分钟2个平板作为矿工。 (那’不是它在小猫游戏中工作的方式,但从不介意,这只是一个思想的实验。)然后它’如果两只小猫以峰值容量运营,则会带你去7.5分钟:总共15小猫 - 分钟—梁的10个小猫 - 横幅和5只小猫距离平板—例如,我们可以通过将一根小猫制作梁和其他制作板坯达到五分钟来实现,使我们5个梁和10个板坯,然后将两只小猫切换到下一个半分钟内的伐木工扫描,给我们另外5梁。

然后,您可以为提高板坯制作率的矿工发现升级,大大增加了您的稿件;目前伍德文库特没有升级。您可以获得多少速度为这座建筑物?

amdahl’法律是计算这一点的一种方式。它可以以多种方式编写;其中一个是

$$ {\ rm speedup} \ s(f,n)= \ frac {1} {\ frac {f} {n} +(1-f)} $$

其中\(f \)是可以加速的工作的分数,并且\(n \)是该工作的加速因子。在Amdahl.’原来的陈述,它在并行处理的背景下; \(n \)是处理器的数量,\(f \)是可以并行化的工作的一部分,其中\(1-f \)是其余的工作所卡住的工作。但它’是否在几乎任何后勤背景中的问题都是相同的问题’关于并行计算,或快餐工人可以完成炸薯条和汉堡包和奶昔的订单的速度,或小猫制作梁和板坯的速度。

简单,amdahl’如果您只能加速一部分,则法律将告诉您您可以执行整整工作集的速度更快。但是,您需要谨慎地解释结果。 amdahl’法律可以帮助您更加逼真的绩效改进的影响,但我声称它也可以引导您过度悲观的结论,我将在本文中展示。

好的,好吧,让’从我们的意大利面级示例中插入数字。梁需要10个小猫 - 几分钟,平板拿着5个小猫 - 分钟,所以\(f = \ frac {1} {3} {3} \):板坯占总工作的1/3。

$$ s(f,n)= \ frac {1} {\ frac {1} {3n} + \ frac {2} {3}} $$

如果我们有10%的升级会发生什么?然后\(n = 1.1 \),加速为33/32 = 1.03125或3.12%。我们可以在7.27分钟内完成工作。

100%升级怎么样?然后\(n = 2 \),加速为1.2或20%;我们可以在6.25分钟内完成。呵呵。

如果我们必须在四半分钟内留下会发生什么?我们可以及时完成吗?

斑马无缘无故地恨你

900%升级?然后\(n = 10 \),加速为10/7 = 1.4285或42.85%。 Yikes,即使我们花费成千上万的手稿让矿工小猫速度超过10倍,我们’LL仅将我们的总时间从7.5分钟降至5.25分钟。那’s depressing.

或者,在更实际的背景下重述,让’说我有一个包含大量数字次谐起的计算机程序,它使用一些数字算法 Chandrupatla..’s Method 我找到了一种方法来加快数字嘎吱嘎吱的方式(无论是通过找到更好的算法,还是通过将实现改进)到10倍。如果它用于在总程序时间中取出1/3来执行,那么整体加速仅为42.85%。

软件工程中更有可能的情景是我可能能够将软件的某些方面加快1.5倍(而不是10倍),因此它仅需要2/3,并且也许在加速之前它包括1/8的软件’执行时间。然后我’m下降到\(1 /(0.125 / 1.5 + 0.875)= 24/23 \约1.043 \)。多么悲伤。我们将部分代码加上50%,一个非常明显的改进,但总速度仅增加了约4.3%。下面是这个的例证;我们’ve加快了任务5,但整体速度没有’t changed much:

那么为什么烦恼?

好吧,我可以想到几个原因,其中一些我’我今天要讨论,其他人’LL离开即将到来的文章。

首先,让我们’S搭乘一点点旅行回到小猫游戏。在游戏中的某些时候,您解锁了与其他众生种群进行交易的能力:那里 ’蜥蜴,谁将从你那里服用矿物质,并给你倒回来的鲨鱼,以及鲨鱼,谁将拿铁,给你catnip。 (鲨鱼如果你有用’在CATNIP上绝望地低,并希望避免饥饿。) 贸易 花费一些金(和“catpower”发送一个贸易的大篷车)来密封交易,所以它’s not free, but it’是需要获得所需资源的重要途径,包括香料和蓝图,有时您的贸易分手抛入讨价还价,也许是为了弥补黄金,或者也许是因为他们只是对您的普遍竞争感到怜悯。如果你把木材作为回报,Griffins会给你铁,如果你给他们象牙,那么Nagas会给你矿物质。

然后那里’s the Zebras.

您需要在这场比赛中获得的资源之一是钛。它被用于很多东西,如大地技能,让你的地质学家猫直接找到黄金,而不是必须依靠冶炼厂以少量生产,并且创造用于各种各样的合金金属单元高级升级。

你需要钛。

那里 are three ways to get titanium.

一个是与斑马交易,谁将从你身上取石板(以及一些艰苦的金),并以回报,他们会给你铁,并且可能投入一些金属板和钛。谁知道为什么斑马有天生的生产钛…他们刚才。但斑马是敌对的,而且在那里’他们有30%的几率’LL占据你的板条和金色,只需在日志中只是一个注释:

  • 你的小猫返回空荡荡的
  • 你已经发送了1个贸易大篷车
  • 斑马无缘无故地恨你

It’依靠斑马真正的傻瓜。

获得钛的第二种方法是建立一个 煅烧炉,将矿物质转化为熨斗和少量钛,在该过程中使用一些油。这是持续生产钛的一种方式,没有任何方向。但煅烧炉很难建立。您需要省略足够的科学来解锁化学升级;煅烧炉aren.’甚至可见,直到你这样做。然后你需要钢铁和蓝图和石油…和一些钛开始。

获得钛的第三种方法是通过木材燃烧的冶炼,将矿物转化为铁和煤和一点点金。如果你解锁了 核冶炼 升级,冶炼厂还将产生一点钛。但要做到这一点,你需要一点铀,这是比赛后来的那么多。

所以你毕竟需要斑马。您必须节省足够的黄金来贸易和贸易和曲折,直到您终于有足够的钛才能建造一个煅烧炉,您可以自己制作钛,从他们的金红石垄断中释放你。虽然后来在游戏后来,你的交易能力改善,斑马真的是当你需要时获得一大堆钛的最简单方法;你只需要考虑一些钛的损失,因为毕竟,他们无缘无故地恨你。

斑马重新审视:Amdahl’s Law isn’t so black and white

那么愚蠢的闲置游戏中的斑马有什么用amdahl’s Law? Let’请查看任务的图片再次加速:

那里 are some insights we can draw from this.

首先,最重要的,amdahl’法律有一些类似的类似效率的类似物,我几年前指出 另一篇关于该主题的文章。基本上它归结为看着效率的想法是一种在相对术语中对待这个想法的方式,在某些情况下,真正重要的是绝对术语。是的,我们不得不努力加快任务第5号,也许我们只能在一个小时内保存2 1/2分钟’值得计算,但我们确实得到了一些加速。剩余的任务可能需要一个小时或一天或一个月,而且不会’t改变了我们投入x的努力,每次整个任务都完成了2 1/2分钟的加速。 (如果加速是值得的,是另一个问题,我’请在另一篇文章中谈论这一点。)

第二个洞察力与热力学中出现的效率方面有关,即 克诺’s Theorem,基于所涉及的绝对温度,将界限放置在发热发动机的效率上。让’S表示您有一个具有内部温度的蒸汽引擎(t_h = 200 ^ {\ circ} \ text {c} = 473 \ text {k} \),以及处于\(t_c = 40 ^ { \循环} \ text {c} = 313 \ text {k} \)—它从燃料到有用工作的最大效率是\((t_h - t_c)/ t_h = 33.8 \%\),但很可能它’少于那个。野蛮的事实是,基于其工作温度,热泵和空调和冰箱对效率有物理限制,您可以’t做得比那更好。汽油在汽车中烧毁’由于热力学效率的盖子,它将能够将所有能量内容物体送入物理运动中。倒霉。和一个共同的解释 三种热力学定律, 有时归因于C.P.雪有时候艾伦吉斯伯格,适用于此:

  • 你可以’t win
  • 你可以’t break even
  • 你可以’t quit the game

你只能’逃避效率低下;是的,amdahl’法律适用,你失去了他们’休息。斑马无缘无故地恨你。当您计划加快一系列一系列后勤任务时,您应该知道你’re getting into.

第三次洞察力是,如果我们想加快一系列任务,我们最有可能’不仅会使我们的努力进入一项任务,而是我们’重新看看他们所有人,希望我们能得到这种加速图

我们努力工作的地方,并得到 许多 更高效的任务(不仅仅是一个),使我们的整体过程可以更快地工作。如果任务5是最难加速的,我们首先在剩余任务上首先焦点努力,那么结果可能看起来像这样

并且凭借Amdahl’S法律,这是瓶颈的任务(这里是主要例子的任务5)是当我们避难时具有最具吸引力的投资回报的任务’尚未完成它们。 ROI是关于哪一个’我今天要跳过任何讨论,但请记住它。

第四次洞察力是,即使我们不’只能加快许多任务之一获得大部分收益

它仍然可能是有价值的。在许多行业中,市场仍然有很多优势在市场上有很多杠杆作用。如果netflix收费\ 9.99美元,则流媒体视频,以及一些新的公司x收费\ $ 899,一个月基本相同的内容,我’m将切换到公司X.它 ’没有多少储蓄,但为什么不必要地扔掉钱?作为业界的最便宜或最高的性能,甚至更好地略高,可以命令溢价份额。即使那个’S不是这种情况,有有行业,如零售,在非常小的边距上运营,因此商品和服务成本(COGS)的节省1%是相对于净利润保证金的大量:如果我的收入是\ 1亿美元,COGS是\ 6000万美元,我的净利润(在支付所有其他费用后 薪水和租金和健康保险)\ $ 100万,蓄育人数只有1%的储蓄将增加净利润60%,达到160万美元。这些具有小幅性的行业尝试消除每一分钱,以便保持其底线的盈利,并且在过程中,他们可以在拥有光明的未来和破产之间产生差异。

Gustafson..’s Law

让’S回到我们面食思想实验。

只是为了提醒你,面食房屋建筑需要10个木梁和10个石头板,你有两只小猫,可以充当木质模板(每个每分钟制作1束,每分钟2个星形);总共需要7.5分钟:横梁5分钟,平板为2.5分钟。

让’S假设我们解锁了矿工的加速,以便他们现在可以更快地制作十倍,或每分钟20个板坯。该工作将需要5分钟的横梁和15秒的板坯,总共5.25分钟,或者加速为7.5 / 5.25 = 1.4286— that’s 42.86% faster.

正如我们之前计算的,Amdahl’S法预测:\(n = 10 \)\(n,f)= 1 /(f / n + 1-f)\),\(f = 1/3)将产生\(s (n,f)= 10/7 \约1.4286 \)。

但也许我’不在如此匆忙。也许我无论如何都有7.5分钟;在我发现这个宏伟的采矿升级之前,我预算这么多时间。我看着我的矿工猫,思考自己, 哎呀,我可以创造大量的平板…也许我可以用板条做别的...... 10次​​光束需要我5分钟,另外2.5分钟我得到100个板坯…哇!在意大利面的房子之后,我留下了90个平板。也许我使用其他90个板坯与斑马交易。或者我也许决定用100个平板和10个光束建造一个石头豪宅,因为石头豪宅有一些比面食房子更好的津贴— and besides, I’m在低碳水化合物饮食上。无论如何,与升级之前的总时间相同,结果更好。

这是产品 Gustafson..’s Law,基本上说,是的,你 可以 根据Amdahl计算事物’法律,加快了同一套任务,但是当你发现你可以突然做得更快,你得到更加雄心勃勃的,并重视问题以利用新的加速。那里’这里的一个等式,但那’不是重要的事情;重要的是,我们与Amdahl的地狱说’s Law, it’s错误应用。例如,如果我在2MB /秒的DSL连接,我下载了Angela Lansbury的3百万像素图片,然后我将我的DSL连接升级到20MB / sec,我’不得在更少的时间内满足下载3百万像素的图片;相反,我’LL下载了1900万像素的Angela Lansbury照片,我难道’T已经使用2MB / sec连接完成,但现在他们没有’t拍得那么可怕,我只能点击并立即满足。

Synergy:Catkind的一小步

我要分享的最后一个洞察力—这可能更难掌握—必须用协同作用的概念和技术进步。

假设在小猫游戏中,我可以快速制造10倍的石板…但它让我打造意大利面房屋只需更快42%。令人失望。但由于意大利面楼宇的增加,我可能能够更快地制造42%的Carbonara酱。这反过来,又让我跑42%的马拉松,这给了我42%的金牌,我可以用来与鳄鱼交易,谁给我镜头,我可以用来解锁摄影设备升级,这使得更多蓝图,这意味着我可以获得常规亚伯拉姆斯Dado Jig升级,如果我能做 ,然后我可以更快地创造25%的木梁。现在它变得有趣,因为我们有一个反馈循环:我们’从每分钟2个梁重新安装到每分钟2.5梁,每分钟20个板坯,它现在只需15秒即可超过10个板坯,10个梁4分钟,总共4.25分钟。我们’ve从42%的速度从42%上升到76%。然后在获得足够的Carbonara酱和镜片后,我可以解锁烹饪展会升级,这会产生喜欢,并增加了我的幸福,这让我的农民小猫产生更多的食物,所以我可以负担得起更多的工人小猫,他们可以制作更多的石板和梁......

好的,这一例子是愚蠢的,也许很难遵循,而且没有任何这些东西(蓝图和小猫自己除外)来自小猫游戏,无论如何。让’看看一些实际的小猫游戏机制。我开始将图表放在一起说明这一点,并迅速意识到将所有东西放入图表中是不切实际的,所以我’在下面的图表中仅显示了小猫游戏宇宙的一部分。 (仍然花了太多时间。)

快速之旅:左下方的苍白棕褐色盒子是小猫可以执行的各种工作:伍德法克,农民,学者等等。丑陋的明亮的黄色框是建筑物,它属于几个类别。您可以通过建造各种类型的住房来增加小猫人口:小屋,木屋和豪宅。其他建筑物提供不同的功能,主要是存储或资源处理或发电,尽管我没有那些奇怪的’在图表上显示,就像 Ziggurat., which is used for harvesting unicorn tears. Ahem. Anyway, the green boxes at the top are resources, some of which come directly from buildings or the different kitten jobs, but the rest you have to craft by gathering appropriate combinations of other resources. The periwinkle-colored boxes in the upper left are the other trading civilizations: Lizards, Sharks, Griffins, and so on. Lines with an arrow show resource production or conversion. Lines with a square on the end represent building costs, denoted as something like 5*2.5 which means the first building costs 5 units of the appropriate resource, but it increases by a factor of 2.5 thereafter (5, 12.5, 31.25, etc.). The funny atomic symbol represents Science (just to avoid having more lines crisscrossing the diagram), and the plug symbols represent electric power sources, colored green, and sinks, colored red. Diehard fans of the Kittens Game will remark that this doesn’T包括任何存储建筑物,或空间建筑或任务,或科学或研讨会升级,或者与宗教或形而上学的游戏的任何部分,以及工程师小猫队’t shown… yeah, whatever, let’s see 尝试在单个图表上拟合它们。

更具体的例子可能会使这更清晰。这里’在顶部的一些资源:

那里’s an arrow, labeled “100”,将catnip连接到木头。这意味着如果您有100个单位的CATNIP,则可以通过制作的奇迹转换它们(“Refine Catnip”)成1单位的木材。这是您在游戏开始时可以做的唯一制作;后来,您需要一个研讨会,该研讨会还为每个研讨会提供了额外的奖励因子6%。您可以将175个单位的木材转换为1个光束,250个单位的矿物成1个平板等。一些转换需要多种资源:您需要100个单位的煤和100个单位的铁来转换为1单位的钢。

这里 are some of the buildings:

例如,第一个CATNIP字段为您提供10个CATNIP的CATNIP,并产生0.125单位的每次CATNIP单位勾选。 (有5个蜱/第二实时,所以’S每秒0.625单位的CATNIP。)第二个CATNIP现场成本为12%,或11.2单位的CATNIP。第三个CATNIP现场的成本超过12%,或12.544个CATNIP单位。价格呈指数级,以至于在某些时候,您可以达到一个实用的障碍’真正建立了更多。

建立第一台煅烧炉120钢,15个钛,5个蓝图和100油。为了运行它需要每滴答1.5矿物,每个蜱0.024个油,1瓦的电力,它将每滴答为0.15铁和0.0005滴钛。 (漂亮!整个钛工厂仅在1瓦的力量上运行。)最初’S所有煅烧牌都这样做,但后来在游戏中,您还可以获得煅烧炉生产钢铁和煤炭,这就是为什么他们 ’在此图表中标记为0;这个数字可以稍后增加,但最初它’s零。 (虽然,铁和煤箭头是错误的方式。呃,我知道我会至少有一个错误。)

小屋可以容纳2小猫;日志房屋和豪宅只有1个小猫。有趣的是,一个小屋如何持有两倍的小猫作为一个豪宅,但是那’s how it is.

无论如何,你得到了这个想法。阅读 小猫游戏维基 或者 玩游戏 如果您想要完成和准确的信息。

现在回到我们对协同作用的看法。到蓝图的制作序列非常令人沮丧:你需要的游戏开始时

  • 175毛皮转换为1羊皮纸
  • 25个羊膜(和400种文化)转换为1稿
  • 50个手稿(和10000科学)转换为1个纲要
  • 25个概要(25000科学)转换为1个蓝图。

这听起来像是 圣艾夫斯托儿所押韵;制作1个蓝图,您需要超过540万毛皮,500,000种文化和275,000科学。这需要令人难以置信的很长一段时间’不是在游戏开始时制作蓝图的好方法;它’更快地与斑马或蜥蜴交易,偶尔他们只是扔进你的蓝图。

但每次购买另一台车间时,它都会变得更容易;使用1次研讨会,25个纲要将转换为1.06蓝图;有5个研讨会,25个纲要格转换为1.30蓝图。 (每个车间6%是添加剂。)真正的优势具有多个制作阶段; 5个研讨会的好处,如果从毛皮转换为蓝图,就是\(1.30 ^ 4 = 2.8561 \),因为涉及4个阶段。如果您可以设法获得25个研讨会,那’S奖金为150%,因此每个阶段乘以2.5,您在此处的制作增益(2.5 ^ 4 = 39.0625 \);现在,您只需要350,000毛皮(和适当的文化和科学),转换为5000个羊皮纸(自175毛皮,现在转换为2.5羊皮纸),转换为500种稿件,转换为25个纲要,转换为2.5个蓝图。

当你可以更容易获得蓝图,然后它’更容易制作磁磁体,磁电机从其他建筑物增加了您的生产率,因此您可以获得更多的木材和矿物和煤炭等,这意味着您可以建立另一个研讨会,并且循环逐渐绕过。它’s一个正反馈循环!唯一阻止您缩小到Quintillion Range的事情是建筑物呈指数级更昂贵的构建的事实,并且您必须拥有足够的存储空间来存储一些资源。到达那里可能需要很长时间,意为数百或数千名游戏年( 1比赛年份= 800秒实时)但最终,由于这些反馈循环,生产率会更大。

游戏的另一个方面是协同作用与生产乘法器有关。如果将悬停在括号中的一个资源速率上,则弹出一个窗口,为您提供了对生产和消费的分析。这里’是来自钛生产的后期游戏的一个例子:

此时,我有87个冶炼厂和19次煅烧炉。在游戏开始时,冶炼厂不’T产生任何钛,当你第一次建立煅烧炉时,每一个产生0.0005滴钛= 0.0025每秒钛。煅烧炉有三次升级(氧化, 回转窑, 和 流化合物)将其加剧,以增加钛生产的净产量为9.1或每秒0.02275钛。当你解锁时 核冶炼,冶炼厂每秒每秒产生0.0015滴钛= 0.0075钛。通过所有这些升级和87次冶炼厂和19次勘察器,总生产率为每秒1.08475次钛。但等等,我们’还没有完成。具有乘客的倍增器,磁盘,反应器,信仰和宇宙微波背景辐射,将其撞到每秒约78次钛。将其与87次冶炼厂和19次煅烧炉进行比较,没有任何升级或奖金:19 * 0.0025 = 0.0475从煅烧炉的每秒钛,没有来自冶炼厂。所以那里’S净增加约1640倍!每个不同的改进都组合了乘法,并且比特比特通过比特的生产率上升。

我发现对游戏有趣的是,它漫画在现实世界中发生技术发展的方式。几年前我买了一个\ $ 200 Chromebook,其中包含数十亿个晶体管和电池和相当漂亮的彩色显示器—为了到这里,每件事都需要大量的增量改进,其中一些没有以前的改进。例如,今天’S处理器使用计算机设计,塑料部件的模具肯定基于CNC加工,这需要计算机,因此必须在不使用计算机的情况下最初设计所有这些计算机或其前辈,而且 那些 电脑非常昂贵。所有供应线现在都是优化的,因此我们可以比例如一匹马更快,方便地生产并送到您房子的笔记本电脑;另一方面,在1950年,马的采购和维护将更容易和更便宜。偶尔会有技术跳跃,就像从真空管转移到晶体管一样,但大多数有很多小调整,只需更容易或更快或更便宜地制造一切。所有技术;如果你拿走了一大块,或者 如果它的主要部分失败,突然间,它会接下来是不可能拥有智能手机或笔记本电脑。甚至 铅笔:

我开始读托马斯S. Kuhn’s 科学革命的结构 希望能够获得一些关于这一点的洞察力,但发现我的口味有点太秘密;也许我’LL有时再试一次。

在现实世界中的协同作用:一个更现实的例子,为什么eeyore和tigger可以一起开心

所以所有关于煅烧师和磁体的东西和相结合的信仰,以产生钛的船载是愚蠢的。此外,小猫游戏中的多个正反馈循环在全球范围内的宏观经济和技术开发中更具代表性,而不是您可能遇到较小规模的任何东西。但是让我们’看看现实世界中的协同作用的更实际的例子。

假设您和几位大学伙伴决定基于面对面认可作为服务(FRAAS)的想法开始新公司。基本上,您发布了一个接受包含图像文件的面部识别请求(FRR)的Web API,您的FRAA将尝试弄清楚它是谁,并以姓名和社会安全号码响应。 (非常适合倾向于在没有盗窃的盗窃’T有很多业余时间才能完成所有细节。)您有一个在Orinoco Web服务(OWS)上工作的原型,而您’估计,经过大量仔细的计算,如果你扩展了这个想法,你可以收取每弗雷尔的1.6美分,每个人都可以在1.0秒内响应,并且在那种成本和性能中,您可以合理地期待最少的价格每月900万FRRS,用于计算每次0.7美分的计算成本。总成本:\ $ 63000 /月。总收入:\ 144000美元/月。毛利利润:\ $ 81000 /月。更有可能的情况是20-30千万普罗尔/月范围内的卷,但是你’从企业计划的角度来看,重新尝试保守。

这里’使用使用OWS的每FRR成本的细分’S定价模型和您的软件的一些测量:

  • \ $ 4000 /月/月的固定成本(9M FRR /月每月0.04美分),主要基于软件和面部识别数据库的存储
  • API每FRR 0.05美分,涵盖网络流量和请求处理程序等等— this is what your service would cost per FRR just to send back 200 OK for each request without any additional processing
  • 计算时间为0.45美分
  • \ 14000美元/月/月费用(每月900万平方米/月,每月0.15.15美分),以预留峰值CPU和RAM负载,每秒使用1秒的响应时间为50 FRR。奥里诺科网络服务让你这样做,即使你不行’T实际上拥有任何FRR,以确保每当您需要时都可以使用计算能力。你不’需要支付这笔费用,但如果那里,你的fraas可能会慢慢爬行’很多交通,没有人喜欢慢速的fraas。每秒为50辆FRRS提供服务一个月约为1.3亿FRR,而不是您的期望,但您希望能够处理活动的阵阵。

现在在这里’在哪里有趣的地方。你’在算法所需的计算中,看起来它看起来大约52%的计算时间由一个名为Cogitate的深度学习软件库的一个特定功能使用。您的算法呼叫焦点’s ponder() method 18 times for each FRR. It looks like there are two improvements you can make:

  • If you change your algorithm to be a little more clever, you can call ponder() only 6 times per FRR, with only a slight loss in accuracy.

  • 你可以 purchase an upgrade to Cogitate that takes advantage of optimized mathematical libraries, and it should reduce the time of each ponder() call by about 30%.

With both of these improvements, this means you can cut the compute time cost of the ponder() method by a factor of \( 6/18 \times (1-0.3) = 7/30 \approx 0.233 \), or a speedup of \( 30/7 \approx 4.2857 \). This applies to 52% of the compute time. If we plug into Amdahl’法律,我们有\(n = 30/7 \)和\(f = 0.52 \),所以净速是\(1 /(f / n + 1-f)\约1.663 \),只有大约66倍增术语的速度更快,相对术语只有39.9%:计算时间从每一个FRR为1秒的基线到0.6013秒。我们期待每次FRR计算成本从0.45分下降到约0.27美分。

同样,这只是查看计算成本的另一种方式:

  • 48%的0.45美分= 0.216美分’T受到改进的影响
  • 52%的0.45美分= 0.234厘米,将减少7/30至0.0546美分,节省每股FRR 0.1794美分
  • 总计0.216美分+ 0.0546分= 0.2706分

Yay,您可以将您的总费用降至0.52.5.06分,每FRR近0.18美分,原始总量为0.7美分(计算成本为0.45美分,其他因素为0.25美分);那’S 4.29的一部分的成本节省约25.7%。

惨淡。压抑。 amdahl’s Law hits us twice as hard, once because ponder() is only part of the program’S计算时间,然后再次是因为计算时间只是成本的一​​部分。

但是’好吧,你可以忍受效率低下;使这些改进将提高到约97150美元/月的毛利,这有点好转,它应该将响应时间减少近40%,使您的客户更幸福。

当您将此信息带到Cameron,您的营销专家时,她会兴奋,并将某些数字插入计算机,并在统计模型中散步时送一杯咖啡。几分钟后,她告诉您,通过较短的FRR处理时间,您可以将客户降低到每次FRR的1.2美分,并且随着性能的增加和成本降低,您可以保守期望1600万FRR /月而不是900万FRR /月原创预测。

然后,戴尔,您的云计算专家,告诉您,随着处理时间较短,增加了1600万FRR /月投影,您的OWS成本应该有所改善:

  • 每月4000美元固定成本– this doesn’改变,但现在它’S 16M FRR /月,当您划分此费用时,它每FRR仅0.025美分
  • API每FRR 0.05美分– this doesn’t change
  • 每个FRR为计算时间0.270.5美分,由于计算加速,减少了0.45美分
  • 关于\ $ 14800每月费用预留峰值负荷–峰值FRR速率应该增加,但由于您削减了处理时间,峰值计算负担仅大于以前,随着储备的增加,OWS会让您略微减少定价。这意味着您的预留峰值负荷的成本下降到每FRR 0.0925美分

每股FRR的总估计成本:每FRR约0.438美分。您每FRR节省0.18美分,从计算加速,每个FRR的另外0.082美分从规模经济。在工作中的协同作用!

现在毛利率为1600万弗雷/月×(1.2美分的消费者成本 - 0.438美分的费用)= \ 121,000美元/月!那’s \$40,000 / month more than your original projection! Even if the Cogitate upgrade costs \$50,000, and the work to restructure your algorithm for 6 calls to ponder() has an estimated cost of \$30,000 for all the development and testing, they would pay for themselves in only 2 months.

此外,在这些新的预测中,您可以雇用另一台软件工程师,试图加快您的计算时间的其他48%,这应该进一步降低您的FRR成本和响应时间,并提高需求和利润。

总之,对于您的Fraas情况:

  • 主要加速(4.286 ×)在计算时间的一部分中,减少了39.9%的处理,这只是原始成本的一部分,并且由于Amdahl而产生更适度的成本(25.7%)’法律。嘘。悲观主义。
  • 这种成本降低和性能增加的影响导致消费者的价格提高,导致卷增加,这意味着更多的收入
  • 除了减少计算时间后,规模经济还减少了其他成本,增加了毛利率
  • 在前的增加现在允许其他可能的改进的机会

在工作中的协同作用! amdahl’法律可能意味着你’在评估某些性能加速的立即影响时,恢复了eeyore(即它赢了’尽可能多地帮助’d真的很喜欢),但你应该’T忽视跳虎,他真的希望你看看大局,看看积极反馈的好处。

现在,这里有一些黑暗的方面:

大规模改进我们’在技​​术方面确实让我们提高生产力并降低成本,从而可以从Amazon.com和沃尔玛获得便宜的鞋子,但现在他们’大多是在中国制造的,美国和欧洲的许多大型鞋厂都消失了,因为他们不能再竞争。因此,如果您想要用耐用性拼凑的优质皮革制成的鞋子,而不是粘在一起的合成材料,它们’重复贵。他们’不仅更昂贵,因为过程更昂贵;他们 ’更昂贵,因为旧鞋的旧方法不再是主流,并且较低的卷意味着制造商更难找到并且因此必须收取更多费用。协同生产力增加往往会使那些落后于生产力的方法,即使我们希望他们继续。我们’重新获得自己成功的受害者。

另一个大问题是,使得这种协同作用的流程的纯粹复杂性和规模也可能隐藏他们对我们生态的影响。电力很便宜,因为我们拥有送烟和公司的所有这些巨大的电厂2 进入天空,或产生核废料,或淹没在水电大坝后面的峡谷。 棕榈油种植园 取代热带森林。 在柬埔寨的水泥采石场 正在摧毁稀有石灰岩悬崖。煤炭,金,铜,银等矿业摧毁了大面积的自然栖息地和 产生有毒化学品. 在2012年种植玉米,小麦,大豆和其他作物所需的土地 消耗美国总地区的52%以上“Corn Belt”国家(爱荷华州,密苏里州,伊利诺伊州,印第安纳州和俄亥俄州),包括超过爱荷华州的80%以上。添加在牧场和牧场,事实证明,农业用途消耗了北平原国家(北达科他州,南达科他,内布拉斯加州)的85%以上的85%,内布拉斯加州以90%以上的贡献。它’不是所有这一切都是坏事,它’只是在土地上有很大的成本,以生产我们作为社会消费的所有电力,原材料和食物… and we just don’t see it because it’除非你去发电厂,或大坝或矿山或农场,否则S根本不可见。因此,如果我打开灯光或购买铜线或吃汉堡包,我的决定和数百万同伴消费者的决定是激励电力和矿业公司和农民的业务和环境实践。想到的东西。

然而,在大多数情况下,协同作用的后果是一件好事。

那么这与嵌入式系统有什么关系?

像往常一样,我发现自己漂流到唐的有趣切线上’与嵌入式系统有很多关系,因为这是一个关于嵌入式系统的网站,我必须搜索有点才能显示它’s still relevant.

要是我们’谈论Amdahl的基本方程’S法,它仍然适用于嵌入式系统,就像云计算一样。如果您有一个需要6400个时钟周期的中断服务例程,您可以加快从1800个时钟周期到400个时钟周期的一部分’LL将总ISR的时间降至5000个时钟周期:一个部分中的4.5的加速转换为整个ISR中1.28的加速。将数字\(n = 4.5 \)插入\(f = 1800/6400 = 0.28125 \)进入AMDAHL’s Law and you’ll得到相同的结果。

您在桌面PC或云计算中遇到的中等或大量嘎吱嘎吱的努力’但是,在嵌入式系统中真正出现了很多,所以这种算法改进了’T真的很多,5或10个加速的因素真的很少见。如果我曾经像Chandrupatla这样的根发现方法,我会感到惊讶’在微控制器上的方法…虽然你永远不知道。

至于协同作用—这些效果存在,虽然您有时必须超越嵌入式系统本身。例如,让’s say I’m在c中的一些固件程序工作,需要60秒钟才能在我的计算机上编译,我通常每天约二十次编译步骤。那’S 20分钟,占8小时的4.2%。我可以购买更快的编译器,或者购买固态驱动器(SSD)比传统的硬盘更快,并将编译时间降至5秒(超过12个加速!),但它只会为我保存约18每天分钟,如果我有一个短暂的经理,他可能会告诉我,对不起,我们不’它有预算,它’不值得费用,在你的同时做别的事情’再等待它来编译。去浏览 reddit., 它’好的。然而,对60秒到5秒的程序员中断的减少是巨大的!有60秒,我必须停下来等待,并且在60秒结束时,我必须重新获得我的思想。虽然5秒钟,但我可以保持我的思想训练,更加富有成效。此外,由于编译时间较小,因此我可能更频繁地编译以捕获语法错误。现代ides,特别是对于java的语言比c速度更快,现在有一个持续的编译过程,可以重新编译文件’重新努力,只要它看到变化,就会看到一点点警告会立即弹出,告诉你你出错了。即时反馈,以及它’更快地避免愚蠢的错误。

可以影响嵌入式系统设计者的协同作用的另一个方面是加快CPU时间的结果。如果我可以将我的ISR时间从6400个时钟周期剪切到嵌入式系统中的5000个时钟周期,也许我可以使用较慢的系统时钟,节省电池能量,并要求较小,更昂贵的电压调节器,耗尽较少,以消耗较少,因此,散热器可能会花费更少。所以即使Amdahl’S法律说我的快速造成的直接结果’T令人印象深刻,那里还有其他乘数来放大我改进的影响。

包起来

好的,所以我们今天学到了什么?

  • amdahl’S法律说,对于某些任务,如果是一小部分\(f<1 \)它们可以完整\(n \)时间更快,无论是什么原因—新算法,更快的计算机,更多的小猫—整套任务将遇到\(\ frac {1} {\ frac {f} {n} +(1-f)} \)的速度速率,它们总是小于\(n \);您总共获得了更小的加速,因为只有部分工作是更快的。

  • amdahl’法律基本上告诉你’在工作中的一个效率因素取决于可以加速总任务的总任务。它’没有大量的交易,只要你理解这个并以透视保持一致,甚至可以帮助您指导您关注影响总执行时间较大部分的改进。

  • 对于某些应用,甚至没有生产力的小改进是值得的,所以你应该’必然让amdahl’他的法律阻止你让那些小的改进只是因为它说你必须努力工作。

  • Gustafson..’S法是另一种观察同样情况的方式,并决定利用部分加速,通过使用相同的总时间并完成更多的工作,而不是在更少的时间内尝试做相同的工作量

  • 一些应用甚至可以体验协同作用,其中生产率的小改善是较大的净值,这可以减轻Amdahl的其他悲观影响’s Law.

  • 我们在小猫游戏的背景下看了这一点,但它’S也适用于现实生活。

I’我今天要跟进’S文章在案件中有另一个’s 不是 适当优化。

但与此同时,唐’停止寻求改善!如果你’重新播放小猫游戏…休息一下,从你的电脑上站起来,和你的家人共度时光,散步外面。你赢了’t regret it.


P.S.我于2015年12月开始撰写本文,但此后不久将其搁置在一起 软垫é delay article,并在一个月或两个月内从小猫游戏中释放自己。几周前我恢复在这篇文章上工作时,我从游戏中拍了一些截图,并仔细检查了一些关于它的事实。不幸的是,我现在’再次被吸入....


©2017年杰森M. Sachs,保留所有权利。


[]
评论 treefarmer.2017年4月12日

哇。我将不得不花费很多时间详细阅读。哇。

要发布回复评论,请单击连接到每个注释的“回复”按钮。发布新的评论(不是回复评论),请在评论的顶部查看“写评论”选项卡。

注册将允许您参加所有相关网站的论坛,并为您提供所有PDF下载。

注册

我同意 使用条款隐私政策.

尝试我们偶尔但流行的时事通讯。非常容易取消订阅。
或登录