P2:在时间轴上移动计算 原则: 通过在时间轴上移动计算,有时可以获得很大 的收益 属于P2的三类技术: P2a: Precompute(预先计算) oP2b: Evaluate Lazily(延迟计算) P2c: Share expenses(分摊开销)
原则: ◦ 通过在时间轴上移动计算,有时可以获得很大 的收益 属于P2的三类技术: ◦ P2a:Precompute(预先计算) ◦ P2b:Evaluate Lazily(延迟计算) ◦ P2c:Share Expenses(分摊开销)
P2a:预先计算 原则: 提前计算好需要的值,节省运行时的计算时间 函数计算的例子 复杂的函数计算→查表操作 网络的例子: 预先计算好一个连接上的P头和TCP头,以减小 运行时写包头的工作量
原则: ◦ 提前计算好需要的值,节省运行时的计算时间 函数计算的例子: ◦ 复杂的函数计算 → 查表操作 网络的例子: ◦ 预先计算好一个连接上的IP头和TCP头,以减小 运行时写包头的工作量
P2b:延迟计算 原则: 推迟在关键时间点上要执行的高代价操作,寄 希望于该操作在未来可能不再需要,或者可以 找到较空闲的时间执行 例子: 检测异常URL的例子:仅当需要用到某个计数器 时才初始化该计数器 安全物证的例子:仅当数据包到达队尾且可疑 节点表非空时,才判断该数据包是否为攻击包
原则: ◦ 推迟在关键时间点上要执行的高代价操作,寄 希望于该操作在未来可能不再需要,或者可以 找到较空闲的时间执行 例子: ◦ 检测异常URL的例子:仅当需要用到某个计数器 时才初始化该计数器 ◦ 安全物证的例子:仅当数据包到达队尾且可疑 节点表非空时,才判断该数据包是否为攻击包
P2C:分摊开销 原则: 充分利用系统其它部分执行的高代价操作 最重要的技术: 批处理( batching) 网络的例子: 网卡在收到一批包之后,再产生中断,在多个 包之间分摊中断处理的开销
原则: ◦ 充分利用系统其它部分执行的高代价操作 最重要的技术: ◦ 批处理(batching) 网络的例子: ◦ 网卡在收到一批包之后,再产生中断,在多个 包之间分摊中断处理的开销