[Click] Multi-threaded Traffic Generation

Joonwoo Park joonwpark81 at gmail.com
Thu Feb 3 22:47:25 EST 2011


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