GNU Radio in 2019: Facts and Plans An overview of where GNU Radio is - - PowerPoint PPT Presentation

gnu radio in 2019 facts and plans
SMART_READER_LITE
LIVE PREVIEW

GNU Radio in 2019: Facts and Plans An overview of where GNU Radio is - - PowerPoint PPT Presentation

GNU Radio in 2019: Facts and Plans An overview of where GNU Radio is going this fine year Marcus M uller 2018-09-18 Whatll happen in the next 40 minutes Looking back at 5 years of 3.7 What has happened to 3.7? Releasing GNU Radio 3.8


slide-1
SLIDE 1

GNU Radio in 2019: Facts and Plans

An overview of where GNU Radio is going this fine year Marcus M¨ uller 2018-09-18

slide-2
SLIDE 2

What’ll happen in the next 40 minutes

Looking back at 5 years of 3.7 What has happened to 3.7? Releasing GNU Radio 3.8 3.8.0.0+ and beyond Conclusion

Marcus M¨ uller GNU Radio 2019 2018-09-18 2 / 16

slide-3
SLIDE 3

Introduction

Marcus M¨ uller

Bearer of a couple of roles

Support Grumpiness supplier

◮ Research assistant at

/

◮ I hold the exercise classes for KIT EEs’ Probability Theory and Communications Theory

courses (> 300 students) and Applied Information Theory (ca 13 dB fewer students)

◮ Freelancing Engineer

◮ Technical Consulting ◮ Contract Development ◮ Seminars

◮ Chief Architect of the GNU Radio project

Marcus M¨ uller GNU Radio 2019 2018-09-18 3 / 16

slide-4
SLIDE 4

Introduction

Marcus M¨ uller

Contact

Depending on what you want to talk to me about, contact me using

◮ University Research & Teaching: mueller@kit.edu ◮ GNU Radio aspects: Preferably, discuss-gnuradio@gnu.org, for confident matters

mmueller@gnuradio.org

◮ Freelancing & Private: mueller@hostalia.de

Marcus M¨ uller GNU Radio 2019 2018-09-18 4 / 16

slide-5
SLIDE 5

Looking back at 3.7

State of GNU Radio 2019

GNU Radio 3.7 released June 2013 next branch forked off at that point 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.7.10 3.7.11 3.7.12.0 3.7.13.0 3.7.13.4 3.8.0.0 2013-07 GRCon’14 GRCon’15 GRCon’16 GRCon’17 FOSDEM’18 → 2018-07 FOSDEM’19 → tbd

Marcus M¨ uller GNU Radio 2019 2018-09-18 5 / 16

slide-6
SLIDE 6

Looking back at 3.7

State of GNU Radio 2019

GNU Radio 3.7 released June 2013 next branch forked off at that point 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.7.10 3.7.11 3.7.12.0 3.7.13.0 3.7.13.4 3.8.0.0 2013-07 GRCon’14 GRCon’15 GRCon’16 GRCon’17 FOSDEM’18 → 2018-07 FOSDEM’19 → tbd takeover! ASAP

Marcus M¨ uller GNU Radio 2019 2018-09-18 5 / 16

slide-7
SLIDE 7

Maintaining 3.7

What has happened to 3.7 since FOSDEM’18?

New versioning scheme: Semantic Versioning (https://semver.org) Formalized CHANGELOG format New development model

◮ Development happens on master, bugfixes backported to maint-3.7 ◮ next has been merged into master ◮ 3.8.0.0 will be tagged off master ◮ 3.7.x.x is tagged off maint-3.7

Retirement of maint, mergeback model

Marcus M¨ uller GNU Radio 2019 2018-09-18 6 / 16

slide-8
SLIDE 8

Maintaining 3.7

What will happen to the 3.7 series?

Stability & Maintenance

3.7 has been around for 5 years, with long stagnant periods Lot of undocumented behaviour becoming implicit API 3.8 simply is different (in good ways)

◮ long-term commitment to support 3.7 on longer-term platforms (Debian stable,

RHEL/CentOS, Ubuntu 16.04LTS) But:

◮ No C++11, Python3, . . . for 3.7.x.x: You probably won’t want to compile GNU Radio

3.7.13.4 on your bleeding edge Linux distro in a couple of years

Marcus M¨ uller GNU Radio 2019 2018-09-18 7 / 16

slide-9
SLIDE 9

Releasing 3.8

What’s to come in GNU Radio 3.8?

Innovation and Future-Proofing

◮ Dependency cleanup: No choice, lots of benefits

◮ •Qt4 → Qt5 ◮ •Cheetah/XML → YAML ◮ •log4cpp → own logging system

◮ Language progression

◮ •Py2 → Py2.7 OR Py3 ◮ •C++98 → C++11

◮ Removed components ◮ New functionality

◮ Better gr modtool (shoutout to Swapnil!) ◮ C++ code generation (shoutout to H˚

akon)

◮ Overall cooler GRC Marcus M¨ uller GNU Radio 2019 2018-09-18 8 / 16

slide-10
SLIDE 10

Releasing 3.8

Releasing 3.8

When will we release 3.8? When it’s ready. I promise it no to be a minute later, but also not a (very expensive) hour early. We’re currently in a feature freeze to really focus on releasing 3.8. Blockers:

◮ •Modern CMake ◮ •new OOT template (depends on modern CMake) ◮ •logging system ◮ •open bugs ◮ •at least rudimentary documentation

− → https://github.com/gnuradio/gnuradio/projects/1

Marcus M¨ uller GNU Radio 2019 2018-09-18 9 / 16

slide-11
SLIDE 11

Releasing 3.8

3.8 Release Procedure

  • 1. Get the blockers sorted out
  • 2. Tag RC1
  • 3. Create Binary packages, spread
  • 4. Fix blocking bugs that come up
  • 5. Automated whole-tree code formatting
  • 6. Release RC2, update binary packages
  • 7. Give it 10 workdays to find remaining breakage
  • 8. Tag, sign, and release 3.8.0.0
  • 9. Party.

Marcus M¨ uller GNU Radio 2019 2018-09-18 10 / 16

slide-12
SLIDE 12

3.8.0.0+ and beyond

What’ll do once we’ve released 3.8?

3.8.x.x development continues on the maint-3.8 branch

◮ Bugs happen, let’s fix them

Feature development mainly on master − → 3.9 3.7.13.4++ needs to be maintained, too.

Marcus M¨ uller GNU Radio 2019 2018-09-18 11 / 16

slide-13
SLIDE 13

3.8.0.0+ and beyond

Kicking off 3.9 development

Whole-tree code formatting officially terminates feature freeze Use 3.8 as stepping stone towards are more modern future . . . without breaking everything at once 3.9 will not take another 5 years to be released 1

1paramount to everyone’s sanity Marcus M¨ uller GNU Radio 2019 2018-09-18 12 / 16

slide-14
SLIDE 14

3.8.0.0+ and beyond

Where we’ll take GNU Radio

Be more inclusive

◮ GNU Radio should come with batteries included ◮ Selling point is the ecosystem, so let’s notice when that breaks

− → upstream central infrastructure

Marcus M¨ uller GNU Radio 2019 2018-09-18 13 / 16

slide-15
SLIDE 15

3.8.0.0+ and beyond

Where we’ll take GNU Radio

Be more inclusive

◮ GNU Radio should come with batteries included ◮ Selling point is the ecosystem, so let’s notice when that breaks

− → upstream central infrastructure Be future-proof

◮ Track dependencies → deprecate earlier, clearlier ◮ Remove old architectural burdens, replace with new ones

Marcus M¨ uller GNU Radio 2019 2018-09-18 13 / 16

slide-16
SLIDE 16

3.8.0.0+ and beyond

Where we’ll take GNU Radio

Be more inclusive

◮ GNU Radio should come with batteries included ◮ Selling point is the ecosystem, so let’s notice when that breaks

− → upstream central infrastructure Be future-proof

◮ Track dependencies → deprecate earlier, clearlier ◮ Remove old architectural burdens, replace with modern alternatives

Marcus M¨ uller GNU Radio 2019 2018-09-18 13 / 16

slide-17
SLIDE 17

3.8.0.0+ and beyond

Where we’ll take GNU Radio

Be more inclusive

◮ GNU Radio should come with batteries included ◮ Selling point is the ecosystem, so let’s notice when that breaks

− → upstream central infrastructure Be future-proof

◮ Track dependencies → deprecate earlier, clearlier ◮ Remove old architectural burdens, replace with modern alternatives

Be easier to use

◮ Regular builds of binary packages for major distros

◮ My dream: a package feed “zoo” for OOTs

◮ Better docs (shoutout to Marc Lichtman)

Marcus M¨ uller GNU Radio 2019 2018-09-18 13 / 16

slide-18
SLIDE 18

3.8.0.0+ and beyond

Where we’ll take GNU Radio

Be more inclusive

◮ GNU Radio should come with batteries included ◮ Selling point is the ecosystem, so let’s notice when that breaks

− → upstream central infrastructure Be future-proof

◮ Track dependencies → deprecate earlier, clearlier ◮ Remove old architectural burdens, replace with modern alternatives

Be easier to use

◮ Regular builds of binary packages for major distros

◮ My dream: a package feed “zoo” for OOTs

◮ Better docs (shoutout to Marc Lichtman)

Be better

◮ Make Scheduler exchangeable ◮ Remove shared state between blocks, use RPC ◮ Actually write a new scheduler

Marcus M¨ uller GNU Radio 2019 2018-09-18 13 / 16

slide-19
SLIDE 19

3.8.0.0+ and beyond

Ha! What of that will happen in 2019?

For 3.9, we’ll

◮ Upstream:

◮ gr-soapy will become part of GNU Radio → we’ll “natively” support your favourite SDR ◮ gr-iio will support ADI, esp. on SoCs ◮ Networking Marcus M¨ uller GNU Radio 2019 2018-09-18 14 / 16

slide-20
SLIDE 20

3.8.0.0+ and beyond

Ha! What of that will happen in 2019?

For 3.9, we’ll

◮ Upstream:

◮ gr-soapy will become part of GNU Radio → we’ll “natively” support your favourite SDR ◮ gr-iio will support ADI, esp. on SoCs ◮ Networking

◮ Future-proof:

◮ Remove Py2 compatibility ◮ Depend on modern CMake, Boost, . . . ◮ Replace PMT internally as well as our external serializer Marcus M¨ uller GNU Radio 2019 2018-09-18 14 / 16

slide-21
SLIDE 21

3.8.0.0+ and beyond

Ha! What of that will happen in 2019?

For 3.9, we’ll

◮ Upstream:

◮ gr-soapy will become part of GNU Radio → we’ll “natively” support your favourite SDR ◮ gr-iio will support ADI, esp. on SoCs ◮ Networking

◮ Future-proof:

◮ Remove Py2 compatibility ◮ Depend on modern CMake, Boost, . . . ◮ Replace PMT internally as well as our external serializer

◮ Simplify:

◮ Have nightly release binaries ◮ Include distribution package infrastructure for OOTs Marcus M¨ uller GNU Radio 2019 2018-09-18 14 / 16

slide-22
SLIDE 22

3.8.0.0+ and beyond

Ha! What of that will happen in 2019?

For 3.9, we’ll

◮ Upstream:

◮ gr-soapy will become part of GNU Radio → we’ll “natively” support your favourite SDR ◮ gr-iio will support ADI, esp. on SoCs ◮ Networking

◮ Future-proof:

◮ Remove Py2 compatibility ◮ Depend on modern CMake, Boost, . . . ◮ Replace PMT internally as well as our external serializer

◮ Simplify:

◮ Have nightly release binaries ◮ Include distribution package infrastructure for OOTs

◮ Better ourselves:

◮ Have reliable RPC based on PMT successor + transparent transports ◮ Finally remove VOLK from the main tree and treat it as dependency Marcus M¨ uller GNU Radio 2019 2018-09-18 14 / 16

slide-23
SLIDE 23

Conclusion

Conclusion

◮ 3.7 development has reached a matured state ◮ 3.7 will still be supported as long as the typical platforms it runs on ◮ 3.8 is coming very soon™

◮ C++11, Python3, Qt5, YAML ◮ Cooler GRC, Code Generation, CMake ◮ Want it faster? Fix some bugs!

◮ 3.9 is the next big thing

◮ New upstreaming strategy ◮ Getting rid of architectural debt Marcus M¨ uller GNU Radio 2019 2018-09-18 15 / 16

slide-24
SLIDE 24

Q&A

Questions?

Marcus M¨ uller GNU Radio 2019 2018-09-18 16 / 16