APP下载

基于多核优化的网络内容监测系统优化策略

2014-09-23李彦广

电子设计工程 2014年14期
关键词:线程队列吞吐量

李彦广

(商洛学院 数学与计算机应用学院,陕西 商洛 726000)

基于多核优化的网络内容监测系统优化策略

李彦广

(商洛学院 数学与计算机应用学院,陕西 商洛 726000)

网络中的不良信息通常以电子邮件、网页浏览、论坛发布等形式进行传播,针对网络内容监测系统存在的报文数据压缩、译码传输和关键字匹配等性能问题,本文提出了一种网络内容监测系统的多核平台性能优化策略,并将其应用到系统中进行测试。实验表明:当核心处理器的计算核心数量增加到7个时,完成多核优化的网络内容监测系统的数据吞吐量能够达到优化之前的436.1%,有效提高了系统的网络性能。

网络内容监测系统;多核优化;吞吐量;处理器

相比于一般对网络链路流量进行监测的系统,网络内容监测系统主要是对网络汇聚处的数据流量进行监测,而且网络内容监测系统的根本目的是对网络数据信息进行审查,扫描和识别网络信息的具体内容[1]。网络内容监测系统的关键模块是负责与数据信息缓冲队列相关数据结构直接联系,从系统结构上来看其核心模块与数据信息匹配识别相关。

网络内容监测系统与一般网络协议监测系统工作流程相似,但又存在着多种差异。因此,在对网络内容监测系统进行多核优化处理的过程中也会体现出很多特性特点,尤其是其优化结果能够真正达到提高网络性能的目的。

由于网络内容监测系统能够将网络流量中包含的内容信息进行还原,并按照既定条件抓取网络流量中的特定内容信息,本文通过研究自主研发的网络内容监测系统(IRCMS)多核优化的问题,根据不同的网络协议类型,探索系统在审查网络数据信息方面的独特优势。

1 网络内容监测系统优化思路

1)当网络内容监测系统(IRCMS)处于串行工作模式时,对其进行网络性能分析,通过实验在单核处理器平台上测试IRCMS系统的数据信息吞吐性能,并根据相关指标分析IRCMS系统存在的性能瓶颈。

2)当IRCMS系统运行于多核处理器平台时,逐个增加单核处理器的核心个数,测试系统吞吐量性能[2]是否能够提高。

3)综合分析处于多核处理器平台中的IRCMS系统存在的性能瓶颈问题,针对具体问题提出多核性能优化策略。

4)对完成多核优化之后IRCMS系统的数据信息吞吐量进行测试[3],与优化之前的吞吐量性能进行对比分析,得到性能提升比例。

5)以IRCMS系统作为多核优化案例,分析应用了创新多核优化策略之后,IRCMS系统吞吐量性能提高的特点和规律。

2 网络内容监测系统性能实验分析

2.1 实验平台和实验流量

1)实验硬件平台

实验测评的硬件平台应用的戴尔R710型号的多核处理器,服务器总共包含8个核心处理器(核心0至核心7),处理器采用的是Core微架构的Nehalem处理器。

2)实验软件平台

实验测评的软件平台选用的是CENT OS 5.3的Linux发行版本,一级Kemel 2.6.18操作系统内核;实验编译环境选用的是GCC 4.1.2编译器;系统测试工具为英特尔性能分析器。

3)实验业务流量

实验业务流量采用的是S市联通宽带网络出口链路的真实业务流量,如表1所示。

表1 实验业务流量情况Tab.1 The business fl ow conditions

2.2 IRCMS系统在单核处理器平台的性能实验

IRCMS系统在单核处理器平台上的吞吐量性能如表2所示。

表2 IRCMS系统单核处理器平台吞吐量性能分析Tab.2 IRCMS single-core processor platform system throughput performance analysis

2.3 IRCMS系统在多核处理器平台的性能实验

为了研究测评网络内容监测系统由单核处理器平台转移到多核处理器平台之后,网络性能是否得到扩展式提升,对IRCMS系统运行于多核处理器平台时的吞吐量进行性能测试[4-6]。

表3 IRCMS系统在多核处理器平台吞吐量性能分析Tab.3 IRCMS multi-core processor platform system throughput performance analysis

表3中,当IRCMS系统在2个核心的多核处理器平台运行时,吞吐量性能是在单核处理器平台运行的128.35%。但是,IRCMS系统性能提升只是通过但村增加实验硬件配置得到的,吞吐量性能提升的幅度只限于30%左右。随着核心处理器的不断增加,IRCMS系统的吞吐性能没有明显幅度提升。由此可以得出:IRCMS系统吞吐量性能提升并不具有良好的扩展性,只能通过优化软件来提高网络内容监测系统的网络性能。

3 网络内容监测系统多核平台性能优化策略

3.1 应用三级流水线并行方式

多核平台性能优化中的流水线并行方式是有效的优化方法,是由处理器执行并行命令引鉴额的,流水线并行方式是将系统的不同部分分为多个执行阶段,它们之间的耦合程度非常低,再将这些部分命令并行执行。本文对IRCMS系统进行多核性能优化实验,采用的就是由其本身特性决定的三级流水线并行方式。在IRCMS系统中,功能线程分为F1、F2和F3 3种,当运行于单核处理器平台时仍然保持串行工作模式,因此根据主体功能线程的本身特点,分为多个不同的流水线结构单元,从而形成三级流水线并行的方式,再将3个不同的单元分别置于多核处理器平台的核心处理器中,以便能够同时得到数据信息资源进行计算。应用三级流水线并行方法进行多核优化后,能够有效保证每个流水线的单元完成的是真正的并行处理[7]。

3.2 计算流水线单元之间的资源配置比例

1)流水线单元之间硬件资源配置比例

本文多核优化性能实验中采用的多核平台共包含8个核心处理器,只有核心0的作用限于数据流量的输入,其他的7个核心处理器都用作于IRCMS系统的多核性能优化处理。流水线单元之间硬件资源配置比例,是要根据单元之间的功能的重要性,以及计算的具体需要,将不同的核心分配于不同的流水线阶段中,使得并行处理策略能够更加有针对性。

2)流水线单元之间线程数量的匹配

当完成分配计算核心之后,需要对流水线单元线程数量进行比例配置,由于流水线单元线程的基于核心运行和执行系统任务的最小单位,因此如果需要调节软件系统在每个阶段处理数据信息的速度,或者对不同模块运行造成的开销进行调节,可以通过增加和减少流水线单元线程数量来完成。而且,在对某个流水线单元的线程数量进行配置时,通常情况下要比投入的计算核心数量大,或者与投入的计算核心数量相等,由此才能够真正保证计算资源的充分利用。

3.3 应用结合Linux调整的固定调度方式

固定调度指的是在充分利用核心处理器的亲和性前提下,将单元线程与特定计算核心通过关联使其运行于此计算核心之中,不会随意发生跳转。本文IRCMS系统的多核平台性能优化采用结合Linux调度的固定调度方式,将IRCMS系统中的部分线程进行固定,另一部分线程由Linux将两部分结合共同完成调度任务。应用结合Linux调度的固定调度方式与传统的固定调度方式相比,灵活性明显提高,但是需要基于流水线单元资源配比之上才能应用[8]。

3.4 对队列结构和衔接方式进行优化

1)对队列结构进行优化

对于某个队列来说,当这个队列的共享线程数量过多,酒会引起队列之间的同步竞争,甚至出现严重的串行化情况。因此,如果要降低由于共享造成队列之间竞争的程度,需要最大限度的将队列局部化,对共享资源进行分解,以此达到减少队列的线程数量。

2)对衔接方式进行优化

衔接方式指的是线程和队列之间互相进行访问。通过对衔接方式进行优化,能够合理分配进行系统工作,具体优化步骤如下:

图1 IRCMS系统多核优化队列结构图Fig.1 Multi-core IRCMS system optimization queue structure

如图1所示,在第Ⅰ单元中,F1是线程是与Ⅰ-Ⅱ队列相互连接的,同时应用了报文连接分发的方式。网络源地址、网络目的地址、网络源端口、网络目的端口和网络协议的报文使用的是同一个连接。F1线程将此报文的连接传送到Ⅰ-Ⅱ相同的队列中,由此,F2线程可以在第Ⅱ单元中对同一个连接的报文内容信息进行扫描和审查,得到的匹配结果具有较强的相关性,使得系统管理员能够尽早发现问题所在。

在第Ⅱ单元中,F2线程与Ⅰ-Ⅱ队列、F2线程与Ⅱ-Ⅲ队列之间采用的是相同的一对一处理固定衔接方式。

在第Ⅲ单元中,F3线程与Ⅱ-Ⅲ队列之间的衔接应用的是轮询访问的衔接方式,F3线程对每一个匹配结果的缓冲队列进行轮询访问,并将其结果存储于数据库中[9]。

通过对队列结构和衔接方式进行优化综合分析后,得到IRCMS系统的多核优化结构图,其队列数量能够根据投入的计算核心数量,以及流水线单元之间的现场配置比例关系进行灵活变化,从而真正降低了线程数量过多而造成的队列竞争程度。

4 网络内容监测系统多核平台性能优化效果

在IRCMS系统应用了上一章节提出的多核平台性能优化策略进行多核优化之后,称之为AIRCMS系统。

表4 IRCMS系统在多核处理器平台吞吐量性能分析Tab.4 IRCMS multi-core processor platform system throughput performance analysis

当实验投入了3个核心处理器时,AIRCMS系统的吞吐量性能随着核心数量的增加而明显大幅度提高。当投入了7个核心处理器时,AIRCMS系统的吞吐量性能能够达到416.34 Mbps,与投入单个核心处理器的吞吐量性能相比较而言,吞吐量性能提高了436.10 %,图2给出了AIRCMS系统在采用了多核优化策略之后,与未采用多核优化策略的系统吞吐量性能变化情况[10]。

图2 多核优化策略应用前后系统吞吐量性能对比图Fig.2 Multi-core system throughput performance comparison before and after optimization strategy application

文中提出的多核优化策略需要投入的计算核心是3个。由此在图2中,采用多核优化策略进行优化之后的AIRCMS系统的性能折线图并没有计算核心为2时的吞吐量性能点。对于没有采用多核优化策略的IRCMS系统来说,为了能够与AIRCMS系统性能提升的扩展性进行对比,因此记录了核心2到核心7的吞吐量性能数据信息。

由图2可以看出,IRCMS系统的吞吐量性能应用了多核优化策略之后有了明显提高,能够随着投入计算核心的数量增加而持续提高。当没有应用多核优化策略时,IRCMS系统的吞吐量性能不能够随着计算核心的数量增加而明显提高。因此,如果需要网络内容监测系统在充分利用硬件资源的前提下,网络性能能够有显著提高,必须有针对性将多核优化策略应用于软件系统中[11]。

5 网络内容监测系统多核优化加速比分析

1)系统理论加速比

指标多核优化加速比记作Sr,指的是综合考虑了并行执行开销之后的系统理论加速比,而系统理论加速比是多核优化的基础。其中:

2)多核优化加速比公式

在系统进行并行优化的过程中,会引入包括原子操作、同步锁操作等不可避免的新开销,这些新的开销都会对系统理论加速比造成一定影响,而阿姆达尔法则提出的优化理想效果是几乎不存在的。由于系统并行优化引入新的开销问题,本文在阿姆达尔法则的基础之上提出了新的多核优化加速比的评价指标,并给出了其计算方法。

多核优化加速比的推导过程如下:

其中,Tparallel为计算时间,f 为串行比例, n为投入到系统运行计算的核心数量,fr为并行执行开销与并行执行计算时间之比。

表5 AIRCMS系统多核优化加速比Tab.5 Multi-core AIRCMS system optimization speedup

根据多核优化加速比的计算公式,结合表5得出了AIRCMS系统的多核优化加速比。

将AIRCMS系统的多核优化加速指标与实际吞吐量性能提升比例进行对比,如图3所示。

图3 AIRCMS系统多核优化加速比指标与实际吞吐量性能提升比例对比Fig.3 AIRCMS multi-core optimization speed ratio system and the actual throughput performance ratio

对AIRCMS系统串行开销比例f,以及并行执行产生的新的开销比例fr进行测量计算,能够得到AIRCMS系统的多核优化加速比指标值数。图3中,多核优化加速比计算的吞吐量提升比例与系统吞吐量提升比例基本相同,但是在折线图的后半部分出现了明显差异,当计算核心的数量达到6和7时,系统吞吐量性能的提升已经开始落后于多核优化加速比例的提升。这是由于当计算核心的数量达到6和7时,IRCMS系统中有两路F1线程同时运行于流水线第Ⅰ单元部分,从而降低了系统吞吐量性能的提升比例,因此与多核优化加速比计算的吞吐量性能之间存在一定距离。总之,当应用本文提出的多核优化加速策略之后,吞吐量性能的提升幅度与多核优化加速比计算过后得到的理论吞吐量性能提升幅度基本相同。

6 结 论

由于网络内容监测系统存在着严重的网络性能瓶颈,尤其是当网络内容监测系统需要完成关键字匹配工作时,其开销能够占据到系统总体开销的一半之多。本文将网络内容监测与多核处理器结合之后,对网络内容监测系统在多核处理器平台上的性能优化进行深入研究。根据IRCMS系统的实际情况提出了一套多核平台性能优化策略,测试并对比分析了AIRCMS系统的吞吐量性能,相比于未应用多核优化策略的系统,性能有明显提升。

文中提出的多核平台性能优化策略能够使网络内容监测系统将集中于某一点的制约吞吐量性能的因素平均分配于多个资源中,从根本上提升了网络内容监测系统的整体性能,具有良好的现实意义和应用前景。

[1] 赵林海, 李晓风, 谭海波. 基于CACTI的分布式ORACLE监控系统的设计与实现[J]. 计算机系统应用, 2010,19(9):134-137.

ZHAO Lin-hai, LI Xiao-feng, TAN Hai-bo. Design and implementation of distributed oracle monitor system based on CACTI[J]. Computer Systems & Applications, 2010, 19(9):134-137.

[2] 陈晓霞, 任勇毛, 李俊,等. 网络测量与分析研究综述[J].计算机系统应用, 2010, 19(7):244-249.

CHEN Xiao-xia, REN Yong-mao, LI Jun, et al. A survey on network measurement and analysis[J]. Computer Systems &Applications, 2010, 19(7):244-249.

[3] 宋焱淼, 皇安伟, 穆源,等. 基于OWAMP的网络性能测量技术[J].计算机工程, 2009, 35(14):138-141.

SONG Yan-miao, HUANG An-wei, MU Yuan, et al. Network performance measurement technique based on OWAMP[J].Computer Engineering, 2009, 35(14):138-141.

[4] 陈松, 王珊, 周明天. 分层的互联网综合测量管理系统的研究[J]. 计算机工程与应用, 2009, 45(14):7-9.

CHEN Song, WANG Shan, ZHOU Ming-tian. Research on layered internet synthetic measurement management system[J].Computer Engineering and Applications, 2009, 45(14):7-9.

[5] 王瑞刚.多用途以太网分路器的设计与实现[J].电视技术,2011, 35(5):74-76.

WANG Rui-Gang. Implementation and design of ethernet divider for multi-application[J]. Video Engineering, 2011,35(5):74-76.

[6] 张潇丹, 李俊. 一种基于云服务模式的网络测量与分析架构[J]. 计算机应用研究, 2012, 29(2):725-729.

ZHANG XIAO-dan, LI Jun. Network measurement and analysis architecture of cloud service[J]. Application Research of Computers, 2012, 29(2):725-729.

[7] 程帆, 王晓明. P2P网络中基于分组的成员管理方案[J].计算机工程, 2012, 38(1):256-260.

CHEN Fan, WANG Xiao-ming. Membership management scheme based on grouping in P2P Network[J]. Computer Engineering, 2012, 38(1):256-260.

[8] Tiemey B, Boote J, Boyd E, et al. Instantiating a global network measurement framework[J]. LBNL Technical Report, 2009(8):105-117.

[9] Zurawski J, Boote J, Boyd E, et al. Hierarchically federated registration and lookup within the perfsonar framework[J]. IEEE international symposium on integrated network management,2007, 22(9):93-112.

[10] Guido R, Hiertz D D, Zang Y P, et al. The IEEE 802.11 universe[C]// IEEE Communications Magazine. 2010:54-68.

[11] Xing B, Seada K. An experimental study on Wi-Fi Ad-Hoc mode for mobile device-to-device video delivery[C]//IEEE INFOCOM Workshops, 2009:66-88.

Optimization strategy based on multicore optimization of network content monitoring system

LI Yan-guang
(College of Mathematics and Computer Application, Shangluo University,Shangluo 726000, China)

Bad information in the network is usually by e-mail, Web browsing, forum posting and other forms of spread compression for packet data network content monitoring system exists, the problem of decoding the transmission and keyword matching performance, the paper proposes a network contentthe monitoring system of the multi-core platform performance optimization strategy, and apply it to the test system. The experiments shows that when the number of core processor computing core increased to 7, the completion of the multi-core optimized web content monitoring system data throughput can be achieved 436.1% before optimization, effectively improves the performance of the system.

network content monitoring system; multicore optimization; throughput; processor

TP302

A

1674-6236(2014)14-0021-04

2013-11-06 稿件编号:201311053

陕西省教育厅科研专项(2013jk1160);商洛学院基金项目(09sky007);商洛学院服务地方专项(12sky-fwdf013)

李彦广(1978—),男,陕西镇安人,讲师。研究方向:网络数据库。

猜你喜欢

线程队列吞吐量
基于C#线程实验探究
队列里的小秘密
基于多队列切换的SDN拥塞控制*
基于国产化环境的线程池模型研究与实现
在队列里
丰田加速驶入自动驾驶队列
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
浅谈linux多线程协作