The heuristic algorithm of CF Synchronous-Asynchronous request conversion

z/OS 1.2开始,引入了一个新的探索式(heuristic)的算法,它以获得更有效的主机(CF请求发送者)CPU利用率为目标,来决定是向CF发送同步请求还是异步请求。

[@more@]

1.CF同步请求和异步请求的差异

CF的角度来看,CF异步请求通常比同步请求的处理时间(service time)更长,需要更多的CF CPU开销。

从主机(CF请求发送者)CPU的角度来看,CF同步请求和异步请求具有以下差异:

同步:z/OS通过XCFCF linkCF发送同步请求,然后开始spin/wait主机CPU,这一过程一直消耗CPU时间,不执行其他工作只等待请求返回。当CF请求处理完成并返回时,继续请求发送者的程序处理。主机CPU spin的开销和CF响应时间(service time)成线性比例关系。

异步:z/OS通过XCFCF linkCF发送异步请求,然后分派其他工作到主机CPU,并把主机CPU切换到该项工作上。当CF请求处理完成并返回时,必须先等待CPU完成当前的工作,才能处理CF请求的返回,再继续请求发送者的程序处理。这一过程中虽然没有主机CPU spin,但是工作切换、调度等仍然需要消耗一定的CPU。主机CPU对于CF异步请求的开销,可以近似认为不变。

正因为这样,同步请求时主机CPU spin的开销可能比异步请求时工作调度/切换的开销更大,特别是现在主机CPU越来越快的情况下,单位时间能提供的SU越多,spin会浪费更多的SU。同样的,如果CF请求的响应时间越长,spin也会浪费更多的SU。通过heuristic算法,更有可能会采取异步请求的方式。

2.Heuristic算法原理

算法的重点是z/OS需要根据主机CPU配置、CF link配置、CF CPU配置、工作负载的类型、距离延时等影响因素,针对不同的CF请求类型(比如locklistcache,是否duplex等),指出同步请求和异步请求转换的临界点或阈值。Heuristic算法则构建一个表格,每一行代表不同的CF请求类型,以及与它对应的同步请求响应时间。这个响应时间是通过对不同类型的同步请求进行周期性的观测得出的,是一个动态变化的加权并均值。当每个CF请求需要处理时,首先把它划归为某种类型,然后以这种类型的动态加权平均值和转换临界点进行比较,以确定是否把该请求转换为异步处理。

2009.02.13

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/45793/viewspace-1017334/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/45793/viewspace-1017334/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值