Parallel Computing for Real-time Signal Processing and ControlThe computing performance demands of modern real-time signal processing and control applications are increasing rapidly. The use of multiple processors operating in parallel allows several instructions to be dealt with simultaneously, so the requirement for "real-time" is now much easier to meet. Parallel Computing for Real-time Signal Processing and Control introduces students to the advantages of this important capability within an engineering framework. The ability of parallel processing to deal with common signal processing and control algorithms is explored. The book: • Emphasises the relationship between the computing requirements of algorithms and the appropriate choice of architectures in successful computing strategies. • Demonstrates the identification of processor capabilities and how to exploit them to the fullest for different tasks. • Clearly states objectives in each chapter to allow the student to monitor his/her progress. • Uses examples and end-of-chapter exercises to facilitate self-study and guided tuition. • Offers case studies that put theoretical concepts into a practical context. Written in a tutorial style with a logical exploratory approach, Parallel Computing for Real-time Signal Processing and Control is an ideal introduction to this powerful paradigm. For advanced students in parallel computing, control and signal processing disciplines, it will be an invaluable tool in learning to get the best from their computer systems. |
Contents
1 Introduction | 1 |
13 Realtime Systems and Parallel Processing | 4 |
14 Basic Components of Parallel Processing | 6 |
Tasks Processes Processors and Basic Characteristics | 7 |
16 Levels of Parallelism | 8 |
Steps Involved | 9 |
172 Assigning Tasks to Processes | 10 |
182 Scaleup | 11 |
552 Interprocess Communication | 117 |
554 Granularity for Parallel Thread Execution | 118 |
56 Case Study | 119 |
562 Concurrent Multithreading with Visual and File IO | 124 |
563 Performance Comparison with Concurrent Programs | 128 |
57 Summary | 134 |
6 Algorithm Analysis and Design | 137 |
63 Data and Control Dependencies of Algorithms | 139 |
183 Fault Tolerance | 13 |
192 Structuring Tasks | 14 |
195 Message Passing | 15 |
Some Applications | 16 |
1104 Satellite Radar and Sonar Applications | 17 |
1107 Signal Processing and Control | 18 |
113 Research Scope | 19 |
114 Summary | 20 |
2 Parallel Architectures | 23 |
23 Classifications | 24 |
232 Classification Based on Memory Arrangement and Communication among PEs | 29 |
233 Classification Based on Interconnections between PEs and Memory Modules | 31 |
234 Classification Based on Characteristic Nature of Processing Elements | 41 |
235 Specific Types of Parallel Architectures | 43 |
24 Summary | 51 |
25 Exercises | 52 |
3 Performance Evaluation Issues in Realtime Computing | 55 |
33 Performance Evaluation Issues | 57 |
332 Algorithms | 60 |
333 Software Issues | 61 |
334 Cost Consideration | 62 |
34 Case Study | 64 |
341 Interprocessor Communication | 65 |
342 Compiler Efficiency | 69 |
343 Code Optimisation | 71 |
35 Summary | 78 |
4 Performance Metrics | 81 |
43 Sequential Processing | 84 |
44 Parallel Processing | 85 |
442 Heterogeneous Architectures | 88 |
443 TasktoProcessor Allocation | 90 |
45 Interpretations | 91 |
452 Linear Characterisation over a Range of Task Sizes | 93 |
453 Piecewise Linear Characterisation | 96 |
46 Case Study | 101 |
461 Sequential Computing | 102 |
462 Homogeneous Parallel Computing | 103 |
463 Heterogeneous Parallel Computing | 104 |
47 Summary | 108 |
5 Parallel Programming and Multithreading | 111 |
53 Parallel Programming Languages | 113 |
54 Parallel Programming Model | 114 |
55 Multithreading in Multiprocessing | 115 |
551 Thread or Process Synchronisation | 116 |
64 Granularity and Regularity | 140 |
65 Analysis of Algorithms with Computational Aspects | 141 |
652 Adaptive Filtering | 147 |
653 Spectral Analysis | 151 |
654 Flexible Manipulator System | 155 |
66 Case Study | 159 |
662 Experimentation and Results | 166 |
67 Summary | 172 |
68 Exercises | 173 |
The Processing Elements of Parallel Architectures | 175 |
Classification | 176 |
731 Classification Based on Application | 177 |
732 Classification Based on Nature of Instruction Set | 179 |
Evolution and Features | 180 |
742 Specialpurpose Processors | 195 |
75 A Comparative Overview | 204 |
76 Summary | 205 |
Algorithms vs Architectures | 207 |
83 Adaptive Active Vibration Control | 208 |
831 Beam Simulation Algorithm | 209 |
832 Identification Algorithm | 211 |
833 Control Algorithm | 213 |
84 Adaptive Filtering | 214 |
841 LMS Filter | 215 |
843 Relative Performances of the Architectures | 216 |
85 Spectral Analysis | 217 |
851 Correlation | 219 |
852 FFT | 220 |
853 Relative Performances of the Architectures | 221 |
87 Comparative Performances of the Architectures | 225 |
88 Summary | 226 |
89 Exercises | 227 |
Appendix A List of Abbreviations | 229 |
Appendix B Hardware and Software Resources | 233 |
B11 Processing Elements | 234 |
B12 Parallel Architectures | 236 |
B2 Software Support | 239 |
B3 Other Supporting Resources | 240 |
B32 The TTM110 Board | 243 |
B33 Transtech MatchBox | 244 |
245 | |
251 | |