I've just started a Parallel Programming unit at University and our major project (worth 50%) is to take an application and manually parallelise it to scale across multiple cores.<p>I'd like to do the assignment where the target:<p>* Is interesting<p>* Requires a fair amount of effort and skill<p>* Has some sort of barrier to making it parallel<p>* Is welcoming to me taking up the project<p>Does anyone know a project that fulfils most of these? The project's language or libraries aren't an issue.
Are you looking for a project no one has done yet? Or a project to simply learn from? As an HPC programmer I can tell you that there are lots of scientific applications that you could try. However, I'd suggest that you start with something manageable and known to be parallelizable so that you can feel great when you finish it.<p>I think @jtsummers and @karanbhangui have the right idea, so I'd suggest making the Apache2 mod_deflate module parallel.
Try Python. There is lots of interest in getting CPython to scale across multiple cores, but the use of refcounting to manage object lifetime and the Global Interpreter Lock makes it hard.<p>If you want, you could even try to prototype using PyPy (python in python).