[Click] Click SMP performance

Brecht Vermeulen brecht.vermeulen at UGent.be
Fri Nov 21 15:29:04 EST 2003


Hi,

aha, I think this explains more:

yesterday you said:
'When i try to install the same click configuration on Pentium 4 
Uniprocessor 1,5 GHZ'

but now it seems to be a 2.4GHz uniprocessor machine

So, my guess is that for the generator case you cannot take advantage of 
the multiprocessors as it is only one processor which can generate 
packets and send them (maybe in more complex configurations where you 
send packets to two interfaces it could be better or maybe if you take 
more elements which put packets in the Queue of that configuration but 
not sure about that), so the uniprocessor machine is just faster than 
the SMP machine.

In case of the router, this changes, as more interfaces come into play, 
but I guess you did not use the extra lines needed to enable SMP 
configurations to run on multiple processors, e.g.
StaticThreadSched(PollDevice1 1, todevice2 1, PollDevice2 0, todevice1 0);

where you say which element should be sheduled on which CPU.

Have also a look at:
http://www.pdos.lcs.mit.edu/click/doc/ThreadMonitor.n.html
which prints which element is scheduled on which CPU.

There is also a dynamic SMP scheduler (which I cannot remember 
immediately) but I have better results with StaticThreadSched.

Also read the paper about SMP click for these things.
http://www.pdos.lcs.mit.edu/papers/click:usenix01

regards,
Brecht

louati wrote:
> Hi Robert,
> 
> I have installed click SMP (with --enable-multithread) on a multi-processor
> plateform (4 CPU Intel XEON(TM) Processor MP 1.50GHz, 2 G RAM ).
> So, I have really 4 CPU Xeon, and with the Hyper-Threading Technology , i
> can obtain 8 logical processors.
> 
> The Pentium 4 uniprocessor (2,4 GHZ, RAM 2G DDR) is a different machine and
> not the same SMP machine with 3 CPUs.
> 
> 
> I use "Intel PRO/1000 MT Dual Port Server Adapter" gbit cards. They are 64
> bits wide.
> 
> I have installed 2 " Dual Port " gbit cards on each machine (uniprocessor
> and multi-processor). So, each card contains 2 ports Gbit. In the result, I
> obtain 4 cards gbits on each machine.
> 
> The PCI bus of the multi-processor :
> 
>   a.. PCI Bus width : 64 bit
>   b.. PCI Bus Speed : 100 Mhz
> The PCI bus of the uniprocessor :
> 
>   a.. PCI Bus width : 32 bit  =>  So, I have 64 wide card sitting in a 32
> bit slot.
>   b.. PCI Bus Speed : 33 Mhz
> Firstly, i try to use this two machines as a generator source:
> 
> When I run udpgenerator.click on the uniprocessor, I am using click compiled
> for uniprocessor. For the multi-processor I am using click compiled for SMP.
> 
> So, I try to generate 600 000 UDP packets (64 bytes) per second with this
> click configuration :
> 
> // Generated by make-udpgen.pl
> 
> ar :: ARPResponder(157.159.100.30  00:07:E9:1A:B7:CA);
> 
> udph :: UDPIPEncap(157.159.100.30, 1234, 157.159.103.25, 1234, 1);
> 
> ethh :: EtherEncap(0x800, 00:07:E9:1A:B7:CA, 00:07:E9:1A:Ba:dd);
> 
> c0 :: Classifier(12/0806 20/0001, -);
> 
> pd :: PollDevice(eth1);
> 
> td :: ToDevice(eth1);
> 
> out :: Queue(8192) -> td;
> 
> tol :: ToHost;
> 
> pd -> [0]c0;
> 
> c0[0] -> ar -> out;
> 
> c0[1] -> tol;
> 
> rs :: RatedSource(\<00000000111111112222222233333333444444445555>, 600000 ,
> 600000);
> 
> rs  -> udph
> 
>     -> ethh
> 
>      -> AverageCounter
> 
>       -> out;
> 
> // ticket for RatedSoure must be smaller so it won't overflow the queue
> 
> ScheduleInfo(td 1, pd .1, rs .1);
> 
> 
> 
> The maximum throughput it can generate by the multiprocessor is 230 000 p/s
> and i obtain 450 000 p/s for the uniprocessor.
> 
> 
> 
> Now, when i try to use this two machines as a router:
> 
> The Maximum loss-free forwarding rates (MLFFR) of the uniprocessor is : 422
> 000 p/s (64 bytes)   (The source generates 600 000 p/s)
> 
> And the MLFFR of the multiprocessor is : 360 000 p/s (64 bytes) !!!
> 
> 
> 
> what's the problem with my click SMP configuration?
> 
> Thank you very much for your help
> 
> Wajdi
> 
> 
> 
> ----- Original Message -----
> 
> From: "Robert Morris" <rtm at amsterdam.lcs.mit.edu>
> To: "louati" <wajdi.louati at int-evry.fr>
> Cc: <click at amsterdam.lcs.mit.edu>
> Sent: Thursday, November 20, 2003 5:08 PM
> Subject: Re: [Click] Click SMP performance
> 
> 
> 
>>Louati,
>>
>>Can you send us a copy of udpgenerator.click?
>>
>>What kind of Ethernet cards are you using? How many ethernet cards?
>>What kind of PCI -- 64 bit? 66 mHz? What kind of memory system?
>>
>>Is your Pentium 4 uniprocessor the same SMP machine with 3 CPUs
>>disabled, or a different machine?
>>
>>When you run udpgenerator.click on the uniprocessor, are you using
>>click compiled for uniprocessor or SMP? That is, did you compile with
>>--enable-multithread?
>>
>>Why do you believe that you should be able to generate 600,000 UDP
>>packets per second?
>>
>>Thanks,
>>Robert
>>
> 
> 
>>>From: "louati" <wajdi.louati at int-evry.fr>
>>>To: <click at amsterdam.lcs.mit.edu>
>>>Date: Thu, 20 Nov 2003 16:53:54 +0100
>>>Subject: [Click] Click SMP performance
>>>
>>>Hi all,
>>>
>>>I have installed click SMP on a multi-processor plateform (4 CPU Intel =
>>>XEON(TM) Processor MP 1.50GHz).
>>>
>>>I try to generate 600 000 UDP packets per second with a click =
>>>configuration (udpgenerator.click)
>>>
>>>So if i run :
>>>
>>>Click-install -t 4 udpgenerator.click
>>>
>>>The maximum throughput it can generate is 230 000 p/s ! ! !
>>>
>>>When i try to install the same click configuration on Pentium 4 =
>>>Uniprocessor 1,5 GHZ ; it can generate 430 000 p/s (max).
>>>
>>>I think that i have some problemes with Click SMP performance !  =20
>>>
>>>Can you help me !
>>>
>>>Think you very much
>>>
>>>Wajdi
>>>
>>
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list