PC Hardware Configurations for the
Dartnet/CAIRN Testbed

Fairly obsolete approximately 6 months from : Jan 20, 1997.

What would you like to build?


Medium Performance Routers

Purpose

This sort of router connects one or two T1 lines to an ethernet or internal ATM link. It runs the Dartnet software, but does not have any serious performance aspirations. This means that:

Requirements

The basic requirements of this configuration are that it be able to run Unix, that the overall memory and I/O subsystem be reasonable, and that non-network I/O operations have as little impact as possible on the operation of the machine. The configuration choices assume that the machine is a dedicated router, and is only incidentally used to compile kernels or run applications.

The configurations listed below are tested. However, this is not a terribly stressful application, and a wide range of hardware should work reasonably well.

Suggested Configuration #1

This is just a good Pentium-class machine with money spent only where needed for a router.

Notes for Configuration #1

Note 1: The Cyrix CPU's should be very good for this application. They have a good cache design, strong integer performance, and a good bus interface. But we haven't done any measurements at this time.

Note 2: A single Niwot T1 card will support up to two T1 lines. Do not get the cheaper single-line version of the Niwot card. Do not assume that the box will support more than one or two lines.

Note 3: This assumes that the router will not need to support more than about 10 ATM VC's. If you expect to support more, you should instead get an Efficient Networks EN-155-S card (4x the onboard memory) - but you might also consider whether you want a higher-performance router.

Note 4: Routers should theoretically use serial-line rather than graphics consoles. However, a graphics console is useful for a router which is debugged locally or runs other software. Also, the state of the serial-line console support, including remote power-cycling and rebooting, is not yet what it should be.

Suggested Configuration #2

This is a stripped-down version of the P6 router described below. It expands to a dual-processor version without throwing away any hardware. The performance tradeoff vis-a-vis configuration #1 above is complex, but the bottom line is that this one is likely to be faster at computational things (tricky packet scheduling, route calculations, etc) and that one might be a little faster at very simple things (dumb IP forwarding with not too many routes). This one grows up better, though.

Notes for Configuration #2

Note 1: The processor cache is used to hold fast-path code, other code, and the routing table. Ideally, things would be arranged so these uses did not collide, and the effect of the smaller cache would be only to reduce the speed of out-of-band code. Currently, this is not done, making the larger cache more useful than it should be.

Note 2: A single Niwot T1 card will support up to two T1 lines. Do not get the cheaper single-line version of the Niwot card. Do not assume that the box will support more than two lines. Both improved Niwot performance and other options are in the works.

Note 3: The Intel card is preferred over the DEC card for this configuration. The DEC cards we suggest elsewhere leave the IP header misaligned in memory, which is a significant performance hit for a P6.

Note 4: This assumes that the router will need to support a larger number of ATM VC's. If you expect never to support more than 10 VC's or so, you might instead get an Efficient Networks EN-155-C card (1/4 the onboard memory) or an Adaptec card.

Further note: the Adaptec card's PCI interface may in the end turn out to be better than the Efficient's one. I can't say yet.

Note 5: Routers should theoretically use serial-line rather than graphics consoles. However, a graphics console is useful for a router which is debugged locally or runs other software. Also, the state of the serial-line console support, including remote power-cycling and rebooting, is not yet what it should be.

Back to top

High Performance Routers

Purpose

This sort of router may route between several T1 lines, ethernets, and/or ATM links. Performance and experimental flexibility are goals. This means that:

Suggested Configuration

This is a dual-processor P6 equipped suitably for a router.

Notes for Configuration

Note 1: At this moment, the dual-processor software is not ready for prime time, and P6 prices are still a bit artificially inflated from a supply squeeze last fall. So, it might make sense to only buy one processor now, and be prepared to get the second one later.

Because the dual-processor machine splits the router function between a forwarding CPU and a control CPU, the larger 512K cache processor is less likely to be worth it. (We hope) the forwarding CPU will be able to get its code loop and a testbed-size routing table in 256K of cache.

Note 2: A single Niwot T1 card will support up to two T1 lines. Do not get the cheaper single-line version of the Niwot card. Do not assume that the box will support more than two lines. Both improved Niwot performance and other options are in the works.

Note 3: The Intel card is preferred over the DEC card for this configuration. The DEC cards we suggest elsewhere leave the IP header misaligned in memory, which is a significant performance hit for a P6.

Note 4: This assumes that the router will need to support a larger number of ATM VC's. If you expect never to support more than 10 VC's or so, you might instead get an Efficient Networks EN-155-C card (1/4 the onboard memory) or an Adaptec card.

Further note: the Adaptec card's PCI interface may in the end turn out to be better than the Efficient's one. I can't say yet.

Note 5: Routers should theoretically use serial-line rather than graphics consoles. However, a graphics console is useful for a router which is debugged locally or runs other software. Also, the state of the serial-line console support, including remote power-cycling and rebooting, is not yet what it should be.

Back to top

Buddy Hosts

Purpose

Buddy hosts support remote control of Routers, CSUs, ATM switches, and the like. The buddy host is connected to a router's console and CSU control ports by serial lines, and can be reached by telnet from the internet even if the local dartnet router is boken. This allows the router or CSU to be diagnosed and controlled remotely.

Requirements

There are few specific requirements on a buddy host; most any cheap PC will do. The key issue is that it must have enough serial ports.

Standard PC's have two serial ports. If you only need serial ports for the router and CSU consoles you are fine unless you want to run X on your buddy host (you are using it as a development host too, say) in which case you need a machine with a PS/2 mouse. Otherwise, your mouse will use up a serial port.

You can add two additional serial ports with a cheap expansion card. The card you select should have "16550A UART's", which narrows the list of vendors to about a thousand...

Suggested Configuration

The only thing special about this configuration is that it uses parts suggested elsewhere on this page. As mentioned above, most any PC will do.

Back to top

Multimedia Test Hosts

Fair Warning: The information in this section will be obsolete even faster than the rest of this page!

Purpose

A multimedia test host is designed to offer the highest possible performance to networked audio and video applications such as VAT and VIC. Coincidentally, this implies that it will also work well as a development and general application machine.

Requirements

This hardware is selected for:

Suggested Configuration #1

Notes

Intel Pentium processors are designed to run with an external bus speed of 66MHz. The current-generation PCI bus is designed to run at 33MHz. However, this hardware should work with an external processor bus speed of 75 MHz and corresponding PCI bus speed of 37.5 MHz, which visibly improves performance. The ASUS mainboard is capable of 83 MHz main memory speed, but the I/O components cannot reliably keep up.

This configuration comes with two caveats:

You may be surprised that this is a Pentium (P5) rather than a Pentium Pro (P6) machine. At present we are trying the P5 approach, because of the availability of mainboards with faster bus speeds and processors with the MMX instruction set, some limitations of the standard P6 PCI chipset (the "Natoma" / 440FX) and price. P6 machines with these technical capabilities may become available sometime in 1997.

If your particular project is:

Then this configuration is not for you. I'll eventually add a P6 multimedia configuration here, but for now go look at the high performance router, and combine it with the video card and other peripherals suggested here.

NOTE: Natoma chipset incompatability with Matrox Meteor frame grabber. Many people have reported a problem using the standard Matrox Meteor in Pentium Pro machines with the Natoma chipset. Matrox is manufacturing a special, slower, version of the Meteor which avoids this problem, at some performance cost. I currently suspect that the problem can be worked around in software with less performance cost than the special hardware version, but we haven't tried the experiment.

Substitutions

Here is some alternate hardware which might be useful in multimedia configurations.

Anti-Substitutions

Back to top

More...

Display Cards

Most of the machine configurations mentioned above don't put much stress on the video display card. For those that do, a specific card is recommended in the configuration. For those that don't, the following information may help.

You aren't running a window system

Virtually any display card will do for a text console. Use whatever came with your machine, or buy a $39.00 SVGA card in an unlabelled white box from your local computer store or mailorder vendor.

You're running X, but performance isn't important

Try the XFree86 SVGA server. It will support most PC display cards to one extent or another. Read the documentation accompanying XFree86 to get a current list of supported cards.

You care about X Window System performance

We have machines at MIT equipped with the following high-quality display cards:

All of these cards are OK for general X use. Again, the XFree86 documentation has a complete list of supported cards. However, keep in mind that XFree86 often does not support the very newest cards in a vendor's product line, and that small changes in a chipset number or card name can often imply huge differences in the hardare.

Back to top

Ethernet Interfaces

If the configuration list above does not suggest a specific ethernet interface, you should consider using:

If you won't ever care about 100MB Ethernet, you should consider:

Back to top

Sound Cards

Kind of a mess at the moment. One problem is that most new soundcards incorporate "ISA Plug and Play" support, and the current FreeBSD sound driver cannot really deal with this. There is work in progress both within and outside of the CAIRN community to improve the situation.

Some cards which work or should soon:

Note that most of the Creative Labs "SoundBlaster" designs, which completely dominate the market, are not good choices because they don't support full-duplex operation.

See our hardware page for some more verbose commentary on this annoyance.

Back to top


This work is supported by the Defense Advanced Research Projects Agency under contract DABT63-94-C-0072. We are grateful for previous support by the Intel Corporation.

John Wroclawski / MIT Lab for Computer Science / jtw@lcs.mit.edu