Algorithms in a Multiprocessor Environment Kevin Frandsen ENCM 515
Outline Introduction Algorithms Communication Models Common DSP Uses Conclusion
Introduction What are Multiprocessor Cores? – Two CPUs – Same Silicon – Equal Capability – Shared Memory – Tighter Access
Introduction cont. Other Multiprocessing Options – SMP Usually Two on same board, not silicon Shared Memory Limited access to each other – Clustering Independent processors Communication Medium NUMA
Algorithms Finite Impulse Response (FIR) Filter – Common DSP Algorithm – Specialized hardware exists
Algorithms cont. More on FIR – Divide and Conquer O(n)/p time – Shared memory/registers a plus Reduced communication overhead
Algorithms cont. Matrix Operations – Common algorithms on large sets [ A 11 A 12 … A 1n [ B 11 B 12 … B 1n [ C 11 C 12 … C 1n A 21 A 22 … A 2n B 21 B 22 … B 2n C 21 C 22 … C 2n … … X … … = … … A m1 A m2 … A mn ] B m1 B m2 … B mn ] C m1 C m2 … C mn ]
Algorithms cont. Matrix Multiplication – Large data transfers necessary in non-shared environments – If not bandwidth limited, scales well with processors Matrix Inversion – Larger data loads
Communication Models Shared Memory – Fast – Few concurrency problems Still some, race conditions, etc. – Need to be on same board – Custom designed – Need secondary synchronization – Mutexes, Semaphores
Communication Models cont. Message Passing (PVM, MPI, etc) – Flexible implementations – Self-synchronizing – Communication overhead (large)
Common DSP Uses Shared Core and SMP – Best for real-time response – Easiest for integrated systems – ADSP Clustering – Batch processing – Images, 3D rendering SCI at University of Utah
Scientific Computing Institute 3D Visualization of Brain Tumor
Conclusion How multiprocessing affects tasks Ways of implementing a multiprocessing system Uses in the “real world”
Questions?
References University of Utah. (2004, February 28). Applications: Tumor Visualization – Scientific Computing and Imaging Institute. Retrieved April 10, 2004, from Dr. Smith’s Mar 8 Presentation on Highly Parallel FIRs Dr. Leon’s Parallel Computing Course