An Insight into SIGNIFY Design and Framework for Distributed Signal Processing System By Kirti Chawla Mentor & Guide Dr. R. S Anand Asst. Professor, Dept. Of Electrical Engineering, IIT - Roorkee Introduction Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References • Background • Work done at MIT • Work done at University of California-Berkeley • Associated fields • Distributed Systems • Sensor Networks • Digital Signal Processing • Computer Networks • Wireless Communication • Domain & nature of Research • Hardware (Motes, RF …) • Software (Ad-Hoc Networks, Software Architecture …) • Issues • Hardware (Computation Backbone, Motes …) • Software (Routing, Security …) Brief View Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References • “Distributed – ness” • Collaborative Vs Distributed Signal Processing • Tradeoffs Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References Problem Definition • Distributed Arithmetic • A brief example of approach • Scalability and Robustness Contents • Introduction • Brief view Process level Vs Operation level • Process level distributed signal processing • Operation level distributed signal processing • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References • Limitations • Advantages Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References System Architecture • Challenges/Design considerations • Amount of data • Method of acquisition • Nature of operating environment • Transparency • Active or passive data • Data-routing • User-interfaces • Security • Status identification • Job identification • Visualization of data Contents System Architecture • System Overview • Introduction Existing sensor-network • Brief view • Problem definition … • Process level Vs Operation Level • System Architecture Data-collection points • How it is done ? • Results • Conclusion … Signal data router • Further work … • References Processing elements Computation server System Architecture Contents • System Overview • Introduction • Brief view • Problem definition SPS • Process level Vs Operation Level FDS WDS Layer 2 • System Architecture • How it is done ? Layer 1 DPMS • Results GPS • Conclusion • Further work Legend • References • SPS – Signal Processing Server • FDS – Filter Design Server • WDS – Window Design Server • GPS – Graphics Processing Server • DPMS – Distributed Processing Management Server Client Contents System Architecture • Detailed specification • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture Connection Management Component Signal Processing Functions • References FDS System Log Component Layer 2 Server Communication • Results • Further work Filter Design Functions System Log Component • How it is done ? • Conclusion Connection Management Component SPS 1 Connection Management Component Connection Management Component Graphics & Plot Functions Window Design Functions System Log Component WDS GPS System Log Component Contents System Architecture • Detailed specification • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results Connection Management Component Layer 1 Server Communication System Log Component Request Routing Component DPMS System Shell Component • Conclusion • Further work • References 1 Client System Log Component Connection Management Component System Architecture Contents • Introduction • Hardware & software specification PARAM 10000 X86-P4 • Brief view SPS • Problem definition IP-Address • System Architecture • How it is done ? WDS DPMS GPS Client e250d e250c e250a Infiniti Intellix Hostname e250b • Process level Vs Operation Level FDS 192.9.204.210 (e250a) 192.9.204.211 (e250b) 192.9.204.212 (e250c) 192.9.204.213 (e250d) 192.168.124.224 (Infiniti) 192.168.124.225 (Intellix) 255.255.255.0 (alias) 255.255.255.0 (alias) SUN Enterprise 250 Processor @ 400 MHz, total nodes – 8 INTEL P4 processor @ 1.6 GHz Solaris 8 Linux 7.1 C, with MPI, network & math library C with network & math library Net mask • Results Processor • Conclusion • Further work Operating System • References Language Role Signal processing & Routing Plotting & client interface How it is done ? Contents • Introduction • Brief view SPS FDS WDS GPS • Problem definition • Process level Vs Operation Level • System Architecture Signal Data Router • How it is done ? DPMS • Results • Conclusion Legend Job • Further work Connections • References Possible flows Client Client Information Packet & Signal Data Contents • Introduction • Brief view How it is done ? • VISION Scripting Language • Process level Vs Operation Level START ROUTE: <name of aggregate server> FILE: <data-file name> OPCODE: <operation code> END • System Architecture Example: (Perform convolution on data-sets) • How it is done ? START ROUTE: SPS FILE: DATA.SIGNIFY OPCODE: SIGNIFY_CON END • Problem definition • Results • Conclusion • Further work • References How it is done ? Contents • Introduction • Client Information Packet • Brief view Hostname IP – address • Problem definition • Process level Vs Operation Level • System modules • System Architecture • How it is done ? • Results • Conclusion • Further work • References Security module Signal catching module Message passing module CPU – type file – type client – id opcode Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References How it is done ? Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References How it is done ? Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References How it is done ? Contents Results • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References Output of Signal Processing Server Results Contents • Introduction Signal Processing Server Output • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References Time in seconds • Brief view 1 0.8 0.6 0.4 0.2 0 Convolution DFT IDFT FFT 1 2 3 4 5 Data Sets in 100 Conditions & Observations 1. The tests suggest the time taken by Signal Processing Server for performing standard operations, when considered serially. 2. Data-sets are increased linearly. 3. The tests serves provides means to assess performance of standard operations and provide directions to optimizations . Contents Results • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References Output of Window Design Server Results Contents • Introduction • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? Time in seconds • Brief view Window Design Server Output 0.3 0.2 0.1 0 1 2 3 4 5 Data Sets in 100 Bartlett Window Blackman Window Hanning Window Hamming Window • Results • Conclusion • Further work • References Conditions & Observations 1. The tests suggest the time taken by Window Design Server for performing standard operations, when considered serially. 2. Data-sets are increased linearly. 3. The tests serves provides means to assess performance of standard operations and provide directions to optimizations . Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? Conclusion The traditional approach of Signal Processing poses a lot of questions, that needs to be sorted out. The suggested approach presents a novel way to utilize legacy systems and open software framework to achieve the computational gains comparable to high end uni-processor system. The system also presents scalable architecture, so that more processors can be utilized to achieve better results. • Results • Conclusion • Further work • References The system is also suitable for heterogeneous environment utilizing blend of processors and operating environments. The system utilizes computationally intensive sub-set of all algorithms to test the load and stress on the system for checking overall performance. Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References Further work • Enabling operation-level “distributed-ness” • Programming specifications for signal processing operations • Construction of FDS & GPS • Tweaking software architecture for performance • Enabling connectivity with sensor-networks Contents • Introduction • Brief view • Problem definition • Process level Vs Operation Level • System Architecture • How it is done ? • Results • Conclusion • Further work • References References [1] Li. Lee, “Distributed Signal Processing”, Ph.D. Thesis, Department Of Electrical Engineering, M.I.T., June 2000. [2] Pradeep S. Sinha, “Distributed Operating System”, pp 1-10, IEEE Press, 1983. [3] John G. Proakis and Dimitris G. Manolakis, “Digital Signal Processing – Principles, Algorithms & applications”, Prentice Hall Of India, Jan 2000 [4] J.D Ullman and J.E Hopcroft, “Introduction to Automata Theory”, Addison Wesley, 1999. [5] A.S Tanenbaum, “Computer Networks”, 3rd edition, Prentice Hall Of India, 2000. [6] David E. Culler, Jaswinder Pal Singh and Anoop Gupta, “Parallel Computer Architecture – A hardware / software approach”, Morgan Kaufman – Elsevier Science India, 2002. [7] Roman Kuc, “Introduction to Digital Signal Processing”, 1st edition, McGraw Hill, 1988. [8] W. Richard Stevens, “UNIX Network Programming, Network APIs : Sockets & XTI”, Volume 1, 3rd edition, Addison Wesley, 1999. [9] Brian W. Kerninghan and Dennis M. Ritchie, “The C programming language”, 2nd edition, Prentice Hall Of India, 1999. [10] W. Richard Stevens, “Advanced Programming in UNIX environment”, 2nd edition, Addison Wesley, 1999. [11] Haluk Topcuoglu, Salim Hariri and Min-You Wu, “Performance-Effective and low-cost task scheduling for Heterogeneous computing”, IEEE Transactions on Parallel and Distributed Systems, Vol. 13. No.3, pp 260261, March 2002. [12] Center for Development of Advanced Computing, “C-MPI user’s manual”, pp 1-15 1998. Contents References [13] Code composer studio: dspvillage.ti.com/docs/catalog/devtools • Introduction • Brief view [14] Berkley’s SensorWeb Project : www.eecs.berkeley.edu [15] Khoral Package : www.khoral.com • Problem definition [16] National Science Foundation : www.nsf.gov • Process level Vs Operation Level [17] Defense Advanced Research Project Agency : www.darpa.mil • System Architecture [18] Xerox PARC : www.parc.xerox.com • How it is done ? [19] Xilinx Systems : www.xilinx.com [20] Message Passing Interface : www.mpiforum.com • Results [21] PARAM 10000 : www.cdacindia.com/html/npsf/param10k/param1.asp • Conclusion • Further work • References