/research/smt/index.html. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. SYSTEMS ENGINEERING ISSUES SYSTEMS ENGINEERING ISSUES to try to distract the customer's attention away from the real issues. Think about it. Why would some- one offer sophisticated network engineering software for free? Be careful when free code is offered, regardless of which brand name is offering it. Of course, typical customers look at this as an advantage if bug-free, tested, and validated soft- ware is obtained for free from a highly reputable NPU vendor. However, it is only helpful in the short term. Even if this solves some of the problems that the customer's product Release-One team con- fronts, the larger issue for the customer is how the Release-Two team will eventually deal with sub- sequent problems associated with modifying code that the customer has not written in the first place. Surprisingly, many companies do not think about this. This "hot potato" attitude is typical in some younger organizations where product Release-One teams just want to get rid of the current problem. This happens most often when teams are working under tremendous pressure to perform miracles within a short amount of time and with a limited budget. These teams ultimately do not exhibit much regard or sensitivity toward future problems down the line. However, this does not necessarily stem from ill intentions. It is usually a quasi-invisible by-product of the context we just discussed. Designers will pay a price for such a short-term advantage. Let us look now at the problem from another angle-namely, how software can be mapped onto the underlying network-processing architecture. We have seen that there are sequential and parallel architectures. Parallel architectures exhibit some degrees of pipelining and multithreading. In order to develop software that performs at wire speed, a