1 / 75

DoD Sensor Processing: Applications and Supporting Software Technology

DoD Sensor Processing: Applications and Supporting Software Technology. Dr. Jeremy Kepner MIT Lincoln Laboratory

polston
Download Presentation

DoD Sensor Processing: Applications and Supporting Software Technology

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. DoD Sensor Processing:Applications and SupportingSoftware Technology Dr. Jeremy Kepner MIT Lincoln Laboratory This work is sponsored by the High Performance Computing Modernization Office under Air Force Contract F19628-00-C-0002. Opinions, interpretations, conclusions, and recommendations are those of the author and are not necessarily endorsed by the Unites States Government.

  2. Preamble: Existing Standards System Controller Node Controller Parallel Embedded Processor Data Communication:MPI, MPI/RT, DRI Control Communication:CORBA, HP-CORBA SCA P0 P1 P2 P3 • A variety of software standards support existing DoD signal processing systems Consoles Other Computers Computation: VSIPL Definitions VSIPL = Vector, Signal, and Image Processing Library MPI = Message-passing interface MPI/RT = MPI real-time DRI = Data Re-org Interface CORBA = Common Object Request Broker Architecture HP-CORBA = High Performance CORBA

  3. Preamble: Next Generation Standards • Software Initiative Goal: transition research into commercial standards Demonstrate Portability (3x) Productivity (3x) Object Oriented Open Standards HPEC Software Initiative Interoperable & Scalable Applied Research Develop Performance (1.5x) Portability lines-of-code changed to port/scale to new system Productivity lines-of-code added to add new functionality Performance computation and communication benchmarks

  4. HPEC-SI: VSIPL++ and Parallel VSIPL Time Phase 3 Applied Research: Self-optimization Phase 2 Development: Fault tolerance Applied Research: Fault tolerance prototype Phase 1 Demonstration: Unified Comp/Comm Lib Applied Research: Unified Comp/Comm Lib Development: Unified Comp/Comm Lib Parallel VSIPL++ prototype Development: Object-Oriented Standards Demonstration: Object-Oriented Standards VSIPL++ Functionality Parallel VSIPL++ Demonstration: Existing Standards • Unified embedded computation/ communication standard • Demonstrate scalability VSIPL++ VSIPL MPI • High-level code abstraction • Reduce code size 3x • Demonstrate insertions into fielded systems (e.g., CIP) • Demonstrate 3x portability

  5. Preamble: The LinksHigh Performance Embedded Computing Workshophttp://www.ll.mit.edu/HPECHigh Performance Embedded Computing Software Initiativehttp://www.hpec-si.org/Vector, Signal, and Image Processing Libraryhttp://www.vsipl.org/MPI Software Technologies, Inc.http://www.mpi-softtech.com/Data Reorganization Initiativehttp://www.data-re.org/CodeSourcery, LLChttp://www.codesourcery.com/MatlabMPIhttp://www.ll.mit.edu/MatlabMPI

  6. Outline • DoD Needs • Parallel Stream Computing • Basic Pipeline Processing • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  7. Why Is DoD Concerned with Embedded Software? Source: “HPEC Market Study” March 2001 Estimated DoD expenditures for embedded signal and image processing hardware and software ($B) • COTS acquisition practices have shifted the burden from “point design” hardware to “point design” software (i.e. COTS HW requires COTS SW) • Software costs for embedded systems could be reduced by one-third with improved programming models, methodologies, and standards

  8. Embedded Stream Processing 10000.0 Desired region of performance 1000.0 Goal 100.0 FasterNetworks Peak Bisection Bandwidth (GB/s) 10.0 COTS Today 1.0 Moore’sLaw 0.1 1 10 100 1000 10000 100000 Peak Processor Power (Gflop/s) Video Medical Wireless Sonar Radar Scientific Encoding Requires high performance computing and networking

  9. REQUIREMENTS INCREASING BY AN ORDER OF MAGNITUDE EVERY 5 YEARS Military Embedded Processing EMBEDDED PROCESSING REQUIREMENTS WILLEXCEED 10 TFLOPS IN THE 2005-2010 TIME FRAME MIT Lincoln Laboratory • Signal processing drives computing requirements • Rapid technology insertion is critical for sensor dominance

  10. Military Query Processing Wide AreaImaging Targeting ForceLocation SAR/GMTI BoSSNET ParallelDistributedSoftware MultiSensorAlgorithms Hyper SpecImaging InfrastructureAssessment Sensors High Speed Networks Parallel Computing Missions Software • Highly distributed computing • Fewer very large data movements

  11. Parallel Pipeline Mapping Parallel Computer Signal Processing Algorithm Filter XOUT = FIR(XIN ) Beamform XOUT = w *XIN Detect XOUT = |XIN|>c • Data Parallel within stages • Task/Pipeline Parallel across stages

  12. Filtering Xin XOUT = FIR(XIN,h) Nchannel Xout Nsamples Nchannel Nsamples/Ndecimation • Fundamental signal processing operation • Converts data from wideband to narrowband via filter O(Nsamples Nchannel Nh / Ndecimation) • Degrees of parallelism: Nchannel

  13. Beamforming Xin Xout XOUT = w *XIN Nchannel Nsamples Nbeams Nsamples • Fundamental operation for all multi-channel receiver systems • Converts data from channels to beams via matrix multiply O(Nsamples Nchannel Nbeams) • Key: weight matrix can be computed in advance • Degrees of Parallelism: Nsamples

  14. Detection Xin Xout XOUT = |XIN|>c Nbeams Ndetects Nsamples • Fundamental operation for all processing chains • Converts data from a stream to a list of detections via thresholding O(Nsamples Nbeams) • Number detections is data dependent • Degrees of parallelism: Nbeams Nchannels or Ndetects

  15. Types of Parallelism Input Scheduler FIR FIlters Task Parallel Pipeline Beam- former 1 Beam- former 2 Round Robin Detector 1 Detector 2 Data Parallel

  16. Outline • Filtering • Beamforming • Detection • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  17. FIR Overview FIR • Uses: pulse compression, equalizaton, … • Formulation: y = h o x • y = filtered data [#samples] • x = unfiltered data [#samples] • f = filter [#coefficients] • o = convolution operator • Algorithm Parameters: #channels, #samples, #coefficents, #decimation • Implementation Parameters: Direct Sum or FFT based MIT Lincoln Laboratory

  18. Basic Filtering via FFT • Fourier Transform (FFT) allows specific frequencies to be selected O(N log N) DC time frequency FFT DC time frequency

  19. Basic Filtering via FIR • Finite Impulse Response (FIR) allows a range of frequencies to be selected O(N Nh) (Example: Band-Pass Filter) x y FIR(x,h) freq Power in anyfrequency Power only between f1 and f2 DC f1 f2 Delay Delay Delay h1 h2 h3 hL S y

  20. Multi-Channel Parallel FIR filter FIR FIR FIR FIR Channel 1 Channel 2 Channel 3 Channel 4 • Parallel Mapping Constraints: • #channels MOD #processors = 0 • 1st parallelize across channels • 2nd parallelize within a channel based on #samples and #coefficients MIT Lincoln Laboratory

  21. Outline • Filtering • Beamforming • Detection • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  22. Beamforming Overview Beamform • Uses: angle estimation • Formulation: y = wHx • y = beamformed data [#samples x #beams] • x = channel data [#samples x #channels] • w = (tapered) stearing vectors [#channels x #beams] • Algorithm Parameters: #channels, #samples, #beams, (tapered) steering vectors, MIT Lincoln Laboratory

  23. Basic Beamforming Physics • Received phasefront creates complex exponential across array with frequency directly related to direction of propagation • Estimating frequency of impinging phasefront indicates direction of propagation • Direction of propagation is also known as angle-of-arrival (AOA) or direction-of arrival (DOA) Source  Wavefronts Direction of propagation Received Phasefront e j1 e j2 e j3 e j4 e j5 e j6 e j7

  24. Parallel Beamformer Beamform Beamform Beamform Beamform Segment 1 Segment 2 Segment 3 Segment 4 • Parallel Mapping Constraints: • #segment MOD #processors = 0 • 1st parallelize across segments • 2nd parallelize across beams MIT Lincoln Laboratory

  25. Outline • Filtering • Beamforming • Detection • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  26. CFAR Detection Overview CFAR • Constant False Alarm Rate (CFAR) • Formulation: x[n] > T[n] • x[n] = cell under test • T[n] = Sum(xi)/2M, Ngaurd < |i - N| < M + Ngaurd • Angle estimate: take ratio of beams; do lookup • Algorithm Parameters: #samples, #beams, steering vectors, #noise samples, #max detects • Implementation Parameters: Greatest Of, Censored Greatest Of, Ordered Statistics, … Averaging vs Sorting MIT Lincoln Laboratory

  27. Two-Pass Greatest-Of Excision CFAR(First Pass) M G G M Input Data x[i] T T T T T T T T L L L L L L L L .... .... 1/M 1/M Noise Estimate Buffer b[i] Range Range cell under test Trailing training cells T Guard cells Leading training cells L Reference: S. L. Wilson, Analysis of NRL’s two-pass greatest-of excision CFAR, Internal Memorandum, MIT Lincoln Laboratory, October 5 1998.

  28. Two-Pass Greatest-Of Excision CFAR(Second Pass) Input Data x[i] Noise Estimate Buffer b[i] T T T T T T T T L L L L L L L L M G G M Cell under test Trailing training cells T Guard cells Leading training cells L

  29. Parallel CFAR Detection CFAR CFAR CFAR CFAR Segment 1 Segment 2 Segment 3 Segment 4 • Parallel Mapping Constraints: • #segment MOD #processors = 0 • 1st parallelize across segments • 2nd parallelize across beams MIT Lincoln Laboratory

  30. Outline • Latency vs. Throughput • Corner Turn • Dynamic Load Balancing • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  31. Latency and throughput 0.5 seconds 0.5 seconds 1.0 seconds 0.3 seconds 0.8 seconds Signal Processing Algorithm Filter XOUT = FIR(XIN) Beamform XOUT = w *XIN Detect XOUT = |XIN|>c Latency = 0.5+0.5+1.0+0.3+0.8 = 3.1 seconds Throughput = 1/max(0.5,0.5,1.0,0.3,0.8) = 1/second Parallel Computer • Latency: total processing + communication time for one frame of data (sum of times) • Throughput: rate at which frames can be input (max of times)

  32. Example: Optimum System Latency Filter Latency = 2/N Beamform Latency = 1/N System Latency Component Latency Local Optimum Latency Filter Hardware Hardware < 32 Hardware < 32 Global Optimum Latency < 8 Filter Latency < 8 Beamform Hardware Units (N) Beamform Hardware • Simple two component system • Local optimum fails to satisfy global constraints • Need system view to find global optimum

  33. System Graph Filter Beamform Detect Edge is the conduit between a pair of parallel mappings Node is a unique parallel mapping of a computation task • System Graph can store the hardware resource usage of every possible Task & Conduit

  34. Optimal Mapping of Complex Algorithms Input Matched Filter Beamform Low Pass Filter XIN XOUT XIN XIN XOUT FFT XIN mult FIR1 FIR2 XOUT IFFT W4 W3 W1 W2 Application Different Optimal Maps Intel Cluster Workstation Embedded Multi-computer Embedded Board PowerPC Cluster Hardware • Need to automate process of mapping algorithm to hardware

  35. Outline • Latency vs. Throughput • Corner Turn • Dynamic Load Balancing • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  36. Channel Space -> Beam Space Input Channel N 2 Inpute Channel 1 1 N Weights Beam 1 Weights Beam 2 Beam M • Data enters system via different channels • Filtering performed in a channel parallel fashion • Beamforming requires combining data from multiple channels

  37. Corner Turn Operation Filter Beamform Corner-turned Data Matrix Original Data Matrix Channels Channels Processor Samples Samples Each processor sends data to each other processor Half the data movesacross the bisection of the machine

  38. Corner Turn for Signal Processing Corner turn changes matrix distribution to exploit parallelism in successive pipeline stages Sample Sample Channel Channel Pulse Pulse Corner Turn Model P1P2 ( + B/) Q TCT = B = Bytes per message Q = Parallel paths  = Message startup cost  = Link bandwidth P1 Processors P2 Processors All-to-all communication where each of P1 processors sends a message of size B to each of P2 processors Total data cube size is P1P2B

  39. Outline • Latency vs. Throughput • Corner Turn • Dynamic Load Balancing • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  40. Dynamic Load Balancing Image Processing Pipeline Estimation Detection Pixels (static) Detections (dynamic) Work Work Static Parallel Implementation 0.08 0.08 0.11 0.11 0.10 0.10 0.15 0.15 0.97 0.97 0.30 0.30 0.13 0.13 Load: balanced Load: unbalanced 0.24 0.24 • Static parallelism implementations lead to unbalanced loads

  41. Static Parallelism and Poisson’s Walli.e. “Ball into Bins” 15% efficient 50% efficient • Random fluctuations bound performance • Much worse if targets are correlated • Sets max targets in nearly every system M = # units of work f = allowed failure rate

  42. Static Derivation

  43. Dynamic Parallelism 50% efficient 94% efficient • Assign work to processors as needed • Large improvement even in “worst case” M = # units of work f = allowed failure rate

  44. Dynamic Derivation

  45. Static vs Dynamic Parallelism 50%efficient 94% efficient 15% efficient Parallel Speedup 50% efficient Number of Processors • Dynamic parallelism delivers good performance even in worst case • Static parallelism is limited by random fluctuations (up to 85% of processors are idle)

  46. Outline • PVL • PETE • S3P • MatlabMPI • Introduction • Processing Algorithms • Parallel System Analysis • Software Frameworks • Summary

  47. Current Standards for Parallel Coding Vendor Supplied Libraries Current Industry Standards Parallel OO Standards • Industry standards (e.g. VSIPL, MPI) represent a significant improvement over coding with vendor-specific libraries • Next generation of object oriented standards will provide enough support to write truly portable scalable applications

  48. Goal: Write Once/Run Anywhere/Anysize Demo Real-Time with a cluster (no code changes; roll-on/roll-off) Develop code on a workstation A = B + C; D = FFT(A); . (matlab like) Deploy on Embedded System (no code changes) Scalable/portable code provides high productivity

  49. Current Approach to Parallel Code Proc 5 Proc 6 Code Algorithm + Mapping while(!done) { if ( rank()==1 || rank()==2 ) stage1 (); else if ( rank()==3 || rank()==4 ) stage2(); } Stage 1 Stage 2 Proc1 Proc3 Proc 4 Proc 2 while(!done) { if ( rank()==1 || rank()==2 ) stage1(); else if ( rank()==3 || rank()==4) || rank()==5 || rank==6 ) stage2(); } • Algorithm and hardware mapping are linked • Resulting code is non-scalable and non-portable

  50. Scalable Approach A = B + C A = B + C Single Processor Mapping #include <Vector.h> #include <AddPvl.h> void addVectors(aMap, bMap, cMap) { Vector< Complex<Float> > a(‘a’, aMap, LENGTH); Vector< Complex<Float> > b(‘b’, bMap, LENGTH); Vector< Complex<Float> > c(‘c’, cMap, LENGTH); b = 1; c = 2; a=b+c; } Multi Processor Mapping • Single processor and multi-processor code are the same • Maps can be changed without changing software • High level code is compact

More Related