查看: 17324|回复: 114
收起左侧

[技术原创] 分析“用显卡进行杀毒”——通用并行计算,这一次,卡巴似乎走在了前面

  [复制链接]
皇柝
发表于 2010-1-27 00:21:53 | 显示全部楼层 |阅读模式
本帖最后由 皇柝 于 2010-2-7 11:22 编辑

今天看到了卡饭资讯里一篇文章“卡巴斯基实验室运用NVIDIA技术增强安全保护
不禁有感而发,不愧为安全行业的老大哥之一,卡巴果然有超然的远见。

现在的CPU多个核心已然不是什么稀奇的事,双核、三核、四核,甚至即将会出现6核或者8核的处理器,而软件往往就会针对多核进行优化,从而加快运算的效率。
但是,据我所知,现在的软件对CPU多核的优化已经远远落后于CPU本身核心发展的速度,对双核的优化刚刚进化完成,而针对四核进行优化的简直是凤毛麟角。

原因是什么?因为没有一个通用的接口去进行“自动”优化多核心的占用,完全要靠软件本身是否对多核进行优化,而杀软忌讳的其实不仅仅是查杀能力,还有那高昂的资源代价,这就一定程度上增加了开发的复杂程度,延长了软件的工期,这绝对是任何一个软件商所不愿意看到的。

比如百锐的那个纯启发式引擎,对双核的优化几乎为零,在全速扫描的状态下,双核CPU一个满载一个空载。
这是检验软件是否对多核优化良好的一个重要的标准,大家不妨拿自己的杀软出来试一下。

(PS:同时还开有QQ/NOD32/COMODO等)

从另一方面,由于所有的程序都要依赖CPU,这一来,就是一个近乎无解的矛盾;
要查杀能力更强,必须占用CPU,一个极端例子就是TrustPort,多引擎监控,理论上说肯定是引擎越多查杀越强,但是TP似乎走的太过火了,结果自己就成了一个“综合症”,极大的浪费资源。(当然多引擎不见得比单引擎强,还要看引擎本身的强弱)


解决这个矛盾,大致上现在可以有三个方向:
1、优化程序代码,均衡分配处理器占用(传统方案,缺点前述)

2、云计算,将分析任务丢给服务器
云啊云,晕啊晕。厂商们把“云”赋予了一个很高的地位,确实,我觉得它有可行性,没有病毒库,这点很好。但是它也有明显的缺点,显然,它对网速的要求很高,如果发现可疑文件要上传到服务器分析,因此肯定不适合实时监控,其次,由于需要在很短的时间内返回数据,这就对云端服务器有着很高的要求,特别是针对越来越多的用户群的时候,云端有能力进行快速、准确的分析吗?这也是个问题。因此,就目前以及未来比较长的一段时间内看,似乎云计算不太可能代替所有的东西,也只适合扫描。

3、终于说到重点了,用显卡进行并行计算
由于卡饭的优势不是电脑硬件,大家不一定都清楚用显卡进行并行计算的原理,这样,先来简单介绍一下它。如果已经清楚的可以跳过。
==========================
显卡内部的结构有一种特殊的结构——流处理器
流处理器的作用,简而言之就是控制3D物体的几何形状、光亮和阴影以及进行像素的色彩、深度坐标的运算的一个个小的单元

(Nvidia显卡核心架构示意图)
每一个Nvidia的流处理器可以完成一个完整的运算,而ATI要以5个为一组(因此性能要匹敌的话ATI的显卡流处理器单元必须多的多)
以Nvidia显卡为例,中低端的9600GT包含64个流处理器,中端GTS250包含128个,而GTX260拥有216个,最新一代的Fermi核心将达到512个!
我们就简单的把一块显卡理解为一个多核处理器,因此,就算9600GT,也包含了64个核心
(当然每一个核心的效能是决无法与CPU匹敌的,但是不一定有多少CPU敢说能战胜如此多的核心)
如此“多核”仅仅喂饱几款BT游戏显然是一种莫大的浪费,而且,在非游戏状态下,显卡几乎是闲置的
因此,这就为“让显卡模拟多核心CPU工作”成为了可能,比如Nvidia的CUDA架构等

当然,Nvidia是不会被允许“一家独大”的。目前,DirectX11.0已经支持并行计算,但就目前看来,效率还远不如CUDA。
期待DX11.1或者DX12能给我们更多的惊喜。
==========================
目前DX的通用计算平台个人感觉并不够成熟,下面继续以Nvidia的CUDA为例

卡巴与Nvidia的CUDA进行合作,无疑十分具有前瞻性。如果真的能构建好,那对支持CUDA的N卡用户确实就有福了。

第一,充分的释放了CPU,由于非大型3D游戏状态下显卡几乎是闲置的,这时靠显卡进行并行计算,极少占用CPU资源。
第二,由于靠大规模流处理器模拟多核运算,可以进一步加强引擎的强度(如加强启发、引入行为分析等)而不用担心资源占用的大幅增加。
第三,进一步加快扫描的速度,这点显而易见(就像四核跑的比双核快)
第四,更为激动人心的是,程序员可以采用C语言、C++来编写CUDA架构的卡巴,只要把程序打包给显卡,它就会自动给流处理器分配任务,因此在开发难度上,也不会显得太高。

总结:个人十分看好利用显卡对杀毒软件进行加速的方案,不仅仅是利用CUDA,还有DX11、DX11.1、DX12,下一个时代,不一定是云计算,还可能是显卡时代。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 2人气 +2 收起 理由
henmy168 + 1 深奥啊
shxzj + 1 不懂,但支持

查看全部评分

皇柝
 楼主| 发表于 2010-1-27 00:25:17 | 显示全部楼层
沙发备用
billpeiran
发表于 2010-1-27 00:26:02 | 显示全部楼层
支持
qiao7387
发表于 2010-1-27 00:26:39 | 显示全部楼层
基本上没看懂
jason_jiang
发表于 2010-1-27 00:45:44 | 显示全部楼层
估计还得等几年,卡巴才会在个人产品里加CUDA支持
wrq
发表于 2010-1-27 01:37:30 | 显示全部楼层
牛叉------
Lirio
发表于 2010-1-27 01:43:10 | 显示全部楼层
不理解    越来越好吧     病毒也越来越厉害啊
嘁。不稀罕~
发表于 2010-1-27 01:43:14 | 显示全部楼层
凡事有利就有弊,对“杀毒软件”而言,提升了效率,但对机器的影响却扩展到了显卡。
luangcai
发表于 2010-1-27 07:59:04 | 显示全部楼层
顶楼主。
夜梦飞飞
头像被屏蔽
发表于 2010-1-27 08:24:22 | 显示全部楼层
卡吧果然强大啊
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-3-7 10:36 , Processed in 0.113736 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表