Multi threaded CPU vs Hard core count

Any and all non-support discussions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Multi threaded CPU vs Hard core count

Postby davesdatasystems » Tue Jul 11, 2017 6:02 am

I bring this up because i seen it talked about in the past that either VICIDIal or Asterisk (i dont remember) would have issues seeing all the threads on a cpu that was like 4 cores and 8 threads. That it would work best with the cores and not so much with the extra threads. This was a while ago, and i was wondering if i used something like VICIbox 7.0.4 if it would run on all the threads on a CPU and if it would do it in a optimized way.

Just for a example, like if i was using a ryzen 7 cpu with 8 cores and 16 threads.

Any info or details you can give would be great, thank you.

just a side question, is there still a software limitation to outbound predictive dialing being stuck at 25 to 30 users, i would like to hear people's experience and input on that as well.
VICIBOX V10 installed via USB
VERSION: 2.14b0.5
BUILD: 220831-0850
Asterisk 13.38.2-vici
SVN: 3641 (at time of this signature edit)
Custom PC
No Extra Software After Installation
davesdatasystems
 
Posts: 132
Joined: Thu Aug 25, 2011 11:39 am

Re: Multi threaded CPU vs Hard core count

Postby mflorell » Tue Jul 11, 2017 6:34 am

I don't think I've ever had issues specifically with threads. I do know that the number of actual cores will mean more to capacity than threads will, but it's still best to have more separate servers for dialers than it is to have more powerful dialers because Asterisk load doesn't scale linearly. That means, that two 4-core-CPU dialers will be capable of reliably handling more capacity than a single 8-core-CPU dialer.

As for the limit on the number of agents, it's really a safety limit on the number of channels, not agents. If you are dialing at 4:1, I wouldn't recommend more than 30 agents on any single dialer. But we have had clients doing manual dialing that have reliably had 100 agents on a single dialer.
mflorell
Site Admin
 
Posts: 18335
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Re: Multi threaded CPU vs Hard core count

Postby davesdatasystems » Tue Jul 11, 2017 6:40 am

Thanks for the information. I know i see a lot of call centers really ramp up the ratio for calls, some of them up to 30 lines a agent or more (horrible leads). With 15 to 20 agents, From your information you are saying this is honestly a really bad idea? What can this lead to. I know i just had to do a table repair on someone that was running the system like this. DO you feel the how rate of calling was the reason for the corrupted tables?

Also, do you sleep Matt?
VICIBOX V10 installed via USB
VERSION: 2.14b0.5
BUILD: 220831-0850
Asterisk 13.38.2-vici
SVN: 3641 (at time of this signature edit)
Custom PC
No Extra Software After Installation
davesdatasystems
 
Posts: 132
Joined: Thu Aug 25, 2011 11:39 am

Re: Multi threaded CPU vs Hard core count

Postby mflorell » Tue Jul 11, 2017 6:56 am

We have seen MANY companies try to push VICIdial as hard as they can, and there is really nothing to stop them because there are no license limits on channels or agents.

When I say "safely", it's all about measures of reliability. When you overload your dialer, then things start to get missed, like a voice packet here or there, or a command isn't executed, or a recording isn't started(or is started several seconds late). The response to commands slows down and there are delays in the database because the dialer can't handle the number of CPU threads it has to maintain. It's not like the dialer just shuts down, although that can happen. The dialer just becomes less reliable and slower, and as a result, not everything that is supposed to happen will happen like it is supposed to. This is why we have recommended safe loads. A rule of thumb is to look at the loadavg on a dialer, and that it shouldn't get above 1 x "the number of CPU cores", so for a quad-core dialer, 4.00 would be a safe loadavg. Although, we have noticed on newer systems running Asterisk 11 that the loadavg can be inflated and not report a true load properly, so in those cases you could reliably load those systems to 8.00 without any issues.

It's all a trial and error process really. You have to find out how much your system can handle by testing it, and the results for the same hardware could be very different for clients that have different requirements.

For example, we have a VICIhost client that routinely places 1.5 million calls per day on their 12-dialer cluster. They are very focused on capacity and reliability, and they follow our recommendations for how to streamline their processes and do everything possible to safely optimize how they system works. We also have another client with more than double that number of dialers, but they do several things that we do not recommend doing, like using MySQL triggers, and complex custom SQL statements, and having over 20 million leads in their database. This other client can have system issues when they try placing just half of the number of daily calls as the first client I mentioned, even though they have double the number of dialers. So, you can see that reliable functional capacity is heavily dependent on a lot more than just the hardware you use.

As to whether I sleep, I like to take naps when I can :)
mflorell
Site Admin
 
Posts: 18335
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 50 guests