Personal Perspective: The Network Is the Real-Time Processing System


By Mark D. Wecht



In 1984 John Gage, a Sun Microsystems employee, coined the phrase: “The network is the computer.” Scott McNealy, CEO of Sun Microsystems, borrowed the phrase and turned it into a marketing slogan. Today more than ever, this concept of the network being the computer has become a reality.

The network is used to distribute command, control and status, and also provides a transport layer for data distribution. The evolution of a standard network-based real-time processing architecture would provide for the development of highly scalable, distributed, open architecture, real-time processing systems.



No Boundaries

Today, many real-time processing systems no longer fit within the confines of a single chassis. In the past, bus bridges were used to allow the interconnection of several chassis. While this worked for some distributed real-time processing, the high rate data streams of today need to be processed by systems that can distribute the data between several processing elements without concern for chassis boundaries.

It is now possible to build an embedded processing system that consists of many processing elements that are interconnected by a network. If embedded engineers can do the trunk traffic engineering properly, networking technology today can provide an inexpensive way to free embedded solutions from the chassis backplane bus boundary.

There are many commercial off-the-shelf (COTS) processing elements that can be used to assemble high performance real-time processing systems. In most cases it requires technical experts to combine them to form a functional system. These processing elements can be very expensive and may require a complete investment in all of the components necessary to build a given system.



The Sum of Its Parts

In addition, it is also necessary to invest in development tools specific to the processing elements. For example, one may need an embedded operating system like VxWorks or MC/OS that has the support for loading code and reconfigurable hardware designs, communication between processing elements and device driver support.

The marriage of reconfigurable hardware and software is inevitable. It will not be long before commodity computers have field programmable gate array (FPGA) logic available to the application developer. Imagine having a platform where a compiled program, when loaded, has components that are text code segments for the given central processing unit (CPU) to execute and components that are the bit images to be loaded into an FPGA. The CPU and FPGA will work together to perform the execution of the application. The FPGA may be the co-processor for the CPU or the CPU may be the co-processor for the FPGA.

It would not be difficult to build a complex real-time processing system if COTS processing elements supported a network interface and implemented a standard set of commands over TCP/IP. A standard network based on distributed real-time processing architecture would allow processing systems of the future to be put together in much the same way as modern home entertainment systems.

In the home entertainment market, many companies supply components that can be easily interfaced to create very complex systems. To accomplish this, manufacturers have agreed on standard connectors, electrical interfaces and protocols. These standards allow a CD player to be connected to a receiver, graphic equalizer, television, DVD player and speakers. The end user is able to select the exact equipment necessary to satisfy his requirements.



Conformity Is Needed

Today, there is no standard for transporting real-time streaming data over a network between processing elements. The real-time processing community would need to arrive at a modular, component-based solution; several factors allow movement in this direction. First, the cost of commodity processing elements is coming down, allowing commodity servers to be purchased in quantity at a reasonable cost. Second, Ethernet networking technology is now very affordable and is available in 10-, 100- and 1,000-megabit-per-second sustained line rates, and 10-gigabit Ethernet is just around the corner. Third, Linux distributions have become well supported and affordable without a license fee. Distributed multi-processor, multi-box and multi-process processing can now be implemented affordably in rack-mounted computers, running Linux and connected via gigabit Ethernet using non-blocking network switches. Interfaces between boxes and processes are implemented using TCP/IP for data distribution, command and control.

Companies such as Xilinx are bringing network connectivity directly into FPGA logic, such as in the Xilinx Virtex 4 product, allowing custom electrical/optical interfaces and processing elements to be implemented by FPGA based processing systems. A standard architecture would allow many different companies to supply the processing elements that could be used to form complex systems.

The community should build on the gathering momentum behind distributed common open architectures by providing the architecture and associated technology to provide developers the ability to build highly scalable, distributed, open architecture, real-time processing systems. A good start would be architecture and technology elements that take advantage of commodity servers, network attached storage (NAS), Linux, gigabit Ethernet, TCP/IP and network attached FPGA logic. If that happens, it will not be long before we hear: “The network is the real-time processing system.”



Mark D. Wecht is president of Embedded Systems Design Inc. in Elkridge. He can be reached at mark.wecht@embedded-sys.com or 410-712-7290.