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: Carles Fernandez
Subject: Re: [Discuss-gnuradio] Announcing new scheduler for GNU Radio
Date: Wed, 17 Apr 2013 11:35:12 +0200

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? 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?

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]