[Click] Multi-threaded Traffic Generation

Joonwoo Park joonwpark81 at gmail.com
Thu Feb 3 23:15:03 EST 2011


Roman,

It's true.  But since Ashok said that your config which doesn't have
MQToDevice() doesn't work either.
So I'm under the impression that his click version is doing something wrong.

p.s. I guess MQToDevice is from RouteBricks project
(http://routebricks.org/code.html)

Joonwoo

On Thu, Feb 3, 2011 at 8:10 PM, Roman Chertov <rchertov at cs.ucsb.edu> wrote:
> 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