第109章 小程序咬住大机房(3 / 3)

投票推荐 加入书签 留言反馈

  第二,对方必须把缺失值、停牌哨兵、nan、tie-breaking和復权异常的处理规则写成接口文档。
  第三,我用来优化底层算子的工具链属於我个人,不隨项目交付转移。】
  邮件的最后,他略作思索,又加上了一段务实的声明。
  【另外,鑑於这套微架构优化的复杂性,目前的性能优化只能先给他们提供一版打底的解决方案。像他们这种量级的工业级应用,真正巨大的性能红利,必须得用更深维度的算法搜索去挖掘,那个工具我目前还在开发中。至於这第一版打底方案究竟能帮他们压榨出多少耗时,等我掛上他们的硬体环境实测出了结果,再报给你。】
  发送键按下后不到三分钟。
  沈承业就给予了肯定的答覆。
  在接下来的几天时间里,江临的生活节奏,就像是处理器內部精密划分的时钟周期一样,被精准地切成了截然不同的两半。
  白天的阳光下,他用已经日趋成熟的mps工具链,首先把那家私募机构庞杂而混乱的特徵计算流水线彻头彻尾地摸了一次底。
  接著,他將那套原本在陈启明办公室里演示用的,三层可重定向框架的代价后端进行了修改,掛接到私募机构伺服器群所使用的特定微架构的perf性能模型上。
  藉助於强大的算力推演,他跑出了一版用於打底的优化代码。
  那段原本採用传统排序算法、在分支预测上损耗极大的rolling_median7代码,被无情地连根拔起。
  取而代之的,是一段经过零一原理严密证明其绝对正確,並且在指令层面对那家私募机构的硬体流水线脾气尤为契合的全新实现。
  如果单独拿出来看一次函数调用的微观耗时,这段新代码依然只比原版快了那么几纳秒,似乎微不足道。
  可是,当这个微小的优化,被乘上一个夜晚內高达几万亿次的恐怖调用基数时,量变终於引发了质变。
  几天后,私募机构那边传回了实测的振奋消息。
  整条特徵回测流水线的总耗时,被硬生生地向下压去了一大截。
  以往需要跑到第二天清晨六点才能勉强出结果的任务,在凌晨三点半就已全部跑完。
  median7不是唯一被替换的函数。
  江临一共替掉了三处热路径。
  rolling_median7,固定窗口topk_window,以及局部rank里一个反覆构造临时数组的小排序。
  单次调用的收益都只有纳秒级,但三处合起来吃掉了原流水线接近六成cpu时间。
  机房里,有一批原本被高温和满负荷榨乾的伺服器,在当晚就提前熄灭了高负载的指示灯,安静地空閒了出来。 ↑返回顶部↑

章节目录