<div dir="ltr"><div><div>Liviu,<br><br></div>That is an impressive improvement. I would be interested in some details on how to properly size for use with HP_MALLOC (I assume this would be the amount of shared memory for opensips?). Can this be gauged from the shmem statistics running under f_malloc?<br>
<br></div>Regards,<br><br>Ryan Bullock<br><div><div><br><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 24, 2014 at 11:10 AM, Liviu Chircu <span dir="ltr"><<a href="mailto:liviu@opensips.org" target="_blank">liviu@opensips.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Hello Ryan,<br>
<br>
The limitation of the classic OpenSIPS allocators is that they
scale poorly both with the scripting logic (more logic -> more
mallocs -> more contention), with hardware (the allocation is
completely serial), and with incoming traffic (again, they are
serial!).<br>
<br>
When discussing CPU performance, the scripting logic itself has a
big impact. Just write a dummy route, and you're likely to be able
to handle 10k cps with the existing code.<br>
<br>
In the scenario we've optimized, the gains were almost <b>5x</b>
on a 40-core machine (went up to 20k cps), compared to the
F_MALLOC allocator. The effective gain would have probably been
even bigger, had the logic been more complex.<br>
<br>
However, the new allocator has no defragmentation support - it
needs to be reworked. So if you don't estimate the load on your
server well enough... you'll get core dumps as a reward!<br>
<br>
NB: as you might have expected, the processes did not have to
handle any blocking operations.<br>
<br>
Best regards,<br>
<pre cols="72">Liviu Chircu
OpenSIPS Developer
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre><div><div class="h5">
On 03/24/2014 06:46 PM, Ryan Bullock wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">
<div>
<div>This is an exciting release! The new memory allocator
looks really interesting. Are there any numbers showing how
its performance compares to the current?<br>
<br>
</div>
Great work!<br>
<br>
<br>
</div>
~Ryan Bullock<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Mar 20, 2014 at 1:29 PM,
Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello
everyone!<br>
<br>
The OpenSIPS Project is proud to announce the release of
OpenSIPS version 1.11 (beta)!<br>
<br>
We would like to thank the OpenSIPS community for all of
their hard and diligent work in making this release
possible. We could never have done it without you!<br>
<br>
Special thanks go out to Ovidiu Sas, Walter Doekes, Damien
Sandrs, Nick Altmann, Brett Nemeroff, Ryan Bullock (and many
others) for your amazing contribution on this release. We
truly appreciate you!<br>
<br>
Building on our industry ready platform, we're excited to
introduce many new features and updates. But also we've
continued to make inroads in developing an easier to use
OpenSIPS.<br>
<br>
Version 1.11 brings with it enhancements to the core, script
handling, and many important modules.<br>
<br>
The OpenSIPS core has received a new memory allocator to
increase performance. It's tunable and provides fine-grained
locking!<br>
<br>
We've also heard your requests on improving scripting
capabilities. Say hello to the SCRIPT_HELPER module and to
the “for-each” statement! The learning curve will not be so
steep again!<br>
<br>
We've also introduced 4 new modules in this release...<br>
<br>
- B2B_SCA module providing new shared call appearance
features<br>
- CALL_CENTER module that introduces call queue features<br>
- MI_JSON module to encode data in JSON format over HTTP for
the MI Interface commands<br>
- SCRIPT_HELPER module to simplify the script/configuration
for beginners<br>
<br>
In all, too many features to list. However you can view them
all by visiting the version page at:<br>
<a href="http://www.opensips.org/About/Version-1-11-0" target="_blank">http://www.opensips.org/About/Version-1-11-0</a><br>
<br>
Again, we are excited about all the new changes version 1.11
delivers. We continue to appreciate all the feedback and
help from the community.<br>
<br>
We still have many things to be done to get to the stable
release (in ~1 month), like improving the documentation,
keep working on fixing bugs, excessive testing and others.<br>
<br>
We're always listening to your requests, so never be shy in
making one!<br>
<br>
<br>
Many thanks,<br>
The OpenSIPS Project Team<span><font color="#888888"><br>
<br>
-- <br>
Bogdan-Andrei Iancu<br>
OpenSIPS Founder and Developer<br>
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a><br>
<br>
<br>
_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.opensips.org" target="_blank">Devel@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/devel" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/devel</a><br>
</font></span></blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Devel mailing list
<a href="mailto:Devel@lists.opensips.org" target="_blank">Devel@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/devel" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/devel</a>
</pre>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.opensips.org">Devel@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/devel" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/devel</a><br>
<br></blockquote></div><br></div>