[LUGSB] Multithreading or Light-weight processes ?
Arjun G. Menon
arjungmenon at gmail.com
Sun Oct 19 00:41:30 EDT 2008
Hi LUGSB,
I guess most of you must have worked with threads at some point and
are familiar with the difficulty involved in writing complex
applications that use them. I think the best way to overcome this
"thread problem"
(http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf) is
by using light-weight processes.
I personally feel using light-weight processes for intra-application
multitasking is far more superior than having concurrently running
threads that share the same block of memory. Light-weight processes
are far more secure than threads in the sense they don't share memory
and thus avoid a whole host of problems associated with it. IMO, they
are also easier to work with (while programming); I find the
message-passing IPC model simpler and more manageable.
Additionally when it comes to parallel computing; even there
light-weight processes are a win-win scenario. There's no need for
complex algorithms that manage shared memory between CPUs when each
CPU can be assigned 1/more L.W.-processes and they all interact by
message passing. I think on a well designed OS, L.W.-procs should be
as efficient as threads.
Some applications like Google Chrome already use L.W.-procs (for each
tab the user opens a seperate process is launched). It surprises me
that a lot more people don't use it already, given its many
advantages. Which model of multitasking do you think is better?
(especially in terms of programmer efficiency)
More information about the lugsb
mailing list