What effect does ZXTM's connection processing have on CPU usage?

ZXTM will always process connections as quickly as possible, using as much CPU as it needs. When the traffic level increases, ZXTM gets more efficient, allowing more throughput per unit CPU time. Thus, for lower traffic levels, ZXTM may appear more heavily loaded than it actually is.

Delivering Pizza

A good analogy is a pizza delivery company. The way to get a pizza delivered fastest is to send out the delivery van as soon as one is ready, but when there are several pizzas ready to go at the same time (ie you have a higher load), you can make better use of your delivery van by delivering several at the same time, thus improving efficiency.

Scheduling connections

ZXTM processes connections using the following loop:

  • Wait until there is at least one connection to process
  • List all of the outstanding connections
  • Process everything in this list
  • Repeat

When there are only a few connections to process, the loop is very short and ZXTM can execute it quickly because there's little work to do during each iteration. This uses a lot of CPU time (relatively) due to the frequency with which the loop executes, but it ensures that each connection is serviced as quickly as possible.

ZXTM becomes more CPU efficient as throughput increases. Each loop iteration can do more work: there are more active connections at each iteration, and there is more data pending for each connection (due to increased loop dwell time). This means the ZXTM can spend more time servicing requests in bigger chunks, rather then executing the loop itself.

So, ZXTM greedily uses as much CPU as it can to process the current connections as quickly as possible. At low connection rates, the CPU utilization is disproportionately high, and even when ZXTM gets near to 100% utilization, there is still plenty of spare capacity to process additional connections.

Brian Cowe [Zeus Systems Engineering] 24 November 2006  Permalink  
Leave a comment ...
Your email address will not be displayed.
Your URL will be displayed.
This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.
Options:
 
(Line breaks become <br />)
(Set cookies for name, email & url)
Download Free ZXTM Desktop Edition

Recent Articles

Other Resources



www.zeus.com