[PLUG] Request for Project Ideas / Mentor
vijay patil
vijay.patil at gmail.com
Fri Jun 27 13:00:01 IST 2008
On Mon, Jun 23, 2008 at 1:23 PM, Sanket Karpe <sanket.karpe at gmail.com> wrote:
> Hi ,
> I am in BE Comp. I am interested in doing a project in Linux, especially in
> parallel processing. If anyone has any knowledge about it please mail me.
> Also if anyone has any project ideas mail it to me.
>
Did you attend GNUnify 2008 talk "Multicore Threading" by Vasanth
Tovinkere from Intel? Basically he talked about speed/performance
limitations (3 GHZ) on single core processors and need of multi-core
(and therefore multi-threading) for further speed improvements in the
applications. He then described existing/traditional methods of doing
multi-threading.
- Explicit multi-threading. For example: Using pthreads,
http://en.wikipedia.org/wiki/Pthreads
- Implicit multi-threading. For example: Using OpenMP
http://en.wikipedia.org/wiki/OpenMP
He then described limitations/problems/difficulties with above two
approaches of doing multi-threading. I do not remember the details.
This leads to Intel's solutions for making it easy for developers to
write applications for multi-core processors "threading building
blocks" (TBB).
To summarize you may want to:
1. Buy/get access to multi core machine
2. Start writing small examples using pthread, openmp, and TBB and compare them
3. Identify problem/project which has potential for parallelizing. See
http://en.wikipedia.org/wiki/Parallel_computing#Applications
4. Try to solve the problem using multi-threading. Compare sequential
code Vs multi-threading core on different number of cores.
TBB 2.0 library is available with Ubuntu 8.04. Search for TBB in
synaptic package manager.
Regarding specific project idea:
I have some experience/knowledge of problems where multi-threading (if
done correctly) can really speed up the runtime. It is branch and
bound algorithm to solve mixed integer problem. It involves solving
hundreds of nodes of a binary tree. Clearly speedup is possible if
different threads solves different parts of the tree. The challenging
part is to make sure each thread shares result of solving the node. If
you need more information on this problem, please contact me.
See: http://en.wikipedia.org/wiki/Branch_and_bound
--
Vijay Patil
More information about the Plug-mail
mailing list