You are not logged in.
I have a project which I would have to do by the end of current semester where I will need to address some problem with parallel programming using parallel or distributive environments.
I can't seem to come up with some good idea for this program. Does anyone here have some example of useful problem to address?
Only ideas that come to my mind is finding of a solution to something or doing some kind of searching... or maybe some of kind of chess game program that would find right/winning movies by searching through all possible cases.
Does anyone have some ideas? I am kind of running out of them
Last edited by kdar (2011-09-11 23:09:52)
Offline
I am a hardware guy who does software in the loop stuff.
How about Cryptographic side channel attacks,
Or an adaptive filter in which you are actively filtering an audio stream (using say an FFT), analyze the results in a separate thread, and dynamically adjust the filter coefficients [an adaptive equalizer]
Or a PID Servo with adaptive parameters to optimize gain and stability based upon conditions.
Or a Direct Sequencing Spread Spectrum simulator. Or build a correlator for such a system.
Or maybe a correlator for object recognition in an image, or for an audio sound clip.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
Or perform continuous FFTs on a incoming signal, and track the dominant frequency in the spectrum and track it as it slowly changed in pitch. The parameters of the FFT would be dynamically changed to keep the tracked signal in the center of the transform. Signal loss would result in an attempt to reacquire by increasing the span of the transform. Extra bonus points for adaptively switching sample windows [rectangular, Gaussian, Hamming, etc] to improve tracking or center frequency resolution as conditions dictate.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
If you like physics you can do Parallel N-Body Simulations or maybe a Fast Poisson Solver.
Offline
The FFT suggestion is very good although FFT can be a bit confusing the first time you're exposed to it. Gaussian elimination would be another good one. Personally I'd recommend a matrix multiplication application. Using the DNS algorithm you can multiply two n x n matrices on n^3 processes in O(log n)... which is crazy (although resource intensive). Playing around with OpenMP and/or MPI is actually quite fun. The hardest part is always in understanding the mathematical algorithm itself... implementation is mostly trivial. Then taking your implementation and testing across different topologies (i.e. hypercube, mesh, etc) is very enlightening.
Offline
How would you do Cryptographic side channel attacks? On what or how would you simulate their effectiveness?
Offline