加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

由SEDA,HALF-SYNC/HALF-ASYNC 和PIPELINE AND RESOURCE MANAGEMENT

发布时间:2020-05-30 00:56:29 所属栏目:程序设计 来源:互联网
导读:SEDA有两个思想。一是分阶段,二是事件驱动。原理则是分而治之。在分工合作的基础上加上反馈机制形成一个动态调整的执行环境。 HALF-SYNC/HALF-ASYNC是局限于IO范围以内进行性能调整的方法。即在承认IO操作之间的差异性基础上,有针对性地解决问题。说它是一

SEDA有两个思想。一是分阶段,二是事件驱动。原理则是分而治之。在分工合作的基础上加上反馈机制形成一个动态调整的执行环境。

HALF-SYNC/HALF-ASYNC是局限于IO范围以内进行性能调整的方法。即在承认IO操作之间的差异性基础上,有针对性地解决问题。说它是一种非常有局限性的方法,是因为这种方法并不能解决IO子系统与整个系统之间的个体与集体之间的冲突问题。是典型的头痛医头,脚痛医脚。

PIPELINE AND RESOURCE MANAGEMENT 的思想是在承认SEDA的分工合作的思想基础上进一步加入了资源管理。当然,流水线的思想首先是一种异步思想,即大家各干各的工作,互不相干。

分工或者分阶段的粒度大小只能在长期的实践中去动态调整。这个有点象商业上的业务流程重组。在不同的历史条件与环境下面,资源经常会表现出不一样的特性。比方说,在64位的平台下,内存资源明显变得没有在32位环境下紧张;而1块千兆网卡肯定快过百兆网卡。

有人提到SEDA其实已经有智能的成分在里面。可惜这个项目已经停止了好多年。停止的原因尚不知道,这里暂不作猜测。

关于线程模型的争论,我认为关键在于线程的调度策略,或者说线程的自由度。我们知道,在大多数国家里,人们是自由的。但这种自由是有限的,即有个度在里面,它就是自由度。线程作为一个自主运行的任务载体,就象人一样,有摧毁整个系统秩序的能力。经过几千年的进步,我们学会了用战争与法律来实现整个社会的有序,但是对计算机系统来讲,我们却仍然处在原始社会。即线程们各自为政。

所以说,线程模型本身是没有问题的。问题的根本在于系统对线程的调度策略上面。从现实世界中取经的话,战争与法律永远是最好并且最有效的武器。

一个有效的系统,除了对内充分发挥自己的本领,还需要对外提供良好的响应性能。对内的问题是在一个有限范围内的问题。而对外的问题包含着很大程度的未知因素。对一个开放系统来讲,你很难知道什么时候会有多少请求以及会有些什么请求。

如上所说,法律只能解决内部问题,战争虽然有时可以用来解决外部问题,但是总体来讲,在大多数时候,外交手段在外部问题上来得比战争有用得多。其实很多人都曾经提到过,高性能的网络应用,不能只盯着服务器内部,分布式计算才是真正的解决办法。但是分布式计算往往只是在机群环境中才能得以实施。而如果使用了机群,这样的手段还算得上是外交手段吗?我看顶多只能算是一种经济手段吧(以逆差的形式进行生产资本的输入?)。真正的外交手段是向有求于你的人谈条件。这就象此次美国以灾援为诱饵向缅甸要求驻军一样。

当你的服务器被成千上万的请求给淹没的时候,以一挡百,是英雄主义的思想。相反,向向你提交请求的人请求帮助,是合理的行动。俗话说,解铃还须系铃人。向请求你帮助的人请求帮助,其实就是一种自助。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读