[Asterisk-Dev] IBM/SGI implementations
Steve Kann
stevek at stevek.com
Mon Nov 22 11:56:12 MST 2004
Steven Critchfield wrote:
>On Sat, 2004-11-20 at 16:28 -0500, John Todd wrote:
>
>
>>I hadn't thought about SGI. Do they have any special hardware tricks
>>up their sleeves for perhaps doing codec transcoding in a more
>>efficient manner than in the "generic" main CPU?
>>
>>
>
>I don't know about special tricks other than the ability to add 4 way
>Itanium bricks to the "cluster" and have it just work. They have a
>special interconnect to have all the CPUs communicate via NUMA and
>therefore to the OS it is as if they all are in the same motherboard. So
>the benefit I see is in that you could get your DS3 and a couple of C
>bricks(cpu components) and start off with a nice frac DS3 setup. As you
>grow and need more channels and CPUs, you add another C brick and up
>your capacity. Unfortunately I don't have any experience with it so I'll
>leave it at that.
>
>
I think a great "trick" to do DSP operations like codecs on cheap
hardware is to use the power of the GPU. This is something that Mark's
been talking about in the past.
Much of the work of audio DSP stuff seem to be similar to the work that
your off-the-shelf GPU can do much faster than GP CPUs can, and the
price/performance is great. You'd need to rewrite the codecs, and other
DSP routines for this, but programming to a meta-library like Sh
(http://libsh.sourceforge.net/) can allow your code to be portable
amongst several GPU backends.
"The new GPUs are very fast. Stanford's Ian Buck calculates that the
current GeForce FX 5900's performance peaks at 20 Gigaflops, the
equivalent of a 10-GHz Pentium?with, according to Nvidia, even more
speed on the horizon. Performance growth has multiplied at a rate of 2.8
times per year since 1993, a pace analysts expect the industry to
maintain for another five years. At this rate, GPU performance will move
inexorably into the teraflop range by 2005. "
While moving to bigger, more flexible iron is always a strategy that can
be made to work, it's usually not the most cost-effective.
If instead, we designed * such that you could build a cluster of cheaper
boxes, and have them operate as a cohesive unit such that if one box
fails, others could seamlessly take over, you'd still get much better
price/performance than if you used scalable/fault-tolerant (read:
expensive and complicated) hardware like this thread has been discussing.
The first step towards a true clustered solution might be designed such
that if a box fails, you lose the calls that were presently on the box,
but otherwise the system can keep running. As long as you can have a
cluster working together, and scaling to tens or hundreds of machines
operating as a seamless unit, that might be an acceptable solution, and
able to give you a decent number of 9's.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20041122/aeea6824/attachment.htm
More information about the asterisk-dev
mailing list