discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Announcing new scheduler for GNU Radio


From: Josh Blum
Subject: Re: [Discuss-gnuradio] Announcing new scheduler for GNU Radio
Date: Wed, 17 Apr 2013 12:21:21 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4


On 04/17/2013 04:35 AM, Carles Fernandez wrote:
> Hi,
> 
> thanks Josh for this email, it's a great source of information! Let me ask
> a couple of questions: Will GRAS be included in the GNU Radio 3.7 release?

Hey, thanks for the response. I guess I gave the wrong impression. GRAS
is definitely still in the beta stage, it doesn't even have a version
number yet, and needs a lot more field testing.

This email was more of a formal announcement of the work so people could
try it out and I could get feedback. Its certainly not ready in any way
to be part of a formal release.

> Will users be able to select what scheduler they want to use (the current
> one or GRAS), or is GRAS going to replace the current scheduler?
> 

Perhaps one day it could be come a compile time option just like the
single and thread per block scheduler. But, GRAS has a lot of work to
prove itself. And the decision to include the work is really up to the
GNU Radio devs and not me.

I hope that clarifies things!

-josh

> Best regards,
> Carles
> 
> 
> 
> 
> On Wed, Apr 17, 2013 at 10:26 AM, Josh Blum <address@hidden> wrote:
> 
>> Hey folks,
>>
>> I have been working on a new scheduler for GNU Radio, called the GNU
>> Radio Advanced Scheduler (GRAS). GRAS is a complete re-write and
>> overhaul of the stock GNU Radio scheduler to implement new features,
>> performance enhancements, and a simplified user API. A new buffer and
>> threading model gives GRAS zero copy features, allowing integration of
>> DMA devices and seamless transition between stream and packet domains.
>> Here is the main project wiki page:
>>
>> https://github.com/guruofquality/gras/wiki
>>
>> Each feature has a mini-description on the Summary wiki with a link to
>> greater detail and code examples. I think there is something in this
>> project for everyone; whether you are into API design, models of
>> computation, concurrency mechanisms, zero-copy, data flow topology...
>>
>> https://github.com/guruofquality/gras/wiki/Summary
>>
>> Nobody gives a lick about features without the horsepower! I have
>> benchmarks on two PC variants: operton and i7. I am happy to report that
>> the features do indeed offer performance benefits, and that GRAS is up
>> to the challenge. The operton benchmarks look great, however I would
>> like to see better results on the i7.
>>
>> https://github.com/guruofquality/gras/wiki/Benchmarks
>>
>> Behind all of the GRAS fluff, the Theron C++ concurrency library is the
>> real scheduler; driving all of the work dispatching, threading, and
>> synchronization. I have to give a special thanks to Ashton Mason for
>> creating the Theron library. Both Theron and Ashton were a pleasure to
>> work with.
>>
>> http://www.theron-library.com/
>>
>> Whats next/whats in the queue for GRAS?
>>
>> Characterization. I need to run the benchmark suite on more platforms to
>> get a better idea about how design decisions and trade-offs affect the
>> performance. And I will try to optimize some of the more troubled
>> benchmarks.
>>
>> GR Wrapper. The current wrapper that makes the GNU Radio blocks work on
>> top of GRAS has seen a lot of development history. I plan to rewrite
>> this wrapper to be slimmer and to reuse as much code as possible; much
>> like the style of the new gnuradio-runtime component.
>>
>> Theron. A new version of Theron (v6) is in the works, with runtime
>> selectable schedulers for different synchronization schemes, backoff
>> mechanisms, and work dispatching optimizations. My hope is that this
>> capability will allow users to easily optimize their applications for a
>> particular architecture.
>>
>> Phew, that was a wordy email! Thoughts, feedback?
>>
>> -josh
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]