[Oisf-users] Suricata 2.0 GPU optimization

Michal Šutta michal.sutta at gmail.com
Mon Mar 31 20:40:05 UTC 2014


Hello
I just made a few tests
GPU Geforce 660Ti
CPU AMD FX 8350
16 GB RAM
ER rules  - all enabled
PCAP file from DARPA


time for only CPU with suricata.yaml parrametrs: max-pending-packets:
65000 detect-thread-ratio
0.5; runmode: autofp ; mpm-algo: ac
 was 64,628 seconds

times for GPU CPU with suricata.yaml parrametrs: max-pending-packets:
65000 detect-thread-ratio
0.5; runmode: autofp ; mpm-algo: ac-cuda

i wrote a small bash script to automate the tests and i got this results


                           min : sec: ..
batching-timeout 100 gpu-transfer-size 30mb time real 1:6.958
batching-timeout 100 gpu-transfer-size 55mb time real 1:7.136
batching-timeout 100 gpu-transfer-size 80mb time real 1:7.224
batching-timeout 100 gpu-transfer-size 105mb time real 1:7.325

batching-timeout 200 gpu-transfer-size 5mb   time real 1:6.621
batching-timeout 200 gpu-transfer-size 30mb time real 1:6.698
batching-timeout 200 gpu-transfer-size 55mb time real 1:6.794
batching-timeout 200 gpu-transfer-size 80mb time real 1:6.594
batching-timeout 200 gpu-transfer-size 105mb time real 1:7.408

batching-timeout 300 gpu-transfer-size 5mb time real 1:6.282
batching-timeout 300 gpu-transfer-size 30mb time real 1:6.958
batching-timeout 300 gpu-transfer-size 55mb time real 1:7.359
batching-timeout 300 gpu-transfer-size 80mb time real 1:6.311
batching-timeout 300 gpu-transfer-size 105mb time real 1:8.131

batching-timeout 400 gpu-transfer-size 5mb time real 1:6.614
batching-timeout 400 gpu-transfer-size 30mb time real 1:6.283
batching-timeout 400 gpu-transfer-size 55mb time real 1:6.729
batching-timeout 400 gpu-transfer-size 80mb time real 1:6.835
batching-timeout 400 gpu-transfer-size 105mb time real 1:7.704

batching-timeout 500 gpu-transfer-size 5mb time real 1:5.994
batching-timeout 500 gpu-transfer-size 30mb time real 1:7.128
batching-timeout 500 gpu-transfer-size 55mb time real 1:7.478
batching-timeout 500 gpu-transfer-size 80mb time real 1:6.980
batching-timeout 500 gpu-transfer-size 105mb time real 1:7.507

batching-timeout 600 gpu-transfer-size 5mb time real 1:7.201
batching-timeout 600 gpu-transfer-size 30mb time real 1:5.562
batching-timeout 600 gpu-transfer-size 55mb time real 1:6.823
batching-timeout 600 gpu-transfer-size 80mb time real 1:7.526
batching-timeout 600 gpu-transfer-size 105mb time real 1:6.902

batching-timeout 700 gpu-transfer-size 5mb time real 1:6.461
batching-timeout 700 gpu-transfer-size 30mb time real 1:6.850
batching-timeout 700 gpu-transfer-size 55mb time real 1:6.895
batching-timeout 700 gpu-transfer-size 80mb time real 1:5.906
batching-timeout 700 gpu-transfer-size 105mb time real 1:6.126

batching-timeout 800 gpu-transfer-size 5mb time real 1:6.189
batching-timeout 800 gpu-transfer-size 30mb time real 1:6.947
batching-timeout 800 gpu-transfer-size 55mb time real 1:6.519
batching-timeout 800 gpu-transfer-size 80mb time real 1:6.570
batching-timeout 800 gpu-transfer-size 105mb time real 1:7.500

batching-timeout 900 gpu-transfer-size 5mb time real 1:7.146
batching-timeout 900 gpu-transfer-size 30mb time real 1:5.657
batching-timeout 900 gpu-transfer-size 55mb time real 1:6.021
batching-timeout 900 gpu-transfer-size 80mb time real 1:6.881
batching-timeout 900 gpu-transfer-size 105mb time real 1:6.887

batching-timeout 1000 gpu-transfer-size 5mb time real 1:6.700
batching-timeout 1000 gpu-transfer-size 30mb time real 1:5.665
batching-timeout 1000 gpu-transfer-size 55mb time real 1:6.047
batching-timeout 1000 gpu-transfer-size 80mb time real 1:6.556
batching-timeout 1000 gpu-transfer-size 105mb time real 1:6.974

batching-timeout 1100 gpu-transfer-size 5mb time real 1:5.746
batching-timeout 1100 gpu-transfer-size 30mb time real 1:6.044
batching-timeout 1100 gpu-transfer-size 55mb time real 1:6.147
batching-timeout 1100 gpu-transfer-size 80mb time real 1:6.405
batching-timeout 1100 gpu-transfer-size 105mb time real 1:7.245

batching-timeout 5100 gpu-transfer-size 5mb time real 1:5.998
batching-timeout 5100 gpu-transfer-size 30mb time real 1:5.678
batching-timeout 5100 gpu-transfer-size 55mb time real 1:5.766
batching-timeout 5100 gpu-transfer-size 80mb time real 1:6.845
batching-timeout 5100 gpu-transfer-size 105mb time real 1:6.805

batching-timeout 9100 gpu-transfer-size 5mb time real 1:5.628
batching-timeout 9100 gpu-transfer-size 30mb time real 1:6.326
batching-timeout 9100 gpu-transfer-size 55mb time real 1:6.037
batching-timeout 9100 gpu-transfer-size 80mb time real 1:7.108
batching-timeout 9100 gpu-transfer-size 105mb time real 1:7.274

batching-timeout 13100 gpu-transfer-size 5mb time real 1:5.955
batching-timeout 13100 gpu-transfer-size 30mb time real 1:6.774
batching-timeout 13100 gpu-transfer-size 55mb time real 1:6.876
batching-timeout 13100 gpu-transfer-size 80mb time real 1:7.795
batching-timeout 13100 gpu-transfer-size 105mb time real 1:6.845

batching-timeout 17100 gpu-transfer-size 5mb time real 1:5.910
batching-timeout 17100 gpu-transfer-size 30mb time real 1:6.830
batching-timeout 17100 gpu-transfer-size 55mb time real 1:5.777
batching-timeout 17100 gpu-transfer-size 80mb time real 1:7.012
batching-timeout 17100 gpu-transfer-size 105mb time real 1:6.428

batching-timeout 21100 gpu-transfer-size 5mb time real 1:5.823
batching-timeout 21100 gpu-transfer-size 30mb time real 1:7.325
batching-timeout 21100 gpu-transfer-size 55mb time real 1:6.965
batching-timeout 21100 gpu-transfer-size 80mb time real 1:8.146
batching-timeout 21100 gpu-transfer-size 105mb time real 1:6.249

batching-timeout 31100 gpu-transfer-size 5mb time real 1:6.099
batching-timeout 31100 gpu-transfer-size 30mb time real 1:6.976
batching-timeout 31100 gpu-transfer-size 55mb time real 1:6.128
batching-timeout 31100 gpu-transfer-size 80mb time real 1:7.824
batching-timeout 31100 gpu-transfer-size 105mb time real 1:7.231

batching-timeout 41100 gpu-transfer-size 5mb time real 1:7.397
batching-timeout 41100 gpu-transfer-size 30mb time real 1:7.084
batching-timeout 41100 gpu-transfer-size 55mb time real 1:6.388
batching-timeout 41100 gpu-transfer-size 80mb time real 1:6.981
batching-timeout 41100 gpu-transfer-size 105mb time real 1:7.245

batching-timeout 51100 gpu-transfer-size 5mb time real 1:6.178
batching-timeout 51100 gpu-transfer-size 30mb time real 1:6.631
batching-timeout 51100 gpu-transfer-size 55mb time real 1:7.083
batching-timeout 51100 gpu-transfer-size 80mb time real 1:6.318
batching-timeout 51100 gpu-transfer-size 105mb time real 1:6.814

batching-timeout 61100 gpu-transfer-size 5mb time real 1:7.576
batching-timeout 61100 gpu-transfer-size 30mb time real 1:5.995
batching-timeout 61100 gpu-transfer-size 55mb time real 1:6.712
batching-timeout 61100 gpu-transfer-size 80mb time real 1:6.590
batching-timeout 61100 gpu-transfer-size 105mb time real 1:6.972
ching-timeout 71100 gpu-transfer-size 5mb time real 1:6.567
batching-timeout 71100 gpu-transfer-size 30mb time real 1:7.082
batching-timeout 71100 gpu-transfer-size 55mb time real 1:8.398
batching-timeout 71100 gpu-transfer-size 80mb time real 1:7.601
batching-timeout 71100 gpu-transfer-size 105mb time real 1:6.938

batching-timeout 81100 gpu-transfer-size 5mb time real 1:6.641
batching-timeout 81100 gpu-transfer-size 30mb time real 1:7.445
batching-timeout 81100 gpu-transfer-size 55mb time real 1:7.161
batching-timeout 81100 gpu-transfer-size 80mb time real 1:7.436
batching-timeout 81100 gpu-transfer-size 105mb time real 1:6.979
batching-timeout 91100 gpu-transfer-size 5mb time real 1:7.032
batching-timeout 91100 gpu-transfer-size 30mb time real 1:7.140
batching-timeout 91100 gpu-transfer-size 55mb time real 1:7.575
batching-timeout 91100 gpu-transfer-size 80mb time real 1:7.744
batching-timeout 91100 gpu-transfer-size 105mb time real 1:6.904

probably i didn't use the right pcap file for seeing the difference between
CPU and GPGPU.
Can you recommend some pcap files for testing?

2014-03-26 3:03 GMT+01:00 Anoop Saldanha <anoopsaldanha at gmail.com>:

> On Wed, Mar 26, 2014 at 3:09 AM, Michal Šutta <michal.sutta at gmail.com>
> wrote:
> > Hello,
> >
> > can you give me some tips on how to optimize performance of Suricata with
> > GPU support.
> > I use Geforce 660Ti and it is slover than AMD FX 8350 when processing
> PCAP
> > files.
> > I tried to optimize the conf of CUDA in suricta.yaml but without much
> > effect.
> >
>
> http://www.poona.me/2013/06/suricata-cuda-engine-re-designed.html
>
> Increase the max pending packets to the highest value possible, play
> with batching timeout value.
>
> Please do let us know the numbers see(both the cpu and gpu).
>
> --
> -------------------------------
> Anoop Saldanha
> http://www.poona.me
> -------------------------------
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openinfosecfoundation.org/pipermail/oisf-users/attachments/20140331/969a59b8/attachment-0002.html>


More information about the Oisf-users mailing list