Choosing a Motherboard



Just to get any anticipation out of the way, we also cannot recommend specific moth-
erboards  in  this  book.  With new motherboards  coming  out on  a weekly basis, any
recommendations we could make would be rendered moot by obsolescence before the
published copy hit the shelves. Not only that, but motherboards are like automobiles:
while they are all very similar in principle, the difference is in the details. And as Asterisk
is a performance application, the details matter.
What we will do, therefore, is give you some idea of the kinds of motherboards that
can be expected to work well with Asterisk, and the features that will make for a good
motherboard. The key is to have both stability and high performance. Here are some
guidelines to follow:


The various system buses must provide the minimum possible latency. If you are
planning a PSTN connection using analog or PRI interfaces (discussed later in this
chapter), having Zaptel cards in the system will generate 1,000 interrupt requests
per second. Having devices on the bus that interfere with this process will result
in  degradation  of  call  quality. Chipsets  from  Intel  (for Intel  CPUs)  and nVidia
nForce (for AMD  CPUs)  seem to  score the  best  marks in this area.  Review the
specific chipset of any motherboard you are evaluating to ensure that it does not
have known problems with IRQ latency.


If you are running Zaptel cards in your system, you will want to ensure that your
BIOS  allows  you  maximum  control  over  IRQ  assignment.  As  a  rule,  high-end
motherboards will offer far greater flexibility with respect to BIOS tweaking; value-
priced boards  will  generally offer very little  control. This may  be a moot point,
however, as APIC-enabled motherboards turn IRQ control over to the operating
system.


Server-class  motherboards  generally  implement  a  different  PCI  standard  than
workstation-class motherboards. While there are many differences, the most ob-
vious and well known is that the two versions have different voltages. Depending
on which cards you purchase, you will need to know if you require 3.3V or 5V PCI
slots.  Figure 2-1 shows the visual differences between 3.3V and 5V slots. Most
server motherboards will have both types, but workstations will typically have only
the 5V version.


There is some evidence that suggests connecting together two com-
pletely separate, single-CPU systems may provide far more benefits
than simply using two processors in the same machine. You not
only double your CPU power, but you also achieve a much better
level of redundancy at a similar cost to a single-chassis, dual-CPU
machine. Keep in mind, though, that a dual-server Asterisk solu-
tion will be more complex to design than a single-machine solution.


Consider using multiple processors, or processors with multiple cores. This will
provide an improvement in the system’s ability to handle multiple tasks. For As-
terisk, this will be of special benefit in the area of floating-point operations.
If you need a modem, install an external unit that connects to a serial port. If you
must have an internal modem, you will need to ensure that it  is  not a so-called
“Win-modem”—it must be  a  completely self-sufficient  unit (note that  these  are
very difficult, if not impossible, to find).


Consider that with built-in networking, if you have a network component failure,
the entire motherboard will need to be replaced. On the other hand, if you install
a peripheral Network Interface Card (NIC), there may be an increased chance of
failure due to the extra mechanical connections involved. It can also be useful to
have separate network cards serving sets and users (the internal network) and VoIP
providers and  external sites  (the external network).  NICs are cheap; we suggest
always having at least two.


The stability and quality of your Asterisk system will be dependent on the com-
ponents you select for its architecture. Asterisk is a beast, and it expects to be fed
the best. As with just about anything, high cost is not always synonymous with
quality, but you will want to become a connoisseur of computer components.
Having said all that, we need to get back to the original point: Asterisk can and will
happily install on pretty much any system that will run Linux. The lab systems used to
write this book, for example, included everything from a Linksys WRT to a dual-Xeon
locomotive.# We have not experienced any performance or stability problems running
less than five concurrent telephone connections.


For the purposes of learning, do not
be afraid to install Asterisk on whatever system you can scrounge up. When you are
ready to put your system into production, however, you will need to understand the
ramifications of the choices you make with respect to your hardware.