Page 44 - Asterisk™: The Future of Telephony
P. 44
ant of IRQ latency. This is not due to any problem with the cards so much as part
of the nature of how a software-based TDM engine has to work. If we buffer the
TDM data and send it on the bus as a larger packet, that may be more efficient
from a system perspective, but it will create a delay between the time the audio is
received on the card, and when it is delivered to the CPU. This makes real-time
processing of TDM data next to impossible. In the design of Zaptel, it was decided
that sending the data every 1 ms would create the best trade-off, but a side effect
of this is that any card in the system that uses the Zaptel interface is going to ask
the system to process an interrupt every millisecond. This used to be a factor on
older motherboards, but it has largely ceased to be a cause for concern.
Linux has historically had problems with its ability to service IRQs
quickly; this problem has caused enough trouble for audio devel-
opers that several patches have been created to address this short-
coming. So far, there has been some mild controversy over how to
incorporate these patches into the Linux kernel.
Kernel version
Asterisk is officially supported on Linux Version 2.6.
Linux distribution
Linux distributions are many and varied. In the next chapter, we will discuss the
challenge of selecting a Linux distribution, and how to obtain and install both
Linux and Asterisk.
Choosing a Processor
Since the performance demands of Asterisk will generally involve a large number of
math calculations, it is essential that you select a processor with a powerful FPU. The
signal processing that Asterisk performs can quickly demand a staggering quantity of
complex mathematical computations from the CPU. The efficiency with which these
tasks are carried out will be determined by the power of the FPU within the processor.
To actually name a best processor for Asterisk in this book would fly in the face of
Moore’s law. Even in the time between the authoring and publishing of this book,
processor speeds will undergo rapid improvements, as will Asterisk’s support for var-
ious architectures. Obviously, this is a good thing, but it also makes the giving of advice
on the topic a thankless task. Naturally, the more powerful the FPU is, the more
concurrent DSP tasks Asterisk will be able to handle, so that is the ultimate consider-
ation. When you are selecting a processor, the raw clock speed is only part of the
equation. How well it handles floating-point operations will be a key differentiator, as
DSP operations in Asterisk will place a large demand on that process.
Both Intel and AMD CPUs have powerful FPUs. Current-generation chips from either
of those manufacturers can be expected to perform well. ‡
16 | Chapter 2: Preparing a System for Asterisk