[Sis-SCPS-INTEREST] Re: SCPS data rate anomalies: WOOPS!!
Dan Miller
dan at anacominc.com
Tue May 9 14:57:14 EDT 2006
I'll be *happy* to try this out for you (well, for ALL of us, actually).
I was just preparing a follow-up post on my research here; when I
stopped my carrier-acquisition process (by putting a signal into the
idle receivers), I *did* in fact start getting full throughput on the
system, so clearly the competition between my sweep function and scps
was causing the problem. This would cause a major problem for us
because one of our normal modes of operation has several channels
unlocked, so sweep is always running on them.
I will rebuild with -low_idle=yes and see what happens; I'll report back
here in a day or so...
Dan
Feighery, Patrick D. wrote:
> Dan admittedly I have not gone through your traces, however if you
> think you are CPU bound then the latest version of the gateway has a
> compile time option that __may__ help you out. The following is an
> except from a previous posting on the list.
>
> If you have a moment can you try them. I'm was looking for a poster
> child and well... I may have found one.
>
> Pat
>
>
> ===========
> 2) While we are on the subject of rate control and CPU
> resources. As I'm sure you all are aware of, the SCPS process tends to
> be a CPU hog - to put it mildly... This was intentional, because the
> SCPS RI constantly polls the internal sockets to read packets from the
> kernel as soon as possible. This unfortunately means the SCPS reference
> implementation will consume all available CPU resources that it can.
> This can have some adverse interactions with other processes trying to
> consume the CPU's resources. Now given this, I have added two
> compilation flags that can be used to alleviate this issue. The
> configuration option -low_idle=yes will keep the RI from consuming CPU
> resources during periods of idle traffic. The configuration option
> -low_cpu=yes can also be included to further reduce CPU resources when
> traffic is being processed. If the -low_cpu option is included then
> the -low_idle option must also be include. The next big question is
> "Does this affect performance?" The real answer is.. maybe and it
> depends on the horsepower of the CPU and the data rates involved. If
> data rates are under 10 Mbps, you should be completely safe. Try it
> and see what happens. Let me know if there are any issues.
> ===========
>
>
>
>>> -----Original Message-----
>>> From: sis-scps-interest-bounces at mailman.ccsds.org
>>> [mailto:sis-scps-interest-bounces at mailman.ccsds.org] On
>>> Behalf Of Dan Miller
>>> Sent: Monday, May 08, 2006 1:21 PM
>>> To: Eric Travis
>>> Cc: sis-scps-interest at mailman.ccsds.org
>>> Subject: Re: [Sis-SCPS-INTEREST] Re: SCPS data rate anomalies:
>>>
> WOOPS!!
>
>>> Hi Eric, and everyone else!!
>>>
>>> I suspect that this is what my problem is (other processes competing
>>> with the ri for CPU cycles)... We have another process running
>>> (actually, two different threads of the same task) on our
>>> system; this
>>> process runs in user space (unfortunately) and interacts with
>>> our driver
>>> to make sure the cards are in lock; it performs carrier
>>> acquisition and
>>> tracking, and contains alot of floating-point computations
>>> (which is why
>>> it's not in the kernel). The process is mostly idle if the receivers
>>>
>
>
>>> are all locked, but in my current system I have a second, unused
>>> receiver which is *not* locked, so its thread is continually running,
>>>
>
>
>>> sweeping the appropriate frequency range looking for a
>>> carrier that it
>>> won't find.
>>>
>>> I'm going to do some hacking today to see if I can get my processes
>>> idle, and see how scps runs... I'll post status later once I know
>>> something more.
>>>
>>> Dan
>>>
>>> P.S.
>>> I apologize for the occasional html message posted here... I
>>> intentionally use html for my email usually, this list is the
>>> only place
>>> where I need to kill it, so I have to do so on a message-by-message
>>> basis, and I occasionally forget!! I'll try to be more dilligent...
>>>
>>> Eric Travis wrote:
>>>
>>>> Dan Miller wrote:
>>>>
>>>>
>>>>> One thing I noticed on the real eth1 remote dump is that the time
>>>>> between outgoing packets is varying between <1 msec to as
>>>>>
>>> much as 10.8
>>>
>>>>> msec... I would have thought packets would be metered out more
>>>>> consistently than that; Is this something I should expect to see??
>>>>>
>>>>>
>>>> I think what you are seeing is the granularity of the RIs
>>>>
>>> token bucket
>>>
>>>> mechanism. If I recall correctly,
>>>> the credit is refreshed approximately every 10ms. So if you are
>>>> targeting a 3Mbps rate, you get credit for
>>>> 3750 bytes (2.5 full sized ethernet frames) every 10ms.
>>>>
>>> This leads to
>>>
>>>> the pattern you see:
>>>> 2 full sized frames, ~10ms gap, 3 full sized frames,
>>>>
>>> ~10ms gap, etc.
>>>
>>>> Regarding the inconsistent performance results you are seeing:
>>>>
>>>> In an earlier message you related:
>>>>
>>>>
>>>>> However, we run these gateways in runmode 3 (no X
>>>>>
>>> interface) because
>>>
>>>>> are machines are rather slow (850Mhz Celeron), and a busy
>>>>>
> satellite
>
>>>>> gateway uses alot of memory.
>>>>>
>>>>>
>>>> Is the hosted SCPS RI code competing with something else
>>>>
>>> for CPU cycles?
>>>
>>>> The polling behavior makes the RI a sponge for otherwise
>>>>
>>> idle CPU cycles
>>>
>>>> - and
>>>> therefore a huge target for being bumped from a busy run
>>>>
>>> queue. If you are
>>>
>>>> attempting to embed the RI on a system already hosting
>>>>
>>> something that
>>>
>>>> may be
>>>> resource intensive, you may have the root cause of the inconsistent
>>>> performance
>>>> you see.
>>>>
>>>> Left on its own, the RI code can run very fast, but from my
>>>>
>>> memory it
>>>
>>>> could get
>>>> pretty unhappy if it had to compete with another processor/resource
>>>> intensive
>>>> application.
>>>>
>>>> Eric
>>>>
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> Sis-SCPS-INTEREST mailing list
>>> Sis-SCPS-INTEREST at mailman.ccsds.org
>>> http://mailman.ccsds.org/cgi-bin/mailman/listinfo/sis-scps-interest
>>>
>>>
>
>
More information about the Sis-SCPS-INTEREST
mailing list