It depends on what your interested in and your technical level?
Here are a few ideas...
1. I saw a talk last week that covered speedup vs efficiency. Most of the time the more cores the less efficient.
2. For the most part addition is associative but not so much when add more cores.
3. Image processing and computer vision.
4. Compare and contrast two parallel programming frame works.
Hi Anugraha,
Aaron told you great ideas. I'd add the following two:
5. NUMA (Non-Uniform Memory Access) and the support offered by modern and future operating systems. Take a look about this questions to well-known expert Jim Depsey (an Intel Black Belt Software Developer) -
http://software.intel.com/en-us/articles/seven-questions-with-jim-dempsey-intel-black-belt-software-developer/6. Lightweight concurrency (the new lightweight concurrency libraries and layers) and free-lock algorithms.
http://www.ddj.com/go-parallel/blog/archives/2009/06/lightweight_con.html7. DSLs for multi-core and parallel programming.
http://www.ddj.com/go-parallel/blog/archives/2009/06/a_domainspecifi.htmlA few weeks ago, I've been contracted by Techdoer to write a few articles about multi-core challenges. I mentioned in these three posts. You can take a look at this articles and they could give you additional ideas for your work:
Challenges in Multi-Core Era – Part 1 -
http://techdoertimes.com/?p=965&language=enChallenges in Multi-Core Era – Part 2 -
http://techdoertimes.com/?p=984&language=enChallenges in Multi-Core Era – Part 3 -
http://techdoertimes.com/?p=1000&language=enBesides, you can listen to Parallel Programming talk shows. They'll offer you lots of ideas :)
Cheers,
Gaston
--------
Gastón C. Hillar