Communications

Software Router Smashes Speed Records

A novel approach to networking will enable new Internet protocols.

  • Monday, August 23, 2010
  • By Christopher Mims

Researchers in South Korea have built a networking router that transmits data at record speeds from components found in most high-end desktop computers. A team from the Korea Advanced Institute of Science and Technology created the router, which transmits data at nearly 40 gigabits per second--many times faster than the previous record for such a device.

The techniques used by the researchers could lead to a number of breakthroughs, including the use of cheaper commodity chips, such as those made by Intel and Nvidia, in high-performance routers, in place of custom-made hardware. The software developed by the researchers could also serve as a testbed for novel networking protocols that might eventually replace the decades-old ones on which the Internet currently runs.

Most routers use custom hardware to route data as it passes between computer networks. Software routers perform the same tasks using commodity hardware--by mimicking the behavior of a hardware router in software. Commercial software routers from companies such as Vyatta can typically only attain transfer data at speeds of up to three gigabits per second. That isn't fast enough to take advantage of the full speed of a typical network card, which operates at 10 gigabits per second.

"We started with the humble goal of being the first to get a PC router to 10 [gigabits per second], but we pushed it to 40," says Sue Moon, leader of the lab in which the research was conducted. Her students Sangjin Han and Keon Jang developed software called PacketShader that made this possible. PacketShader uses a computer's graphics processing unit (GPU) to help process packets of data sent across a network.

Modern routers are rarely dumb switches anymore. They are often called upon to manipulate packets in a number of different ways as they pass through. GPUs are ideal for this purpose because they can process data in parallel, which means they can handle several packets of data at once. According to Moon, a GPU is much faster at handling some packet-processing tasks, such as authenticating or encrypting all of the packets in a stream. When the GPU takes over these tasks, it gives the central processing unit (CPU) breathing room to handle other things that are more serial in nature, such processing several packets in turn to detect attempts to break into a network.

Mark Handley, a professor of networked systems at University College London, points out that for basic packet forwarding, which isn't likely to overwhelm a computer's CPU, there is no advantage to strapping the GPU onto the system. However, he agrees that the GPU is very well suited to encrypting or authenticating packets.

Gianluca Iannaccone, an engineer at Intel Labs Berkeley who is familiar with PacketShader, says it could slash the number of physical machine needed to comprise a terabit-per-second software router to one-third of what his research has previously indicated would be required.

"One terabit is the entry point for enterprise-grade routers--the routers in the core of the Internet," says Iannaccone. His work on a system called RouteBricks points to a future in which routers aren't the specialized hardware they are now, but instead function as software running on pools of servers. Lash enough software routers together that run at 40 gigabits per second, and you get what is essentially a single-terabit router. Using such a system, routers might some day run completely in software.

"We can expect killer apps out of this," says KyoungSoo Park, another professor at the Korea Advanced Institute of Science and Technology who was involved with the project. "You can build an interesting packet- or network-management system on top of a PC-based software router that can't be implemented with a hardware router. Ultimately, you can experiment with new protocols that are not used in today's Internet."

Print

Related Articles

Build Your Own Cellular Network

Just about anybody can create an inexpensive cellular base station that routes calls all over the world.

First "White Space" Network Launched

The wireless network will deliver high-speed internet to rural Virginia.

A Mobile Mesh Network Goes Nuclear

Backpacks that detect nuclear material form a wireless mesh network.

Close Comments

To comment, please sign in or register

Forgot my password

wmertens

1 Comment

  • 534 Days Ago
  • 08/23/2010

Bytes vs bits

Note that the article uses "bytes" where it should say "bits", nearly everywhere. It would be great if that could be corrected.

Reply

chrisjmiller

63 Comments

  • 534 Days Ago
  • 08/23/2010

Re: Bytes vs bits

I agree - often a sign that the author of the article is not particularly computer literate.  As a further example: "a typical network card, which operates at 10 gigabytes per second" - even assuming this should read gigabits per second, this can hardly be described as a typical speed.

Reply

roscheer

1 Comment

  • 534 Days Ago
  • 08/23/2010

Re: Bytes vs bits

The author probably used an approximation, dividing the rates usually expressed in bits/s by 10 to obtain the rates in bytes/s.

Reply

theapp

5 Comments

  • 534 Days Ago
  • 08/23/2010

Re: Bytes vs bits

Keep in mind that it is a factor of 8 for bits/bytes, not 10.  So 8 bits equals 1 byte.  However, if you meant to say Mbps to Gbps, then that is a different story 1Gbps = 1000Mbps.

Reply

theapp

5 Comments

  • 534 Days Ago
  • 08/23/2010

Re: Bytes vs bits

I imagine the author is referring to enterprise level routers versus home routers when this speed is discussed.  Home routers are generally limited to 10/100/1000Mbps, while enterprise routers (very expensive and not for home use) generally need more capability and speed and likely move into the 10Gbps category (and theoretically the 40Gbps if this software process takes off).

Reply

borgendale

1 Comment

  • 533 Days Ago
  • 08/24/2010

Re: Bytes vs bits

The typical client network card may be 1Gbps (1 gigabits per second).  In the data center there are currently ethernet at 10Gbps and InfiniBand at 16Gbps.  40Gbps ethernet and InfiniBand are comming into existance.

A switch must be able to handle not just the bandwidth of a single network interface, but full duplex data from all network interfaces.  A common 10Ge or InfiniBand switch has 32 ports, and thus must be able to handle data at 32 times the speed of the interface.

Another consideration is not just the throughput of the switch, but also the latency added by the switch.

Reply

willknight

37 Comments

  • 533 Days Ago
  • 08/24/2010

Re: Bytes vs bits

Yes, it should be *bits, not *bytes. The article has been corrected--apologies for the error.

Reply

Advertisement

Spellic

1 Comment

  • 534 Days Ago
  • 08/23/2010

Waste of power???

What about the fact that a computer cluster would consum several times more power than a high performance hardware switch?

During times where the term of "green computing" is becoming more and more important, the invention of a power hungry router does not sound very future oriented. I doubt that it is possible to create a software solution for routing network traffic with high performance while using less power than a functional similar hardware device would consume.

Reply

rsanchez1

213 Comments

  • 532 Days Ago
  • 08/25/2010

Re: Waste of power???

Waste of what kind of power? For cheaper components, you are getting more speed. Maybe it's not as "green" as you want, but then again people like you often argue about net neutrality. I think this technology will aid net neutrality, by making it cheaper to route more data more quickly. Maybe it will consume more electricity. There's no such thing as free lunch...

Reply

tommcc

1 Comment

  • 534 Days Ago
  • 08/23/2010

Measurement?

It's nice to see more research proving the viability of software-based networking on x86 platforms.

I would love to see the article corrected to note the actual throughput of Vyatta. Vyatta software on today's quad core devices can deliver close to 10Gbps at small packet sizes - and even faster as tested by Intel earlier this year  http://edc.intel.com/Download.aspx?id=2977&returnurl=/default.aspx

Reply

kyoungsoo

1 Comment

  • 534 Days Ago
  • 08/23/2010

Re: Measurement?

I see less than 5 Gbps in Figure 4 (looks to be close to 2 Gbps). Did they improve the performance by a factor of five?

Reply

mattgroom

286 Comments

  • 531 Days Ago
  • 08/26/2010

Interesting protocols

Not sure where they are going with this. If indeed the packets are processed in parallel, i can only surmise the great side effect of someone hacking the router is having every gpu duplicate every packet...

That would be interesting though possibly not in the way they intend.

Reply

rocket7777

124 Comments

  • 469 Days Ago
  • 10/27/2010

GPU

GPU is HARDWARE.
So what's the difference if DSP/GPU/CPU or some custom made unit with internal DSP/RISC/ etc were used?

Reply

Advertisement

MAGAZINE

Can We Build Tomorrow's Breakthroughs?

Manufacturing in the United States is in trouble. That's bad news not just for the country's economy but for the future of innovation.

Advertisement

Technology Review Lists

TR50

Our list of the 50 most innovative companies, including the following:

A123 Systems

SpaceX

Nissan

PrimeSense

More

Advertisement

Facebook

Advertisement