On Thu, Sep 22, 2011 at 1:41 AM, Achilleas Anastasopoulos
<anas...@umich.edu> wrote:
> I am comparing the following 2 systems on GRC:
>
> [source] --> [block A] --> [sink]
>
> and
>
> [source] --> [block A] -->[sink]
>     |___________________^
>
> where [block A] is a very CPU-intensive SP block, source and sink are
> very simple SP blocks,
> and neither source nor sink set the sample rate, neither do i have any
> throttle in the graph (intentionally).
>
> When I run the first configuration on a 2-core machine
> I get  2 CPU traces that alternate between 100% and 20%
> for large chunks of time which means that the thread that is running
> A overwhelms the system.
>
> So far so good.
>
> When I run the second configuraiton i get 2 CPU traces that alternate
> around a load of
> 65% without any of them touching 100% (except occasionally) which seems like a
> more "normal" situation.
>
> So I have 2 questions:
>
> 1) why is it that the system does not "crash" even in the absense of a 
> throttle?
> 2) why is it that the 2nd configuration results in a lower overall load?

Then I guess that your sink is getting twice the amount of data in the
second graph. As the sink is now slower tahn source, it drives the
pipeline. Then your block A gets samples at half rate. First graph is
100%+20% = 120%. If block A uses all CPU power, then the second graph
should use around 120% / 2 = 60%.

Does it makes sense?

Pascal

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to