Hi All,
Are there any efforts within the community here to multithread any aspect of the SER project (i.e. either in the "core" functionality, or over any of the plug-ins), for example, to have it run more efficiently, provide for more bandwidth, etc. on a multi-core CPU? I'm starting to look into the topic myself, and don't want to duplicate work; at the least, I'd want to add to it!
Thanks in advance.
-- Eric
Hi Eric, I copy the serdev mailing list as the people you need to discuss this with primarily read that list and not always follow serusers closely.
I'm not an expert, but I'll give you some pointers to recent activities that may shed some light on the issue.
As you probably know, SER spawns multiple processes, a set of workers for each protocol it listens on (udp,tcp,tls) and shared memory is used. I know there has been some work on ensuring efficiency with processes running across processors, but don't know the details.
AFAIK, there has been no attempt at doing also multi-threading, due to the complexity of multi-threading and multi-processes in the same app. If you search from iptel.org/listsearch (I think), you will find a quite recent thread discussing the process model in the perspective of openims. The basic discussion was around the lack of ability to spawn processes dynamically from a module. Dragos and Andrei, I think, are names to look for.
Also, SER has an interface that exposes the sip stack to external applications like sems. It has today a single process limitation. Look for Bogan Pintea's Praha user group meeting presentation at iptel.org.
Except from that, SER is very focused on efficiency and I hope others on serdev can follow up. It will be interesting to hear your opinions; your email address signals some credebility on the topic ;-) g-)
------- Original message ------- From: Heaton, Eric D eric.d.heaton@intel.com Sent: 2.5.'07, 9:52
Hi All,
Are there any efforts within the community here to multithread any aspect of the SER project (i.e. either in the "core" functionality, or over any of the plug-ins), for example, to have it run more efficiently, provide for more bandwidth, etc. on a multi-core CPU? I'm starting to look into the topic myself, and don't want to duplicate work; at the least, I'd want to add to it!
Thanks in advance.
-- Eric _______________________________________________ Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Greger is right, we do multi-process preforking, we don't do multithreading. That's for historical reasons. When the first line of SER was being written, we had a lengthy debate on that and eventually code on CVS submitted by Andrei closed the discussion :-)
-jiri
At 19:52 02/05/2007, Greger Viken Teigre wrote:
Hi Eric, I copy the serdev mailing list as the people you need to discuss this with primarily read that list and not always follow serusers closely.
I'm not an expert, but I'll give you some pointers to recent activities that may shed some light on the issue.
As you probably know, SER spawns multiple processes, a set of workers for each protocol it listens on (udp,tcp,tls) and shared memory is used. I know there has been some work on ensuring efficiency with processes running across processors, but don't know the details.
AFAIK, there has been no attempt at doing also multi-threading, due to the complexity of multi-threading and multi-processes in the same app. If you search from iptel.org/listsearch (I think), you will find a quite recent thread discussing the process model in the perspective of openims. The basic discussion was around the lack of ability to spawn processes dynamically from a module. Dragos and Andrei, I think, are names to look for.
Also, SER has an interface that exposes the sip stack to external applications like sems. It has today a single process limitation. Look for Bogan Pintea's Praha user group meeting presentation at iptel.org.
Except from that, SER is very focused on efficiency and I hope others on serdev can follow up. It will be interesting to hear your opinions; your email address signals some credebility on the topic ;-) g-)
------- Original message ------- From: Heaton, Eric D eric.d.heaton@intel.com Sent: 2.5.'07, 9:52
Hi All,
Are there any efforts within the community here to multithread any aspect of the SER project (i.e. either in the "core" functionality, or over any of the plug-ins), for example, to have it run more efficiently, provide for more bandwidth, etc. on a multi-core CPU? I'm starting to look into the topic myself, and don't want to duplicate work; at the least, I'd want to add to it!
Thanks in advance.
-- Eric _______________________________________________ Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serdev mailing list Serdev@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serdev
-- Jiri Kuthan http://iptel.org/~jiri/