纵观全球IT领域,持续增长的Web应用开发和部署模式,让我们切身体验了Web化的ERP、CRM和Web 2.0所带来的诸多好处。然而,Web应用的飞速发展意味着企业必须提升负载均衡器或应用交付控制器(ADC)的性能和容量。然而,提升性能并不是简单地采用最新的Intel或AMD处理器就能实现的。单个处理器为性能带来的增量效益已经逐渐消失。因此要实现应用交付控制设备性能的大幅提升,必须采取新的系统架构,即多核处理器体系架构。与传统处理器不同,多核处理器将多个处理元件嵌入了同一处理器封装。例如,老式Pentium 4处理器一次只能处理一条指令,但4核Intel Core 2 Quad处理器可并行处理4条指令。
突破单核壁垒
采取多核或多处理器来实现高性能必须克服大量的技术障碍,如有效的分配负载,实现处理器间的资源共享,以及精确的管理不能并行处理的关键功能。这里面有一个共同的技术难点,即数据信息同步。
如果要实现多处理器之间的数据信息同步,就会制约系统整体数据处理性能,它会在关键时刻放缓所有进程,确保程序结果的准确性,但此时系统性能会快速下滑。同时,由于同步设计所带来的复杂性,系统出错的可能性也越来越大。
因此最有效的解决方案就是避免数据信息同步操作,但这说来简单,做起来却很困难。消除同步不仅需要重新构建软件架构,还需进行大量的先期规划,并充分了解硬件、软件和系统之间的相互作用。
Citrix NetScaler nCore技术
Citrix NetScaler nCore技术作为一种高性能的并行处理架构,利用多核技术实现有效扩展,以满足要求最为苛刻的Web应用的需求。要构建能有效利用多核处理器的系统必须考虑以下两个问题:
(1)系统如何能够确保所有核心一直处于工作状态?
(2)系统如何消除处理器间信息同步的损耗?
两者是相辅相成的,消除多核处理器间的同步损耗让每个处理器可尽可能地实现最佳性能。Citrix NetScaler MPX产品平台采用零共享的设计思路,成功避免信息同步操作。不需要处理器之间进行数据信息同步已变成一个差异化的特征,使得NetScaler能够以极高的效率利用多个处理器分别执行大量TCP/IP处理进程,加速和优化任务,以及执行安全策略,从而线性的增加了NetScaler产品的处理性能和容量。
零共享设计
提升性能所面临的共同挑战就是共享。多个组件需要共享数据时,性能就成了问题。零共享有以下几大好处:
1、无同步化开销
2、大幅降低复杂性,从而提高稳定性
3、可更妥善地处理故障,因为组件之间不会互相影响