1 / 18

MP3 Decoding Network

MP3 Decoding Network. 0xf1d0. Rod Green (rdg) Eric Haas (haas). Ming Luo (mluo) Jim Shuma (shuma). Outline. Names, Design Goals, System Description Technical Story and Lessons Learned Project Story and Lessons Learned Learning Strategies for Lifelong Learning. Design Goals.

ulric
Download Presentation

MP3 Decoding Network

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MP3 Decoding Network 0xf1d0 Rod Green (rdg) Eric Haas (haas) Ming Luo (mluo) Jim Shuma (shuma)

  2. Outline • Names, Design Goals, System Description • Technical Story and Lessons Learned • Project Story and Lessons Learned • Learning Strategies for Lifelong Learning

  3. Design Goals • Make it work • Modularity • Each node can be either a processor or an entire decoding subnetwork. • Parallelism • Get many processors running at once. • Make it run faster

  4. System Architecture Router PC Head 68HC11 Decoding Subnetwork Leaf 68HC11

  5. System Architecture PC Head 68HC11 PC Router Head 68HC11 Router Router Router Router Router Rooter Router Leaf 68HC11 Leaf 68HC11

  6. Communications • Communication is done between the following entities: • PC and head • Parent and child • Linking the PC to the decoding network is the Head processor, which does: • Address translation for up to 65,536 leaf nodes • Linking Jared’s communications protocol to our communications protocol • Communication is done through message passing, not through shared memory.

  7. Technical Story

  8. Technical Story • First, we enumerated our options: • Dynamically scheduled shared-memory multiprocessing. • Dataflow multiprocessing (AKA pipelining). • Fine-grained parallelism through message passing. • Coarse-grained parallelism through message passing. • Then we evaluated design trade-offs and chose a realistic architecture (while not being overly optimistic). • We chose: fine-grained parallelism.

  9. The Bomb /* overlap addition */ for(ss=0; ss<SSLIMIT; ss++) { tsOut[ss] = rawout[ss] + prevblck[ch][sb][ss]; prevblck[ch][sb][ss] = rawout[ss+18]; }

  10. Technical Story • MP3 frames are completely independent once you’ve reconstructed the bit stream. • …except for that tiny little footnote at the bottom of the ISO spec which says otherwise. • What we arrived at: • Instead of decoding frames in parallel, decode MP3s in parallel. • We were able to salvage some of the work we did, but a lot got thrown out.

  11. Technical Story:Lessons Learned • CVS is great to have, but this is not feasible for the board (or when you need to change directions!) • Proficiency with the logic analyzer is a must.

  12. Technical Story:Lessons Learned • Don’t try to fix the problem before figuring out what’s wrong. • If all else fails, start questioning fundamental assumptions. • The hard part is determining what these fundamental assumptions are. • Not everything has a rational explanation!

  13. Project Story

  14. Project Story • We had some lofty goals: • Early completion • Debug-oriented design • Full UNIX pre-simulation • To a certain degree, we’re actually accomplishing these!

  15. Project Story:Lessons Learned • It’s important to fully understand the problem you’re trying to solve. • Unfortunately, this isn’t always possible. • A certain amount of the learning has to be done during implementation. • It’s useful to have multiple people working together in both time and space. • This way, you can draw on the expertise of others. • And they’ll be able to point out things that you never would have noticed.

  16. Project Story:Lessons Learned • This project is much more multidisciplinary than projects for other courses. • There are more skills required, and these skills are more different. Some of this stuff can’t be just taught in classes – it has to be learned, and learned the hard way. • Just a few of said skills: Traditional software design; traditional hardware design; embedded software; HiWare; physical hardware; production parts and their idiosyncrasies; robustness; working in a group.

  17. Learning Strategiesfor Lifelong Learning

  18. Learning Strategiesfor Lifelong Learning • Read all the new literature, like a good geek. • Get another degree in a few years when things have changed. • Don’t be afraid to admit that what you’ve studied has been replaced by something easier, and adapt accordingly. • Compilers replace assemblers • CAD tools will become more clever than you • Those cocky young whipper-snappers, with their calculators and their cell phones, will replace you

More Related