|
|
|
|||
|
|
|
||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3. Technical Research Priorities |
Technical Research Priorities |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.1 Software Research |
Software Research Software is the new physical infrastructure of the information age. It is fundamental to economic success, scientific and technical research, and national security. Software is increasingly important for commerce, communication, information access, and the Nation's physical infrastructure. The continuing emergence of cheaper and faster microprocessors has allowed more and more functions to be performed by software. While we may think of the phone system, the Internet, or even a camera or a car as devices, these devices cannot function without software. We rely on software to work without fail, to be modifiable as requirements change, and consistently to provide more functions with better performance. However, because the demand for software has grown at such an explosive rate, demand now far exceeds supply. Furthermore, the Nation depends on software that is often fragile, unreliable, and extremely difficult and labor-intensive to develop, test, and evolve. Our ability to construct the software to manage information and our ability to analyze and predict the performance of the enormously complex software systems that lie at the core of our economy are painfully inadequate. We are neither training enough professionals to supply the needed software2 nor adequately improving the efficiency and quality of our construction methods. The recent Government emphasis on short-term applied R&D has hurt software research, reducing the generation of new ideas and approaches that would address the demand. |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.1.1 Findings |
Findings Finding: Demand for software far exceeds the Nation's ability to produce it. The explosive growth of information technology has fueled an unprecedented demand for new software. Software is needed to support millions of legacy systems as well as new products, to provide fundamental services on the Internet, and to solve important national problems. The resources needed to develop this software have not kept pace with the demand, producing what might be called a "software gap." An interaction of factors has caused this software gap: accelerated demand for software, increased complexity of systems, labor-intensity of development, variable quality in the labor pool, labor shortages, and lack of adequate science and technology to support robust development. Since hardware improvements create demand for more software, the demand will continue to accelerate. Today's systems and applications software are substantially more complex than in the past. Software systems are now among the most complex human-engineered structures. This situation threatens to inhibit the progress of the current boom in information technology. It may also threaten the health and welfare of the Nation by reducing the rate at which solutions to software-intensive problems, like aviation safety and crisis management, can be solved. The Federal Government must take steps to address the situation by investing in software research. Note that "software research" means more than just research on new strategies to improve software development productivity. Software research also includes research into new tools to manage information and support commerce, development of new software to make computers easier to use, creation of software for embedded devices and new applications, and research to make software systems interoperate more effectively. It also means more than just investing in refining standard approaches to software development. It means funding well-defined but radical approaches that are high risk but could have a major impact. It will require conceptual breakthroughs to invent new, "outside-the-box" approaches. The Federal Government should also help increase the pool of information technology professionals capable of developing good software. Finding: The Nation depends on fragile software. The Nation needs robust systems, but the software our systems depend on is often fragile. Software fragility is its tendency not to work properly -- or at all. Fragility is manifested as unreliability, lack of security, performance lapses, errors, and difficulty in upgrading. Examples can be found everywhere, from our huge information systems for air-traffic control to the personal computers on our desks, from the Pentagon to the Internal Revenue Service (IRS). One aspect of our software's lack of security is evidenced by the fact that teenage hackers have easily penetrated our telephone and military systems; in reality the software-security problems we face go far beyond calculated external attacks. The Federal Aviation Administration (FAA) and IRS systems have proven difficult to upgrade. Large telecommunications networks have crashed, and banks have been robbed electronically. Even after large, expensive testing efforts, commercial software is shipped riddled with errors ("bugs"). Software producers rely on their users to discover the remaining errors in actual use, making it even more likely that our systems will fail. Not only are our products inadequate -- so are our processes. The Standish Group3 reports that 73 percent of software projects are late, substantially over budget, canceled, or outright failures. The well publicized, potentially catastrophic "Year 2000 problem" is an example of known unreliability and illustrates the difficulty and cost of upgrading to meet new circumstances. Companies spend enormous amounts to back-up their on-line data in order to compensate for the risk that their own systems will corrupt it. The Nation cannot afford to let the current situation continue. We must commit to develop the science, technologies, and methods needed to build robust software systems -- ones that are reliable, fault-tolerant, secure, evolvable, scaleable, maintainable, and cost-effective. Finding: Technologies to build reliable and secure software are inadequate. During the past 40 years, computing hardware has seen an increase in performance of at least eight orders of magnitude. Our ability to develop software has not kept pace with the opportunities those hardware advances provide. Our ability to construct the systems we require and our ability to anticipate the performance of the enormously complex software systems that lie at their core are inadequate. Large software systems are beyond our capability to describe precisely. Consequently, there is little automation of their construction, little re-use of previously developed components, virtually no ability to perform accurate engineering analyses, and no way to know the extent to which a large software system has been tested. Having meaningful and standardized behavioral specifications would make it feasible to determine the properties of a software system and enable more thorough and less costly testing. Unfortunately such specifications are rarely used. Even less frequently is there a correspondence between a specification and the software itself. Often software behavior and flaws are observable only when the program is run, and even then may be invisible except under certain unusual conditions. Programs written in such circumstances frustrate attempts to create robust systems and are inherently fragile. Software development relies on individual genius and creativity, and, as with all design-based disciplines, will continue to do so. But it has become clear that the processes of developing, testing, and maintaining software must change. We need scientifically sound approaches to software development that will enable meaningful and practical testing for consistency of specifications and implementations. This requires long-term research in languages, theories, simulation, analysis, and testing that could lead to standardized multilevel mechanisms similar to those which have created the success in computer-aided design for digital hardware. The construction and availability of libraries of certifiably robust, specified, modeled, and tested software components would greatly aid the development of new software. Libraries of software components for developing business applications are beginning to be constructed commercially, but only in limited circumstances. Finding: The diversity and sophistication of software systems are growing rapidly. The enormous advances in computing capability, the integration of computing and communications, and the striking reductions in the costs of those technologies have increased the opportunities for new and different software-based applications. The algorithms and the information structures needed for these new application domains require increased research in order for the applications to flourish. For example, real-time control is essential for transportation systems, for observational input to weather and climate systems, and for telemedicine. Scene recognition systems play an important role in national security. Ubiquitous computing and collaborative decision-making have very broad and important military and civilian uses. Whether the purpose of software is systems-oriented (e.g., an operating system, a compiler, or a protocol for wireless communication) or applications-oriented (e.g., a billing system, a speech interface, or a simulation), the software technology must continue to advance. Finding: More and more often, common activities of ordinary people are based on software. Twenty years ago, most computer use was job-related. Today, people use computing services all the time -- for banking and financial matters, for entertainment, to arrange travel, to correspond with friends and family, to reach other people by phone, and so forth. Not only must the services they use be reliable and available, but they also must be sufficiently easy to use, both physically and intellectually. As software processes replace manual activities, important characteristics of the older processes must be preserved (three examples: historical records must be preserved, errors and omissions must be tolerated, and it must be possible to get assistance and to pause a partially completed activity and resume later). Computers provide communication and information access that previously required specialized devices, such as telephones, music players, televisions and VCRs. Making these devices more intelligent promises to make user interfaces much richer and more pleasant to use. These new devices will allow us to use all our senses when working with computer applications much as we do in the real world. Since computers are much more complicated than consumer devices, we should not introduce complexity as we integrate these new modes of interaction into computer user interfaces. For example, playing music with a computer or new computer-based client device should be simpler and better than playing music with a CD player. The needs of inexperienced users are not well understood. New modes of interaction must be developed, along with a better sense of what constitutes ease-of-use. More research is needed in human-computer interfaces and in human-centered information management. Using computers -- particularly computers embedded in devices such as teller machines, "smart" phones, electronic kiosk systems, and the like -- must be natural and instinctive. Additionally, the integration of separately developed services must appear seamless to the user. Research in middleware (the standard interfaces and standard services that enable interoperability, including those supporting distributed computing), in scripting of complex applications, and in overall systems integration is required. Finding: The Nation is underinvesting in fundamental software research. Over the past decade the U.S. has underinvested in research to create fundamentally new software technologies.4 Most of today's software technology is based on research performed 15 or more years ago. If we fail to invest in far-reaching, high-risk research now, on what ideas will the commercial advances of the year 2015 be based? In recent large Federal information technology initiatives, the Committee found systematic underinvestment in the software side of the research agenda, leaving a growing gap between the theoretical potential and actual performance of hardware. The Federal High Performance Computing Program (HPCC) plan, for example, stated, "advances in software will be critical to the success of high performance computers with massively parallel architectures."5 HPCC researchers, however, were encouraged to focus on the immediate use of their results on Grand Challenge problems or in semi-production parallel computer systems. This successful, short-term strategy emphasized software to solve particular scientific or systems problems, but it failed to develop the fundamental software technology needed to solve wider classes of problems such as interoperability across different computing architectures. Additionally, underinvestment in long-term software research has interrupted the pipeline that produces software research professionals. The Committee strongly believes that increases in research funding are needed to adequately develop the next generation of promising young researchers. |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.1.2 Recommendations |
Recommendations Software is increasingly important to the fabric of our society. By failing to improve the quality of the software we develop, and by failing to provide adequate tools to manage information, we put the Nation at risk. Long-term research is needed to strengthen our software enterprise. That research is not being adequately supported. This research should be closely coordinated with research undertaken in response to the President's Commission on Critical Infrastructure Protection designed to protect the Nation's infrastructure from intentional attacks. The Committee recommends that a variety of additional investments be made to enable fundamental improvements in the Nation's software quality and its development processes. In particular, major improvements must be made to methods for software development, verification and validation, maintenance, user interfaces to computing systems and electronically represented information, software for high-end computing, and software to support emerging ubiquitous and collaborative computing. Technology for building software is only part of the solution, since we also need to know what software to build. Current computer systems are too difficult to use. New theories and techniques to simplify the way people interact with information appliances are urgently needed. This will involve new techniques for seeing, hearing, and understanding the environment, techniques for representing and organizing this information within computer systems, and new techniques for analyzing, summarizing, and explaining information. Chapter 1 described how information technology will transform science, medicine, commerce, government, and education. These transformations will require new algorithms, new tools, and new ways of using computers. Research ideas and prototypes will fuel the transformations. The huge demand for commercialization of current prototypes is draining the pipeline of talented university faculty and researchers -- essentially eating the seed corn. The Committee recommends expanding and refocusing university research funding to address longer-term research issues. Major Recommendation: Make fundamental software research an absolute priority The Committee recommends that the Government make fundamental research in software both for computer systems engineering and for applications one of the Nation's highest R&D priorities. We recommend that a focus on software research be a mandatory element of all the Expeditions proposed in Chapter 5. In addition, significant added research funding within current modes of funding should be focused on fundamental software research. Recommendation: Fund more fundamental research in software development methods and component technologies. The Committee recommends that research in software methods be aggressively pursued, especially in the area of automated support for software development and maintenance. Such research should:
The purpose of many computer applications is to inform people. Moreover, most computer applications require information and guidance from us. Yet the interaction between people and computers is still primarily limited to very rudimentary actions and outputs, such as keyboard strokes, simple gestures using pointing devices such as a mouse or touch-sensitive screen, and textual and simple graphical output on displays. People are capable of far richer interaction. More to the point, humans are perceptual creatures, using all their varied sensory systems in concert to form a harmonious interpretation of the environment. The sensory-motor systems of the human brain are tightly integrated, yet in our computer programs, computer inputs (from human motor systems) and computer output (which go to human sensory systems) are treated as independent and somewhat unrelated activities. People and computers both deserve better. Fundamental research in human sensory-motor systems, perception, attention, pattern recognition, and decision-making has the potential to make dramatic improvements in the interaction of people and machines. Today, simulators for commercial aircraft, military systems and games provide the richest examples of what is possible. Full-immersion environments are beginning to explore these areas. However, without sustained, fundamental research into the possible interactions, we will not make much progress beyond today's limited systems. Moreover, these investigations will have rich implications: reducing errors and misinterpretations, enhancing complex control settings, whether in industrial process control, air traffic control, or military applications, as well as helping to overcome some of the access problems faced by people with sensory, motor, and perceptual handicaps. There are many facets to human-computer interfaces and interactions. We must provide easy access for all people, regardless of economic circumstances, physical impairment, or intellectual limitations. To that end, user interfaces must become considerably richer, depending less on textual interfaces and manual dexterity. They should take more advantage of the decreased cost and increased miniaturization of audiovisual devices, increase the use of natural language, and provide more assistance to the user through techniques ranging from help systems to inference. Progress in ease-of-use is a good example of the coupling of software advances with those of the underlying hardware devices. Recommendation: Fund more fundamental research in information management techniques to (1) capture, organize, process, analyze and explain information and (2) make information available for its myriad uses. We already have on-line access to vast quantities of information. Now the challenge is finding the right information quickly and easily, and using it effectively. Ideally, the information will come to us in anticipation of our needs. The Committee recommends increased funding for basic research on capturing, organizing, processing, and using information. Information management is based on the classic computer science disciplines of new and better data structures and algorithms, but also includes theories and new approaches to digital libraries, databases, knowledge discovery, data visualization, and information-intensive applications. Software tools that augment our intelligence and increase our productivity will be key components of the Nation's prosperity in the future. The research in this area should:
In the past, major initiatives, such as HPCC, have suffered from underinvestment in software and information management research. When considering new initiatives like the ones proposed later in this Chapter, we must ensure that the software research necessary for success (not just the software development) is included. For example, we cannot build a scalable information infrastructure without an adequate investment in the software that will provide both system-level and user-level services on that network. For this reason, the Committee recommends in Section 3.2 substantive new software investments to support scalability, distribution, and reliability. Similarly, there is a continuing need to raise the level at which users of high-end computing create applications software and migrate their software solutions to new architectures. Thus an adequate investment in software to support those activities is called for in Section 3.3. In short, Federal research support programs have a history of underestimating the software research and development investment needed for success. This tendency must be reversed if new information technology initiatives are to be as effective as the Nation needs. Budget Recommendation: Increase current funding for software research as follows over fiscal years 2000-2004. The recommended software research budget increases must account for two important factors. First, the need to increase the average funding per senior investigator by at least $100,000 per year, these increases to start immediately. Second, based on the technical objectives in the above recommendations, the need to increase the number of researchers by approximately 1000 and to support that larger community. The latter increase must be phased in over the five-year period The following numbers are in addition to current (FY 1999) funding levels. Funding increases for Software Research ($ in millions)
The Committee recommends that a significant portion of the new monies be used for thematic programs. Rather than establishing large centers with structured management, thematic programs should fund a diversity of groups that are small enough to be well-focused but are large enough to reach "critical mass". Groups might have several cooperating senior investigators, together with staff, graduate students, and undergraduates. Funds must be awarded for long enough periods to address the truly difficult but important software problems described above. |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.2 Scalable Information Infrastructure |
Scalable Information Infrastructure Over the next several decades, the transformations described at the beginning of this report will dramatically change our country. The Internet is at the heart of this transformation. |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.2.1 Findings |
Findings Finding: Our Nation's dependence on the Internet as the basis for its information infrastructure continues to grow at a dramatic rate. Within the next two decades, the Internet will have penetrated more deeply into our society than the telephone, radio, television, transportation, and electric power distribution networks have today. For many of us, the Internet has already become an integral part of our daily lives. Communications by electronic mail is commonplace, and many prefer it to the telephone or fax machine. Many more people will soon depend on the Internet to communicate with friends, family, and businesses; for banking and financial transactions; to purchase goods and services; for entertainment; as well as for vital medical and governmental services. As we come to rely on using the Internet every day, and as billions of dollars of financial transactions are conducted electronically, this information infrastructure becomes even more critical to our Nation's well being. Our ability to manage and control it will become as important as our ability to manage our electricity distribution system. It is rapidly becoming an essential component of our economic and social infrastructure. America leads the world in developing and applying information and communications technologies, and it is crucial that we continue to invest in them. At stake are the technologies that will determine our Nation's ability to sustain its economic well being, to compete successfully in the global marketplace, to maintain world leadership in basic and applied scientific research, and to provide for national security and defense. Finding: The Internet is growing well beyond the intent of its original designers, to such an extent that we no longer understand it and cannot confidently continue to extend it. First, the Internet is growing rapidly in size. A network that connected 2,000 computers in 1985 now connects 70 million devices and traffic is doubling in size every hundred days. More than 50 million Americans use the Internet today, and there will likely be one billion Internet users worldwide early in the next century. No one has ever built a network of such size that provides this level of access to information resources. The combination of common services, a common global namespace, and interactive access creates a new cultural environment on a global scale. Second, the Internet is growing in capability. We are using it in more and more varied ways. Electronic mail servers are increasingly used for "anytime" communications. Satellite and wireless systems will soon provide many users with "anywhere" connectivity. World Wide Web directory and search services help users find a growing fraction of all the information known to humanity. Electronic payment services handle more of the Nation's commerce. Streaming audio and video is being shown and distributed. Building blocks for new applications are being developed, enhanced, and used: digital signatures, secure transactions, advanced modeling and simulation software, shared virtual environments for collaboration, intelligent agents for discovering and retrieving knowledge, speech recognition, and low-cost networked sensors. Finally, extending the Internet poses challenges we may not find so easy to meet. We cannot confidently extend today's technologies to new networks and information systems that are orders of magnitude larger, more complex, and that can handle more types of information than today, while expecting to achieve the quality and reliability demonstrated by today's U.S. telephone systems. We understand how to build some, but not all, of the individual elements of the future infrastructure. We do not know how to make these elements work together in reliable, efficient, and robust ways. Even greater challenges will arise when we try to build scalable services, such as search engines that can index exabytes of data, payment services that can process billions of transactions per day, and scalable applications, onto the existing infrastructure. Finding: Learning how to build and use large, complex, highly-reliable and secure systems requires research. The Internet-based information infrastructure of the future must provide high performance-reliable, robust, and secure connectivity and functionality among an increasing number of networks and computing systems. The combinatorial character of such highly capable networks of computing systems filled with disparate software defies easy comprehension. We need to analyze this large, complex system in order to understand its behavior better. We need a better scientific and engineering base to build network links and computing system nodes that can handle radically enlarged and diversified scales of usage and traffic in the expanding information infrastructure. Many technical obstacles -- including ease of management, ease of use, integration, privacy, reliability, and security -- stand between the current state of the art and the global-scale, heterogeneous, ubiquitous (anytime, anywhere) infrastructure implied by having one billion Internet users. Networking research must allow us to keep the capability of the Internet ahead of its unprecedented growth. Moore's Law, which has long and successfully guided the semiconductor industry by projecting when performance and technology requirements are needed, can suggest future Internet scalability and performance needs. But the rate of Internet growth is even faster than Moore's Law would predict, and telecommunications researchers will need to develop revolutionary rather than just evolutionary new ideas and theories in order to keep ahead of the Internet's growth curve. To support the growing demand and dependence on the information infrastructure, research advances in scaling are needed in many different dimensions:
|
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.2.2 Recommendations |
Recommendations The following recommendations are listed in their logical order and touch upon all aspects of the scalable information infrastructure, ranging from analysis and modeling, to implementation through middleware and scaling, to deployment on testbeds. The Committee considers these recommendations to be of equally high priority in a balanced research program. Recommendation: Fund research in the behavior of the global-scale network and its associated information infrastructure. This should include collecting and analyzing performance data as well as modeling and simulating network behavior. It took more than 30 years for the telephone industry to develop useful mathematical models that allowed them effectively to configure, manage, and plan the future growth of telephone networks. Unfortunately, those models do not apply to the Internet, and indeed have become less useful in their own right as telephony has expanded to include fax and Internet communications. The telephone network, though not ideally suited for this task, is the principal method of accessing the Internet. However, the shortcomings of the telephone network are increasingly limiting our future deployment capability. Fundamental differences between telephony and the Internet include:
Recommendation: Support research on the physics of the network, including optical technologies, wireless technologies including satellites, wired technologies including cable, and the related bandwidth issues. Improvement in transmission technologies drives many advances in networking. Improving how fast, how far, or how clearly we can transmit a data packet has a profound impact on what the information infrastructure can do. These advances primarily require research in physics and signal processing: waveforms, signal quality, and manufacturing techniques. Particularly pressing issues surround optical, wireless, and local-loop transmission. Successful research today will help meet the Internet's demands for quality, speed, and ubiquitous access tomorrow. Recommendation: Support research to anticipate and plan for scaling the Internet. The most pressing problem in the Internet today is scalability. In whatever way it is measured, it is becoming larger and more diverse:
Recommendation: Support research on middleware that enables large-scale systems. Middleware for the scalable information infrastructure is the collection of shared software and rules that will improve the software development process, help make the infrastructure operate properly and efficiently, and make large new software systems possible. It will provide reusable software that performs common functions, making software development more efficient. This will let applications software developers concentrate on their applications and not on data transmission or computing issues. It will enable the development of applications that communicate with each other. It will also enable the development of middleware that adapts to a changing environment through services that coordinate and supervise the infrastructure itself. Middleware research topics fall into the two broad categories: Information mangement Scalable and widely application information management services require that we build systems to organize and manage vast amounts of information. The needed technologies include those for:
Our Nation's security, commerce, education, and well-being depend increasingly on our information infrastructure. It is thus critical to ensure the survivability of that infrastructure in the face of malicious attacks or viruses, equipment or software failures, and overload. Survivability means that services will be available when needed and information will be delivered in a timely fashion. Services must operate correctly and the information they deliver must be of high quality or be identified if otherwise. Survivability includes long term preservation of information; a document of historical importance should be preserved, even as underlying storage technologies and information representation evolve and even if it is not accessed for hundreds of years. Survivability technologies include:
Very large applications have unique needs that today's technologies cannot meet. The process of developing these applications has been found to be difficult to manage, and product quality is difficult to engineer. Today's commercial-off-the-shelf technologies do not scale for use in these large applications. In addition, university-based researchers are not well equipped to work on these problems, which require substantial labor and infrastructure. Research focused on these scalability issues is needed. Several of these applications come from Federal agencies with science and engineering missions, including the Department of Energy's Accelerated Strategic Computing Initiative (ASCI) for nuclear stockpile stewardship, NASA's Earth Observing System Data and Information System (EOSDIS), (one of the most complex data handling systems ever to be built), and the FAA's air traffic control system. These applications combine communications-intensive, data-intensive, and computation-intensive requirements. While these applications are small in number and, by today's standards, are large in scale, they will be quite common in 20 years. In the meantime, today's demanding applications will have grown in size and will continue to make scalability demands, so the research requires a long-term approach. The technologies developed to address large-scale Federal science and engineering applications will be useful in addressing non-science Federal applications such as improving the capabilities and efficiency of large Federal entitlement programs, and in addressing non-governmental applications that are not being addressed today. We examine two such applications in some detail. Application: A National Digital Library A National Digital Library would integrate all electronic knowledge sources, including books, journals, music, films, and informal "documents." The Nation's scalable information infrastructure would manage this shared information base. It might begin with a digital library for the country's scientific literature, which while largely produced at taxpayer expense is not widely available even to scientists, engineers, and students. Such a library would have a strong positive impact on scientific and engineering research and development and on education by providing users with more up-to-date information, reducing effort and cost, and preserving this body of knowledge for future generations. The university-led Federally-funded Digital Libraries projects, begun in 1994, have developed a base upon which to develop this library. Some of the challenges a National Digital Library presents are:
Today's Web and its browsers can be viewed as a primitive information infrastructure. It is has evolved rapidly from a simple design that did not anticipate either today's size or the wide class of applications for which it is now used. Designing and developing a Web for the year 2010 is a research challenge that requires addressing capability, flexibility, power, robustness, and scalability needs and applications far different from today. While a Next Generation Web shares many research issues with information management and digital libraries described above, it has its own unique needs. These include research and development in translating among the protocols and policies of different countries and providing a graceful transition path. Recommendation: Fund a balanced set of testbeds and research infrastructure that serve the needs of networking research as well as research in enabling information technologies and advanced applications. The Federal government has funded two testbeds as part of its Next Generation Internet (NGI) initiative. One connects more than 100 sites at end-to-end speeds 100 times faster than the Internet of 1997, and the other connects about 20 sites at end-to-end speeds 1,000 times faster than 1997's Internet. The former is used primarily for developing "revolutionary" applications and the latter for research in networking technologies. While interconnected, these testbeds have different characteristics. The 100x testbed connects several Federal research networks, including NSF's vBNS, DoE's ESnet and NASA's NREN, and DoD's DREN. Each of these networks is a service provided by a U.S. company -- MCI WorldCom, Inc., Sprint Communications Company, and AT&T, respectively. In addition to being used by researchers in almost 100 universities and major Federal research facilities to develop applications, the testbed provides a national-scale environment for experimenting with new capabilities such as multicast protocols and protocols enhanced to include differentiation of service, privacy and security. It also serves as a testbed for the interoperability, robustness, and scalability of networks provided by different vendors, and the management of such interconnected networks. The testbed uses networking technologies more advanced than those in the commercial Internet. These technologies have been made stable and robust largely through collaborative efforts by the Federal agencies and the providers. Users appropriately expect high availability and high performance from every NGI site nationwide, because their research depends on network availability and performance. The 1,000x testbed is used to explore networking technologies for a future generation (beyond the next generation) Internet. It must stress the limits of the new technologies being developed. It is smaller than the 100x testbed, is more fragile, and may experience outages. Information infrastructure facilities are increasingly serving a similar role for scientists and engineers that large-scale shared physical instruments have for decades. As is the case for national telescopes, microscopes, and particle accelerators, agencies like NSF and DoE provide peer-reviewed access to leading edge IT facilities to enable a wide range of disciplines to do research. It is clear that such facilities are only useful to maintaining our Nation's research leadership if they are continually improved to keep them at the state of the art. However, this need to continually improve specialized IT facilities, such as high-end computers, high performance networks, and large discipline databases, must be managed by the Federal agencies in a manner that does not directly conflict with funding the basic research that is enabled by the facilities. We recommend a periodic review of testbed and research infrastructure activities. This will help ensure that funding and usage is consistent with the research missions for which they are designed. The participants in this review should include representatives from the Federal Large Scale Networking Working Group, the Federal agencies that provide these resources, user communities, and the appropriate private sector communities. Recommended funding levels Scalable Information Infrastructure is a relatively new and especially fast moving field, making it difficult to estimate its research and testbed needs. The large number of research topics explicitly identified above, including many topics never before or at best minimally addressed in the past, and the growing demand for new Internet capabilities, suggests that research in scalable technologies can be highly effective. The Federal government's responsiveness to the rapid evolution of this field supports this position. The Government has modified its plans (for example, by increasing the size of its testbeds to meet demand), accelerated its research schedule, and consistently addressed issues that the private sector will not address (such as interoperability across providers). The considerations in proposing the scalable information infrastructure budget included the growth rate of the Internet and acknowledged cost savings such as in-kind contributions from the private sector. The Committee recommends that funding for scalable information infrastructure research and testbeds grow from the current approximately $200 million per year to $500 million per year in a linear fashion between FY 2000 and FY 2004. The emphasis should be on networking research. The research should be a mix of small (now on average less than $100,000 per year, growing to $200,000 per year), medium (approximately $1 million per year growing to twice that amount), and large (more than $4 million per year) research projects, plus networking research as part of two expedition centers (each approximately $5 million per year). The relative ratio of the number of projects should be approximately 1 large : 4 medium : 20 small projects. Costs for applications development testbeds should be shared with the applications communities whenever possible. The following numbers are in addition to current (FY 1999) funding levels. Funding increases for Scalable Information Infrastructure Research ($ in millions)
|
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.3 High-End Computing |
High-End Computing Since its creation under the High Performance Computing Act of 1991, the Federal High Performance Computing and Communications (HPCC) Program has contributed greatly to U.S. technological leadership. The Program has created and disseminated technologies to speed the pace of innovation, enhance national security, promote education, and help us understand the global environment. Furthermore, advances in high-performance technology have become an important component of mid-range computing and communications systems. Through the dedicated effort of many scientists and engineers, HPCC has succeeded in laying a foundation for future growth. Historically, high-performance computing was a specialized market segment within the computer industry, serving the focused needs of science, engineering, and national defense. High-performance supercomputers were based on unique architectures and technologies, optimized to the requirements of these compute-intensive applications and were expensive relative to mainstream computers. However, over the last few years, the use of high-performance computing has undergone a major transition from purely compute-intensive applications to include data- and communications-intensive ones. As the scope broadened, the description "high-performance computing" was broadened to "high-end computing," and now encompasses an increasing number of applications beyond science, engineering and defense. With the advent of powerful microprocessors used in workstations and servers, a large portion of the high-end computing market shifted from supercomputers built with specialized processors to ones built with microprocessors. Due in part to Federally funded research efforts more than ten years ago, these systems, based on commodity parts, are now available at a fraction of the cost of earlier supercomputer systems. But for various technical and economic reasons, highly parallel systems (with hundreds or thousands of processors) -- with the potential of ever-increasing performance into the teraops range (1012 operations per second) and beyond -- have not yet been used widely for critical high-end applications. Research in high-end computing has produced far-reaching benefits to society. Many of the present uses of high-end computing are well-documented in previous reports.6 They include:
|
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.3.1 Findings |
Findings Finding: High-end computing is essential to science and engineering research. The successes of the HPCC program have led to widespread use of computational simulation and modeling as a means to understand natural phenomena and to explore and optimize engineering designs. Over the next few decades, computation will become even more essential to the Nation's fundamental and applied science and engineering endeavors, both civilian and military. Currently, the extreme high-end of computing is done under the auspices of focused mission agencies such as the Department of Energy (DOE), while widespread academic research is primarily sponsored by the National Science Foundation (NSF). Both for the sake of fundamental scientific research and to enable applications to benefit from the research, the research community needs access to systems at the leading edge of capability. The power of these systems should be comparable to that of systems-like the DOE Accelerated Strategic Computing Initiative (ASCI) systems available to the mission agencies. Furthermore, if the scientific community is to continue to benefit from high-end computing, it is important to ensure that there are enough computer and computational scientists to collaborate in making leading-edge computation an effective research tool. Finding: High-end computing is an enabling element of the United States national security program. Government customers account for at least half the market for supercomputer systems, with national security programs historically driving the market. These programs are very important to the Nation. Such Government organizations face the challenge of converting their applications to new high-end architectures without disrupting their missions. This transition has proved to be technically difficult and is exacerbated by the lack of mature software tools. The DoD HPC Modernization Program, DOE's ASCI, and the National Security Agency are examples of national-security users of high-end computing. Through the DoD HPC Modernization Program, the Office of the Secretary of Defense is investing more than a billion dollars over five years in high-end computing to provide the United States military with a technological advantage. This program will provide advanced hardware, computing tools, and training to DoD developers using the latest technology to support the warfighter. The incorporation of high-end computing will allow the United States to maintain its technological supremacy in weapons systems design into the foreseeable future, while decreasing the total life-cycle costs of fielding new defense systems. The DOE ASCI program is critical to the Stockpile Stewardship Program. ASCI is designed to assist in ensuring the safety, reliability, and performance of the United States nuclear stockpile in the absence of underground testing. In addition to addressing National security needs, the computer technology and products developed by the ASCI program will be applied to a broad spectrum of national needs. The computational techniques developed by the ASCI program have great potential, if widely adopted by the civilian researchers, to bring economic and scientific benefits to the United States in environmental studies, biology, drug design, automobile and aircraft development, consumer product safety, and information management and access. For decades, the National Security Agency (NSA) has influenced high-end computing and has been an early and sophisticated user of the most advanced commercial computer, storage, and networking systems. In its mission to protect U.S. information systems and produce foreign intelligence information, the NSA has stimulated both industry and academia with some of the most challenging problems in the Nation. NSA research is directed to the discovery and application of methods seeking order-of-magnitude improvement for deriving intelligence by use of mathematical and signal processing methods. Activities range from invention and prototyping of new concepts, to improving the ability to use leading-edge commercial products. Finding: New applications of high-end computing are ripe for exploration. In addition to advancing the long-term research agenda in traditional high-performance computing, the Committee believes that the Nation needs to develop new uses of high-end computing to promote a better understanding of our world and to improve services to all citizens. This expansion of high-end applications will attract computer, software, and application vendors to support a healthy high-end computing marketplace. Today the high-end computing market is a shrinking fraction of the information technology industry. Among the areas in which high-end computing could provide enormous benefits are:
Despite the economic and societal benefits of solving problems like those described above, the market for high-end computing systems is mixed. The low- and mid-range parts of the high-end market -- workstations and servers -- are doing well financially, but the highest end, sometimes referred to as "supercomputing" to reflect its origins, has not been growing. Its sales are less than $2 billion per year. This part of the market (for instance the fastest 100 computers installed worldwide -- the Top100), historically dominated by U.S. vendors, has gone through a period of intense consolidation in the past several years, leaving only SGI (with its Cray subsidiary) and IBM as significant U.S. participants. No well-established U.S. company remains with its primary focus on technical, high performance computing. Recently established companies Tera and SRC have yet to show a profit. At the same time, foreign competitors with substantial government subsidies have enlarged their efforts to capture the very-high-end market, which creates a potential reliance on foreign vendors for future specialized high-end systems. For instance, as of November 1998, whereas only 10 percent of the more broadly based Top 500 fastest computers installed worldwide are of non-U.S. manufacture, the foreign market share of the higher-end Top 100 rises to 25 percent. The Committee believes that this trend will continue unless the Nation invests in research and development programs in cooperation with industry and academia to increase U.S. leadership. Finding: Innovations are required in high-end systems and application-development software, algorithms, programming methods, component technologies, and computer architecture. These innovations need to be aimed at breakthroughs in sustained performance on real applications, programmability, ease-of-use, and scalability. Inadequate funds for software and algorithm research and development, as well as excessive focus on short-term research, have created an unduly limited software base usable by only the most intrepid users. Current Federal programs that address innovative high-end architectures and technologies are too small, having shrunk dramatically in the last decade. Petaflops-scale computing is required for many of the applications listed above. To realize petaflops computing, we need advances in architecture, system software, algorithms, programming methods, and hardware technology. Finding: The high-end computing capability available to the civilian science and engineering community is falling dangerously behind the state of the art. Information infrastructure facilities increasingly serve a role for scientists and engineers similar to the role that large-scale shared physical instruments (for example, national telescopes, microscopes, and particle accelerators) have served for decades. Agencies like the NSF and DoE provide peer-reviewed access to leading-edge IT facilities to enable a wide range of disciplinary research. For the past decade, science and engineering researchers working on civilian applications have typically had access to computing capability that lagged the national security community by a factor of two to five. This situation resulted from smaller budgets for the civilian-access machines and the timing of the national security requirements that required the first available systems. Today, the civilian science and engineering community finds its computing capability a factor of ten to twenty behind the largest installed systems, those used in the ASCI program. Furthermore, the decision to reduce the number of NSF supercomputer centers from four to two without increasing the funding for high-end systems in the remaining centers has substantially reduced the overall capacity available to academic researchers. It is clear that these facilities are useful for maintaining our Nation's research leadership only if they are continually improved to keep them at the state of the art. However, Federal agencies need to manage this need for continual IT facility improvement (for example, of high-end computers, high-performance networks, and large disciplinary databases) in a manner that does not directly conflict with funding the basic research enabled by the facilities. |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
3.3.2 Recommendations |
Recommendations In high-end computing as in other areas of information technology, we need more fundamental research -- the kind of groundbreaking, high-risk research that will provide the ideas and methods for new disciplinary paradigms a decade or more in the future. Our greatest needs are improving systems software and algorithm-level software support at the high end, exploring innovative architectures and devices, and making it possible for the academic research community and the Federal Government to conduct essential research and development on computers of the highest possible performance. Research on software, architecture, and hardware can be effectively driven by an initiative to reach sustained performance in the petaflops and petaops range by the year 2010. To have the greatest effect, the NSTC Subcommittee on Computing, Information, and Communications should coordinate all research on and access to high-end computing systems across all the Federal agencies. The program-planning processes should be coordinated, and the programs that result from the following recommendations should be closely coupled and mutually supporting. For example, architecture and software efforts are mutually dependent, and the recommended petaops milestone can drive both the hardware and software efforts. Recommendation: Fund Research into Innovative Computing Technologies and Architectures. There is evidence that current scalable parallel architectures may not be well suited for all applications, especially where the computations' memory address references are highly irregular or where huge quantities of data must be transferred from memory to support the calculation. To address these limitations, the Committee recommends expanding research and development funding for new computer architectures. In particular, we need substantive research on the design of memory hierarchies that reduce or hide access latencies while they deliver the memory bandwidths required by current and future applications. Progress in this area would improve the performance of almost all programs and would make high-end software development less difficult. The Committee recommends funding research into promising new technologies such as optical, quantum, biological, and neuromorphic computing. Ultimately, silicon chip technology will run up against the laws of physics. We do not know exactly when this will happen, but as devices approach the size of molecules, scientists will encounter a very different set of problems fabricating faster computing components. Potential areas for investment are improved simulation and analysis tools for investigating innovative architectures and full-system experiments to explore and validate architectural design alternatives for real-world application workloads. The Government must begin to invest now in these new technologies to ensure that computing capability continues to improve well into the 21st century. Architectures for high-end computing must be developed in concert and iteratively with hardware and software technology investigations. The high-end computing research funding strategy should consider the coupling between these domains. For many of the larger projects, industry participation will be critical as only industry can provide important practical insight. As innovative research succeeds, industry will bring the new architectures and technologies into the open marketplace. Recommendation: Fund R&D on software to improve the performance of high-end computing. The Committee recommends substantial investment in software to improve the performance and efficiency of high-end computers. The software investments fall into three categories: system software, algorithm development, and software to manage integrated systems in a balanced fashion. Investments in system software-languages, compilers, runtime libraries, operating systems, file systems, I/O drivers, debuggers, programming interfaces, performance tuning tools, and so on will lead to improved efficiency and performance and will make high-end systems usable by a much larger community. Algorithm development is necessary to ensure the efficient use of leading-edge machines. Work on system software and algorithms will permit the effective exploitation of parallelism and will contribute to the efficient use of memory hierarchies. For maximum performance, we require an integrated computer environment consisting of software to perform resource allocation, parallel input and output, ultra-high-speed and high-capacity intelligent storage, scientific data management and visualization. We need to do research on software that will improve overall system efficiency by eliminating potential bottlenecks between the high-end computer and its peripheral equipment. For example, petaflops computers will generate exabytes (1018 bytes) of data that the system must move rapidly to high-speed storage and then make readily available to users. Scalability of these tools is critical since they must keep pace with the rapid development of processors used in high-end computers. These efforts will not only increase usability, but also facilitate transition of applications, including those required for national security, to new computer architectures. Cost effective and efficient use of emerging terascale systems (1012 operations per second) requires major advances in software research, development, and deployment. Without effective building blocks for software, algorithms, and libraries, high-end hardware is an expensive, underutilized technology. And adequate software will emerge only from an aggressive, stable, sustained, and long-term software research program. The software problem will become even more critical with the possible realization of a petaop capability (1015 operations per second) by 2010, perhaps earlier. The time to explore petascale software aggressively is now, not after we build hardware prototypes. Even more alarmingly, limited funding for high-performance software research is causing an exceptional group of researchers to leave this research area in favor of other areas where funding is more readily available. If the Nation is to increase, or even retain, the pool of intellectual talent exploring terascale and petascale software, the Government must fund long-term software research. Recommendation: Drive high-end computing research by trying to attain a sustained petaops/petaflops on real applications by 2010 through a balance of software and hardware strategies. The Committee reviewed the CIC/HECC (High-End Computing and Computation) working group's proposed petaflop activity. The preliminary studies that group sponsored have determined that we will need substantial technological advances to achieve the desired performance levels by 2010. The goal of building systems capable of achieving sustained performance on important applications at the petaops or petaflops level can be an effective way to drive research on the hardware technologies, new architectures, software systems, and algorithms that will be needed to make such systems possible. We, therefore, recommend that funding for this activity should be increased to ensure that the necessary technological advances -- in algorithms, systems software, application-level software components, and hardware -- are achieved. The goal of sustained petaops and petaflops performance must be understood as a technology driver, not as a goal unto itself. It is conceivable but unlikely that sustained, real-world performance in this range could be reached by faster hardware technology and increased hardware parallelism alone, but these sustained performance levels are almost certain to require a tightly coupled, well-balanced effort on both software and hardware. It would be counterproductive to produce a computer system capable of petaops performance without the software and algorithms needed to make it useful for the full range of high-end applications. An appropriate program will, for example, accommodate a technical comparison and evaluation of current architectures with promising new ones such as those based on processor-in-memory components. It should also address the software challenges of programming computers with tens or hundreds of thousands of processors and deep memory hierarchies. Adequate funding would permit a petaflops program to accelerate the rate of progress towards petaflops computing by directly investing in and developing key hardware and software technologies that may prove crucial to long term computing objectives, even if they are not immediately suitable for short-term, medium-scale computing systems. Recommendation: Fund the acquisition of the most powerful high-end computing systems to support science and engineering research. High-end computing is becoming critical to an increasing breadth of science and engineering research. Recently the Nobel Prize in Chemistry was awarded to two pioneering computational researchers whose efforts led to the development of widely used methods in computational chemistry. Research like this helps us unlock the behavior of new materials, advance our understanding of biological structures, and understand and enhance the environment in which we live. If the United States is to continue as the world leader in basic research, its scientists and engineers must have access to the most powerful computers. Therefore, the Committee recommends that the Federal government continue to provide these computing systems to the research community through major, shared-facility centers. To increase long-term, fundamental research across all scientific and engineering disciplines, the first priority should be to increase the computing capacity of the centers that can best serve the entire research community. These are the NSF Partnerships in Advanced Computational Infrastructure (PACI) centers and the specialized centers that support specific disciplines like NSF's National center for Atmospheric Research. The first priority for high-end acquisitions should be to bring the performance level of academic computing close to that of mission agencies; DOE's ASCI program is the current benchmark for computational performance. The second priority should be to increase the capacity of focused-mission centers. Mission agencies like DoD, DOE, and NASA should seek additional funds to acquire high-end systems. We encourage the NSF PACI centers and mission-specific agencies to cooperate in providing computing capability to scientists and engineers independent of sponsoring organization. Efforts should be made to expand the use of high-end computing in information technology research. For example, the simulation of proposed petaflops and petaops architectures will be essential to developing software for those systems, yet such simulators cannot even run simple computational kernels without using computers of the highest possible performance. The Committee, therefore, recommends funding additional high-end capacity to support the Research Expeditions to the 21st Century described in Section 5.3. These high-end systems will enable truly innovative research and thereby assist in developing a cadre of researchers who can exploit high-end computing in the 21st century. These high-end systems will also create an environment for new applications and will expand the critical, domestic high-end computing market. Recommendation: Expand the NSTC CIC High End Computing and Computation (HECC) Working Group's coordination process to include all major elements of the government's investment in high-end computing. The Committee recommends that all of the Federal Government's major research, development, and acquisition investment budgets and plans in high-end computing be provided to the NSTC CIC Subcommittee's HECC Working Group. Currently, some large investments in high-end computing such as the DOE's ASCI program, the Department of Defense's High Performance Computing Modernization Program (HPCMP), and some of NSA's investments are excluded. Thus, these programs and their contributions to high-end computing are generally excluded from the Federal Government's attempt to coordinate high-end computing efforts across agencies. Exclusion of any large investment makes it very difficult to coordinate and plan research and development of high-end computing. Budget Recommendation: Increase current funding for high-end computing research and acquisitions as follows over the fiscal years 2000-2004. The budget recommended for the High-End effort was developed using a three-step process. First, four subpanels were formed -- innovative technologies and architecture, high-end software, sustained petaops/petaflops, and high-end acquisition. Second, based on the findings in this chapter of the report, each subpanel independently determined the technical objectives underlying the recommendations. Third, each subpanel determined a budget required to accomplish these objectives. The budget below totals the research budgets of the first three subpanels, keeping the acquisition budget separate. The following numbers are in addition to current (FY 1999) funding levels. Funding increases for High-End Computing Research ($ in millions)
This table covers only those efforts described in the first four recommendations above. It excludes efforts currently excluded from the HECC crosscut and coordination process addressed in the fifth recommendation. |
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
Endnotes |
Endnotes
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||