A serious application using MPI????

Hey friends,
I am very new to the world of Message Passing Interface(MP), and learning writing small programs with it on my personal cluster. I intend to do my final year project using MPI. Could you tell me what kind of an application one could develop which could be considered serious enough for a semester project?

Thanks for your time!!

Well, to exploit parallelism, you can pipeline or multi-serve. Pipeline is doing parts on the problem in multiple modules that pull workd from one MPI and push product to another MPI. The multi-serve concept means dividing the problem in rotatio or by internal information, so when problem parts arrive at a dispatcher, it send them to different parallel, identical instances. It can be in rotation, on a queue depth basis when service suration is variable, or based on a message value, like stock symbol to drive a book and match engine, or two account digits to divide the flow into 100 streams. From what I saw of MPI, it lacks the transactional nature of MQ from IBM, which allowed restarts and supported RDBMS interfaces. And when you have scatter, you need gather, so MPI processes that collect data from many sources can merge them, perhaps in a binary tree of stream merges. MPI supports loosely coupled systems, and can be used to manage memory and process dispatching, where the dispatcher provides CPUs to threads emptying fuller queues and filling emptier queues. One idea I had was for a high speed sorting container, where the input was very parallel buffered for quick writing and the sorting was dynamically divided up into parallel streams followed by a merge tree. MPI can also be used to flow data to a deep buffer, at a point where file I/O can support data aggregation, to flow data into or out of RDBMS, and to flow data to and from files. Parallel flat file reading is not that difficult, and for fixed arrays of data into flat files, parallel writing is also possible. MPI supports heterogenous processing, so you could code in JAVA and run on a mix of platforms: PCs, MACs, SPARCs, etc. The mind boggles.