[Click] Multi-threaded Traffic Generation

Roman Chertov rchertov at cs.ucsb.edu
Thu Feb 3 23:10:36 EST 2011


Joonwoo,

It is also unclear how the MQToDevice works, and if it does schedule a 
pull on every run_task.

Roman

On 02/03/2011 07:47 PM, Joonwoo Park wrote:
> Hi Ashok,
>
> Hmm..   It sounds to me the version you're using is doing something
> differently.  Only different between yours and Roman's is click
> version.  Isn't it?
>
> By a chance, do you never see two threads are hogging?
> We had issues on linuxmodule multithreading before, the symptom was
> after starting multiple threads if they race very competitively, most
> of them never be scheduled again in few seconds.
> However, it seems to me 1.7.0rc1 has fixes for that issue (i.e.
> 7312a95decddc7c4f5043d29d622dc9efb99a547)
>
> Can you also check if all threads are actually being scheduled?
>
> Regards,
> Joonwoo
>
> On Thu, Feb 3, 2011 at 6:20 PM, Ashok Anand<ashok at cs.wisc.edu>  wrote:
>> No, we did not see two threads hogging with Roman's config also. So it might
>> be some compilation configuration issue.
>>
>> We have some code dependency to the old version, so we were trying to work
>> with this version only.
>>
>> On Thu, Feb 3, 2011 at 6:34 PM, Joonwoo Park<joonwpark81 at gmail.com>  wrote:
>>>
>>> Do you see hogging two threads with Roman's config (without MQToDevice)?
>>>
>>> p.s If you don't have special reason to stick with old version, I'd
>>> like to suggest latest version from git tree.
>>>
>>> Joonwoo
>>>
>>> On Thu, Feb 3, 2011 at 4:18 PM, Ashok Anand<ashok.anand at gmail.com>  wrote:
>>>> We are using the following version
>>>>
>>>> wget http://read.cs.ucla.edu/click/click-1.7.0rc1.tar.gz
>>>> with patch
>>>> patch -p1 -b<  /usr/src/click/etc/linux-2.6.24.7-patch
>>>>
>>>> and running it in kernel mode
>>>>
>>>> We used, ./configure --enable-linuxmodule --enable-warp9
>>>> --enable-multithread=8 --disable-userlevel
>>>> and command line for running click was
>>>> click-install -t 8 gen2.conf
>>>>
>>>>
>>>> On Tue, Feb 1, 2011 at 7:21 PM, Roman Chertov<rchertov at cs.ucsb.edu>
>>>> wrote:
>>>>
>>>>> On Tue, 1 Feb 2011 19:14:15 -0600 Ashok Anand<ashok.anand at gmail.com>
>>>>> wrote
>>>>>
>>>>>> yeah, it uses multiple tx queues for a single device.
>>>>>>
>>>>>> Strangely, we did not see two kclick hogging up with the following
>>>>>> click
>>>>>> conf as well..
>>>>>>
>>>>>> What was the click compilation options you used, apart from what we
>>>>>> had..
>>>>>
>>>>> $ ./configure --enable-ip6 --enable-analysis --enable-user-multithread
>>>>> --enable-task-heap --enable-experimental --enable-multithread=4
>>>>> --enable-fixincludes
>>>>>
>>>>> I pulled the source last week.
>>>>>
>>>>> Roman
>>>>>
>>>>>>
>>>>>> ./configure --enable-linuxmodule --enable-warp9
>>>>>>>>> --enable-multithread=8 --disable-userlevel
>>>>>>>>> and command line for running click was
>>>>>>
>>>>>> On Tue, Feb 1, 2011 at 6:50 PM, Roman Chertov<rchertov at cs.ucsb.edu>
>>>>> wrote:
>>>>>>
>>>>>>> I am not sure what your MQToDevice element does (i assume it uses
>>>>> multiple
>>>>>>> tx
>>>>>>> queues for a single device).
>>>>>>>
>>>>>>> However, with the script below
>>>>>>> pd0 :: InfiniteSource(DATA \<00 00 c0 ae 67 ef  00 00 00 00 00 00
>>>>>>>   08
>>>>> 00
>>>>>>>        45 00 00 28  00 00 00 00  40 11 77 c3  01 00 00 01
>>>>>>>        02 00 00 02  13 69 13 69  00 14 d6 41  55 44 50 20
>>>>>>>        70 61 63 6b  65 74 21 0a  04 00 00 00  01 00 00 00
>>>>>>>        01 00 00 00  00 00 00 00  00 80 04 08  00 80 04 08
>>>>>>>        53 53 00 00  53 53 00 00  05 00 00 00  00 10 00 00
>>>>>>>        01 00 00 00  54 53 00 00  54 e3 04 08  54 e3 04 08
>>>>>>>        d8 01 00 00>, LIMIT -1, STOP true)
>>>>>>>     ->  q1 :: CPUQueue(1000)
>>>>>>>      ->  uq0 :: Unqueue2
>>>>>>>     ->  Discard;
>>>>>>>
>>>>>>> StaticThreadSched(pd0 0, uq0 0);
>>>>>>>
>>>>>>> pd1 :: RandomSource(1400)
>>>>>>>     ->  q2 :: CPUQueue(1000)
>>>>>>>      ->  uq1 :: Unqueue2
>>>>>>>     ->  Discard;
>>>>>>>
>>>>>>> When I run top, I can see to kclick hogging up two CPUs.
>>>>>>>
>>>>>>> Roman
>>>>>>>
>>>>>>>
>>>>>>> On Tue, 1 Feb 2011 18:38:19 -0600 "Nilay"<nilay at cs.wisc.edu>  wrote
>>>>>>>
>>>>>>>> gen2.conf looks like
>>>>>>>>
>>>>>>>> pd0 :: InfiniteSource(DATA \<00 00 c0 ae 67 ef  00 00 00 00 00 00
>>>>>>>>   08
>>>>> 00
>>>>>>>> 45 00 00 28  00 00 00 00  40 11 77 c3  01 00 00 01
>>>>>>>> 02 00 00 02  13 69 13 69  00 14 d6 41  55 44 50 20
>>>>>>>> 70 61 63 6b  65 74 21 0a  04 00 00 00  01 00 00 00
>>>>>>>> 01 00 00 00  00 00 00 00  00 80 04 08  00 80 04 08
>>>>>>>> 53 53 00 00  53 53 00 00  05 00 00 00  00 10 00 00
>>>>>>>> 01 00 00 00  54 53 00 00  54 e3 04 08  54 e3 04 08
>>>>>>>> d8 01 00 00>, LIMIT -1, STOP true) ->
>>>>>>>> q1 :: CPUQueue(1000) ->
>>>>>>>> td0 :: MQToDevice(eth1, QUEUE 0, BURST 32);
>>>>>>>> StaticThreadSched(pd0 0, td0 0);
>>>>>>>>
>>>>>>>> pd1 :: RandomSource(1400) ->
>>>>>>>> q2 :: CPUQueue(1000) ->
>>>>>>>> td1 :: MQToDevice(eth1, QUEUE 1, BURST 32);
>>>>>>>> StaticThreadSched(pd1 1, td1 1);
>>>>>>>>
>>>>>>>> ~
>>>>>>>>
>>>>>>>> On Tue, February 1, 2011 6:34 pm, Roman Chertov wrote:
>>>>>>>>> On Tue, 1 Feb 2011 18:26:12 -0600 Ashok Anand<
>>>>> ashok.anand at gmail.com>
>>>>>>>>> wrote
>>>>>>>>>
>>>>>>>>>> We used, ./configure --enable-linuxmodule --enable-warp9
>>>>>>>>>> --enable-multithread=8 --disable-userlevel
>>>>>>>>>> and command line for running click was
>>>>>>>>>> click-install -t 8 gen2.conf
>>>>>>>>>
>>>>>>>>> And how does gen2.conf look like?
>>>>>>>>>
>>>>>>>>> Roman
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Jan 20, 2011 at 7:54 PM, Cliff Frey<cliff at meraki.com>
>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> what configuration params did you build click with, and what
>>>>> command
>>>>>>>>>> line
>>>>>>>>>>> are you running click with?  (both involve flags to enable
>>>>>>>>>> multithreading)
>>>>>>>>>>>
>>>>>>>>>>> Cliff
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Jan 20, 2011 at 5:34 PM, Nilay Vaish
>>>>>>>>>>> <nilay at cs.wisc.edu
>>>>>>
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I am trying to generate traffic using Click in its
>>>>> multi-threaded
>>>>>>>>>> mode.
>>>>>>>>>>> The
>>>>>>>>>>>> configuration file looks like following :
>>>>>>>>>>>>
>>>>>>>>>>>> pd0 :: InfiniteSource(DATA \<00 00 c0 ae 67 ef  00 00 00
>>>>>>>>>>>> 00 00
>>>>> 00
>>>>>>>>>> 08 00
>>>>>>>>>>>> 45 00 00 28  00 00 00 00  40 11 77 c3  01 00 00 01
>>>>>>>>>>>> 02 00 00 02  13 69 13 69  00 14 d6 41  55 44 50 20
>>>>>>>>>>>> 70 61 63 6b  65 74 21 0a  04 00 00 00  01 00 00 00
>>>>>>>>>>>> 01 00 00 00  00 00 00 00  00 80 04 08  00 80 04 08
>>>>>>>>>>>> 53 53 00 00  53 53 00 00  05 00 00 00  00 10 00 00
>>>>>>>>>>>> 01 00 00 00  54 53 00 00  54 e3 04 08  54 e3 04 08
>>>>>>>>>>>> d8 01 00 00>, LIMIT 600000, STOP true) ->
>>>>>>>>>>>> td0 :: MQToDevice(eth1, QUEUE 0, BURST 32);
>>>>>>>>>>>> StaticThreadSched(pd0 0, td0 0);
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> It actually eight such descriptions. The router starts
>>>>>>>>>>>> with
>>>>> this
>>>>>>>>>>>> configuraion,
>>>>>>>>>>>> but I see only when active thread when I use the 'top'
>>>>> utility.
>>>>>>> Any
>>>>>>>>>> idea
>>>>>>>>>>> as
>>>>>>>>>>>> to
>>>>>>>>>>>> what could be the reason for this?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Nilay
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> click mailing list
>>>>>>>>>>>> click at amsterdam.lcs.mit.edu
>>>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> click mailing list
>>>>>>>>>>> click at amsterdam.lcs.mit.edu
>>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> click mailing list
>>>>>>>>>> click at amsterdam.lcs.mit.edu
>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> click mailing list
>>>>>>>>> click at amsterdam.lcs.mit.edu
>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Nilay
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> click mailing list
>>>> click at amsterdam.lcs.mit.edu
>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>
>>
>>
>



More information about the click mailing list