|
People within the computing and communications industries like to describe the evolution of technology with laws. It provides some level of comfort and predictability to an industry that is constantly changing. Some well-known laws include Metcalfe’s Law, Gilder’s Law, and of course Moore’s Law. Interestingly, none of these “laws” are laws of physics but rather they describe historical technology, business, and sociological trends and,
when extrapolated forward, provide some ability to predict future trends.
Previous columns have discussed the changing nature of the services, content, and capabilities of the next-generation network and the demands that these changes will place on the storage, transport, and processing infrastructure. To date, these discussions have been qualitative in nature, and little effort has been made to identify a quantitative relationship between some of the important networking trends or to determine units of measure that can be used to judge the relative value of various technological solutions.
THE PROBLEM
The service provided to an end user is the sum total of many individual services and applications running across the network. A mobile wireless data service, for example, is a combination of many applications running on network elements such as storage devices, servers, trunking gateways, media gateways, location registers, radio interfaces, and even applications running on the wireless client. A bit starts with a value at one end of the network and is processed many times as it is encoded, compressed, encrypted, and acted upon in other ways towards its destination. The information content of a bit varies widely depending on where it is seen within the network.
Gilder’s Law states that bandwidth (bits per second) is doubling about every 9 – 12 months. Many people argue over what exactly it claims to measure and the accuracy of its prediction. But exactly what Gilder’s Law represents and the rate of increase in bandwidth isn’t critically important. The important thing to note is that it is a graph representing bits per second that goes up and to the right. Similarly, Moore’s Law states that the number of transistors in a given area (transistors per square centimeter) is doubling every 18 months. Gilder’s Law and Moore’s Law are quite often put on the same graph to make a point that bandwidth is growing at a rate faster than processor performance. The problem with this comparison is that different and unrelated units of measurement describe the two lines on the graph. The graph is missing a third line, with units of operations per bit, which would show a steady increase up and to the right.
The operations performed on each bit are increasing for a number of reasons. Metcalfe’s Law, as modified by Hundt and Greenberg, states that the value of the network increases as the square of the number of users and in proportion to the content on the network and its accessibility. Another way to look at this is that as the content, accessibility, and users increase, so does the complexity of the network. In addition to the network itself, application complexity is increasing as the network moves from text-based to signals-based (voice, audio, video) processing. This complexity is not only increasing because of the changing nature of the information, but also because of what is being done to it by compression, encoding, encryption, and other algorithms. There are hundreds, if not thousands, of algorithms used in communications, and they are evolving from the raw processing of bits to more complex and abstract processing. For example, early versions of MPEG perform bit compression on video, and future versions of MPEG will use fractal and wavelet modeling to represent video. Voice recognition today is focused on phoneme parsing and recognition. In the future, natural language processing will not only involve phoneme parsing and recognition, but it will also involve semantic and contextual processing.
THE SOLUTION
Service and application requirements are putting pressure on performance, power, density, flexibility, scalability, and cost. Computing and communications are not the same. Instructions per second (IPS), followed by frequency (MHz, GHz) have become the standards upon which computing solutions have been measured. Communications is a different story. Communications solutions utilize a range of technologies such as analog, digital, and MEMS and operate in the electrical, radio, and optical domains. The units of measurement in this space include floating point operations per second (FLOPS), multiply and accumulate per second (MACS), and operations per second (OPS). These units are not easily comparable and in some cases are not even applicable to understanding or measuring the performance of certain technologies.
The diversity of technologies and operational domains in communications makes it very difficult to draw a boundary around and compare the effectiveness of different solutions. In many cases, solutions are optimized for performance, power, and other considerations by using different algorithms, architectures, data representations, numbering systems, and other techniques. Architectural approaches focus on different processor, programmable logic, and configurable logic combinations designed to operate in sequence or in parallel on a data flow. Different numbering systems and the manner in which data is represented can have an impact on the amount of transistor logic needed to process data (e.g., sections of logic or memory can be turned off to reduce power consumption). The unit of “operations per bit” offers a way to compare various solutions and also tie Gilder’s Law “demand” to Moore’s Law “supply.”
What is an operation? An operation is a set of functions and decisions that are executed across some combination of hardware and software. The exact distribution of an operation is dependent on a number of tradeoffs. Operations can be measured in units of execution, structure, energy, or maybe even complexity. The challenge is to find a unit that can account for the distributed nature of where an operation is performed and provide a useful method for comparing different technological solutions and functional distributions. Some approaches might try to minimize power consumption, and others might try to maximize flexibility.
In the research community, a number of disparate and non-converging units of measurement are in use. The traditional measure of an operation could be an abstract unit to which IPS, MACS, FLOPS, and OPS are normalized against. A structural unit might be a 4-bit adder to which other logic such as a multiplier or memory cell could be normalized against. The most interesting unit of measure for an operation may be the unit of energy called the Joule. A change in information content requires a change in energy. This implies that a way to measure the increase in operations per bit would be to actually measure the increase in Joules expended per bit. Software running on an application processor might expend more energy to perform a given operation than an ASIC because of differences in the number of transistors needed to execute a software program rather than application specific logic. Joules per bit is interesting because when multiplied by bandwidth it results in a graph of “demand” that is in units of Joules per second, which can be compared against Moore’s Law of transistors and the power they consume.
The number of operations being performed per bit is increasing as network, application, and algorithmic complexity is increasing. The slope of this increase is not known yet, but it is significant. As this increase is applied against the increase in bits per second (i.e., bandwidth), the resulting operations per second “demand” is increasing beyond Moore’s Law “supply.” New approaches are being used to provide the proper balance between performance, power, and other factors that this problem presents, but technology and domain differences make comparisons difficult with respect to existing units of measurement such as processor frequency.
Measuring performance by frequency is becoming less relevant, and Joules per operation may be the most appropriate new unit for providing a means to evaluate different approaches for distributing operations between hardware and software. Also, when used in conjunction with bandwidth, the unit may provide a means to evaluate overall system performance. The communications industry is at a crossroads, and it will need to develop and agree upon new measurements of performance to reflect the diverse nature of technologies that it has to offer and solutions that they enable.
Jeff Lawrence is a member of the CTO office of Intel Corporation’s Intel Communications Group. Prior to Intel, Jeff co-founded Trillium Digital Systems, Inc., and served as its president and CEO until Intel acquired the company in August 2000.
[ Return
To The November 2001 Table Of Contents ] |