threads - use them as much as you can

Alex Boisvert <>
Thu Nov 30 16:32:49 CET 2000


I'm picking up a thread from this week to ask further questions.  I'm
new to Erlang and I couldn't find the answers in the documentation.  

The background context is that I'm currently investigating Erlang's
ability to scale on a significant database-related (lots of I/O, lots of
parallel execution) research project.  In this regard I have two
questions:

1) Multiprocessing (SMP)

I understand Erlang's processes are not necessarily bound to operating
systems (native) processes or threads (and see the benefits). What I
would like to know is if the implementation(s) actually make use of
native threads (or processes) to achieve parallel execution on SMP
systems?  Of course, this may vary from one OS to another.

2) Scalable I/O

Do the underlying I/O mechanisms of the VM use scalable I/O primitives
such as select() or poll()? (or aio_*() -- asynchronous I/O).   

Also, this question is somewhat tied to the first, since if only one
native threads is used and regular blocking I/O is used, then all
processes would be "suspended" until that particular I/O completes.



Any information or pointers to RTFM will be appreciated.

alex.



More information about the erlang-questions mailing list