A
Alexander Krizhanovsky
Hello,
I'm not sure that I'm posting to the right group - sorry if I'm wrong.
We need to choose hardware platform for our network processing
appliance (common 1-2U server, not an embedded device). Currently
we're going to use only base hardware, without specific hardware like
NPU or FPGA. I have experience with Bivio 7000 platform - high
performance platform for network processing, which is very close to
what we're looking for. Bivio in its solutions uses Freescale MPC7448
processors for application processing units (on which a user can run
his or her custom applications like IDS, HTTP proxy etc).
I had a look at MPC7448 specification: 2 32bit cores, 1.6Ghz, 32KB L1i
and L1d, 1MB L2, 32 general purpose registers and emphasize on
superscalar abilities (4 (3 + branch) instructions per clock). The CPU
costs about $250. Intel Xeon E5606 costs about the same, but has 4
64bit cores, 2.13Ghz, 32KB L1i and L1d, 256KB L2 per core, 8MB L3, 16
general purpose registers.
So why it has sense to use PowerPC processor instead of x86-46 for
high performance network processing? From my point of view double
number of cores and larger caches must beat double number of registers
and maybe better instruction level parallelism (however x86-64 is also
superscalar processor).
The typical workload for our application is memory intensive
operations which requires gigabytes of RAM with large work sets (i.e.
we have relatively low cache hit).
I'm not sure that I'm posting to the right group - sorry if I'm wrong.
We need to choose hardware platform for our network processing
appliance (common 1-2U server, not an embedded device). Currently
we're going to use only base hardware, without specific hardware like
NPU or FPGA. I have experience with Bivio 7000 platform - high
performance platform for network processing, which is very close to
what we're looking for. Bivio in its solutions uses Freescale MPC7448
processors for application processing units (on which a user can run
his or her custom applications like IDS, HTTP proxy etc).
I had a look at MPC7448 specification: 2 32bit cores, 1.6Ghz, 32KB L1i
and L1d, 1MB L2, 32 general purpose registers and emphasize on
superscalar abilities (4 (3 + branch) instructions per clock). The CPU
costs about $250. Intel Xeon E5606 costs about the same, but has 4
64bit cores, 2.13Ghz, 32KB L1i and L1d, 256KB L2 per core, 8MB L3, 16
general purpose registers.
So why it has sense to use PowerPC processor instead of x86-46 for
high performance network processing? From my point of view double
number of cores and larger caches must beat double number of registers
and maybe better instruction level parallelism (however x86-64 is also
superscalar processor).
The typical workload for our application is memory intensive
operations which requires gigabytes of RAM with large work sets (i.e.
we have relatively low cache hit).