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 <[email protected]> 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 >> [email protected] >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > _______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
