Re: Click running on multi-core processor

Bingyang LIU <[email protected]>
Newsgroups gmane.network.routing.click
Message-ID <CAPLDop+EGNHq=UJGz98TimXE1mORRLwxTOEx_cOEouhbuuA+ag@mail.gmail.com>
Hi Beyers,

Thank you very much for your help. I tried StaticThreadSched, and achieve
my goal.

btw, I couldn't find e1000 driver for linux 2.6.31 and higher. So how can I
use Click Polling patch for those kernels?

Thanks very much
best
Bingyang

On Thu, Dec 1, 2011 at 7:27 PM, Beyers Cronje <[email protected]> wrote:

> Hi,
>
> You need to use StaticThreadSched
> http://read.cs.ucla.edu/click/elements/staticthreadsched element to tell
> Click how to allocate tasks to threads. Without this element Click will use
> only one thread.
>
> A simple example on how to use is:
>
> fd0::FromDevice(eth0) -> Queue -> td1::ToDevice(eth1);
> fd1::FromDevice(eth1) -> Queue -> td0::ToDevice(eth0);
>
> StaticThreadSched(fd0 0, td1 0, fd1 1, tf0 1);
>
> This config schedules fd0 and td1 on thread 0 and the other two elements on
> thread 1. It is highly recommended to read the following publication
> http://pdos.csail.mit.edu/papers/click:usenix01/usenix01.pdf which delves
> into much more details around multithreading and Click and how to best use
> it.
>
> Also, highly recommended to upgrade to latest version of Click, there have
> been many multithreading stability and performance changes implemented
> inside Click since v1.8
>
> Also note not all elements are multithread safe.
>
> Beyers
>
>
> On Fri, Dec 2, 2011 at 1:08 AM, Bingyang LIU <[email protected]> wrote:
>
> > Hi all,
> >
> > I'm using click for performance evaluation of IPSec. But it seems that
> only
> > one core of the processor is used. I'm wondering how Click can fully use
> > the multi-core for computation to achieve high performance.
> >
> > The detail of my experiment is as follows:
> >
> > * Hardware: CPU Inter Xeon X3210 (quad core at 2.13Ghz), 4GB RAM. (a
> server
> > on deterlab)
> > * Software: Ubuntu8.04 + Click1.8, with PollDevice enabled.
> > * Configuration: ./configure --with-linux=/usr/src/linux-2.6.24.7
> > --enable-ipsec --enable-warp9 --enable-multithread=4 (I also tried 16,
> but
> > the outcome is similar with 4)
> > * mode: kernel
> >
> > The outcome:
> > * The click router has the loss rate of about 0.5% when incoming packet
> > rate is only 200000 pps (packet size = 64B). If I remove the ipsec
> modules,
> > the loss rate is about 0.1%.
> > * I checked the CPU usage. Anyway, the click used only one cpu.
> > * If there is no input packet, the cpu usage is as follows, I guess
> > PollDevice consumes the cpu time:
> > Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> >  0.0%st
> > Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> >  0.0%st
> > Cpu2  :  0.0%us, 48.0%sy,  0.0%ni, 25.0%id,  0.0%wa,  0.0%hi, 27.0%si,
> >  0.0%st
> > Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> >  0.0%st
> > * If there is some input packets, the cpu usage is as follows. It seems
> > that the IPSec module only consumes a small portion of the CPU time,
> which
> > causes low performance.
> > Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> >  0.0%st
> > Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> >  0.0%st
> > Cpu2  :  0.0%us, 68.8%sy,  0.0%ni, 25.0%id,  0.0%wa,  0.0%hi,  6.2%si,
> >  0.0%st
> > Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,
> >  0.0%st
> >
> > So what I'm wondering is that, is there any solution to my problem?
> > Or is there any easy way to fully use the CPU resource, or achieve
> > parallelism in a multi-core router? Is the paper "Flexible Control of
> > Parallelism in a Multiprocessor PC Router" the only available solution?
> >
> > thanks!
> > best
> > Bingyang
> > --
> > Bingyang Liu
> > Network Architecture Lab, Network Center,Tsinghua Univ.
> > Beijing, China
> > Home Page: http://netarchlab.tsinghua.edu.cn/~liuby
> > _______________________________________________
> > click mailing list
> > [email protected]
> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> >
> _______________________________________________
> click mailing list
> [email protected]
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>



-- 
Bingyang Liu
Network Architecture Lab, Network Center,Tsinghua Univ.
Beijing, China
Home Page: http://netarchlab.tsinghua.edu.cn/~liuby
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.