Cooperative Agreement DRAFT Proposal
National Center for Supercomputing Applications (NCSA)
and
Sun
November 1997
CONTACT: C. Catlett,
catlett@ncsa.uiuc.edu
Executive Summary
The National Center for Supercomputing Applications (NCSA), established in 1985, has recently been awarded a new 5 year cooperative agreement to work with 50 academic, industrial, and Federal laboratory partners to prototype a national computational environment for the 21st Century. Within this mission, NCSA provides a vision for the needs of what today is a set of applications requiring high end resources including fast processors operating in parallel, large memory and disk, and high network interconnect performance as well as scalable collaboration systems. However, within 2 to 5 years these same requirements will characterize mainstream applications in scientific and commercial sectors.
Further, while NCSA anticipates a continued need for massively parallel systems running the UNIX operating system, we anticipate an even broader need for scalable applications based upon object oriented technology and scalable computational systems based upon tightly integrated clusters of symmetric multiprocessor servers and loosely coupled individual desktop systems. Further we believe that the next generation of educators, scientists and business leaders will rely upon highly functional, individually customized collaboration systems on a day to day basis.
Beyond technology development and deployment, the Alliance is building a national education and training program to rapidly turn computational science results into curricula for the classroom but more importantly to work with educators and technologists to apply advanced technology to improve the education process. NCSA has a history of success in these areas, having trained hundreds of teachers during the past several years in the use of the technology ranging from the Internet to virtual environments.
This proposal outlines a set of "next steps" in the Sun/NCSA relationship that has been building for a number of years through individual projects, product evaluations and equipment discounts and donations. We envision a partnership that leverages NCSA’s expertise in collaborative technologies and the development of strong high performance computing and programming environments. Perhaps more importantly, this partnership will allow Sun to gain key insight into end-user needs and computer science insights as NCSA’s National Computational Science Alliance prototypes the national-scale computing environment for the 21st Century- the National Technology Grid.
We propose here several next steps, including the donation of several servers, a classroom of JavaStations, and funding for development staff to accelerate the rollout of the Habanero Java-based collaborative system to multiple user communities.
Integrating this focus with a number of other Java projects and partners already assembled at NCSA will lead to a long term relationship that allows both organizations to reach their goals more quickly and effectively. NCSA offers Sun a broad exposure of Java environments and tools supporting HPC applications through publications, demonstrations, the industrial program partner consultation and projects, and conference presentations. In addition, NCSA and Sun can jointly determine the most appropriate technology transfer and deployment strategies for software resulting from this agreement, and can define the required supporting intellectual property rights.
Cooperative Relationship with Sun
NCSA believes that Java will become a strong and widely used programming system for both commercial IT and scientific HPC applications if issues with scalability, performance, and standardization can be overcome. The work that Sun and it’s associated partners must do to make that convergence a reality is large and diverse. The timing of this convergence, combined with a history of productive collaboration between NCSA and Sun, prompts us to suggest taking a series of "next steps" where Sun can leverage NCSA’s unique expertise in scientific discipline simulation and enterprise-scale knowledge discovery and management projects. These applications stress the requirements identify hardware, operating system, and software bottlenecks of leading edge products, and assist in the tuning of developed code and system configurations to provide effective use and good performance in these new environments. Demonstrated competency and early knowledge of the stressing requirements will be of substantial value to Sun as the simulation codes, knowledge discovery applications, and visualization techniques in use by our academic and industrial research partners today grow to become the mainstream commercial applications two to five years from now.
Benefits will flow to Sun both indirectly and directly. Indirect benefits will come to Sun because NCSA and its technology and infrastructure offerings continues to have wide exposure within government agencies, the industrial sector through our industrial partners program, and to widespread scientific and engineering discipline teams. With a strong Sun presence in our infrastructure, NCSA and its partners will naturally be seen as a strong advocate for Java-based software systems in general, and Sun servers and JavaStation environments in particular.
More directly, NCSA can provide original software tools and components that may be of interest to Sun. NCSA's experience with other strategic vendor relationships has shown that, given the proper intellectual property arrangements, software to push new capabilities and new applications can be deployed quickly and successfully. Sun could also find indirect benefit through NCSA distribution of tools, or wish to integrate software directly in Sun offerings. Either type of deployment could be considered under this relationship on a case by case basis. Some areas where direct technology development by NCSA might be in Sun’s interest are discussed below.
A second interaction style that can directly benefit Sun is also emerging at NCSA. This style is direct three way cooperative projects between NCSA, an Industrial Partner, and an NCSA Strategic Partner. These partnerships focus on extending a vendor’s technology base in an area critical to that Industrial Partner with the understanding that successful extensions will be incorporated in the product base. In these partnerships, Strategic Vendors and Industrial Partners are contributing funding and other resources and NCSA is providing realistic testbeds and expertise as appropriate. We believe several of our Industrial Partners would be interested in developing such three-way partnerships that include Sun.
Sun can offer both technical and financial resources that will effectively enable the types of HPC user/developer relationships we have found so successful in the past, and directly support software development activities of particular interest. In particular we would like for Sun to provide:
Funding for Java Classroom and Development Environments
NCSA presently runs a 20-seat Wintel classroom which was donated by Hewlett-Packard with software donated by Microsoft. Silicon Graphics has donated a graphics classroom which has been upgraded over the past several years through combinations of donations and discounted purchases. Both classrooms have been used extensively for university courses, community education, and various national-scale workshops. We also use the classrooms to train industrial partners in technology and application areas, and they are used by partners themselves to host workshops.
While during the past decade the NCSA classroom facilities have had local and national visibility, the new NCSA Alliance program promises to expand this visibility significantly. With our academic partners, we are currently developing plans for a national training program, distributed/collaborative training technology, and mechanisms for "cloning" the NCSA program at the state and national levels. It is important for this program to offer a representative sampling of the three main types of classroom environments: Wintel, UNIX, and NC/JavaStations.
Funding for Development Staff and Students
In addition to augmenting NCSA-funded staff, both undergraduate and graduate students are requested. We envision a team of 4 full time staff funded by Sun in addition to 4 graduate and 4 undergraduate students. The costs for staff at NCSA working on contracted projects are approximately $120k/yr for full time staff, $45-50k/yr for graduate students and $20-25k/yr for undergraduate students. However, unrestricted gift funding is not subjected to overhead and thus the costs are reduced in these cases by roughly 40%.
NCSA has a strong track record for providing practical software development experience to students. Combining this with technology transfer activities such as summer workshops and a coop program with Sun will provide Sun with a continually full pipeline of graduates from the University of Illinois at Urbana-Champaign.
In support of the development projects proposed, we suggest quarterly technical exchanges between NCSA and Sun, alternating between Illinois and California sites, which would provide a forum for technology exchange, project status checks, prioritization and planning, and discussions on communication and deployment of jointly developed capabilities.
To ensure that NCSA development efforts remain tightly coupled with directions within Sun, a set of technical relationships between NCSA and Sun developers must be maintained. This involves quarterly exchanges between NCSA and Sun developers as well as access to technical staff at Sun in the form of participation in email discussions.
Technology Transfer: Coop Program and Summer Workshops
We propose a coop program in which Sun-funded graduate and undergraduate students have the opportunity to live and work in Silicon Valley at Sun during the summer months. Whether students work on NCSA-related projects or other Sun projects the resulting benefits to Sun will be the opportunity to choose from the brightest of UIUC students. The benefits to the NCSA/Sun partnership will be that, upon returning to NCSA during the school semesters, the students will have working relationships with Sun developers and will be better trained in development of capabilities such as distributed systems using Java.
NCSA has a strong history of providing training and workshops for groups ranging from grade school through professionals. Summer undergraduate/graduate student workshops at NCSA would be useful in exposing students to topics including developing distributed and collaborative systems using Java and porting and optimizing UNIX codes to Java environments.
Direct Technology Development Opportunities
We believe the best opportunities for direct technology development are in several broad areas:
Java-Based Collaborative Software: Habanero
The Habanero application-sharing object framework (http://www.ncsa.uiuc.edu/SDG/Software/Habanero/), was the first University research group to receive JavaSoft sponsorship and has since obtained additional funding and support from NCSA in-house as well as from DARPA, the Nuclear Regulatory Commission, and the US Air Force. JavaSoft sponsorship for 1997 has supported our work in Multicast networking, multi-platform Internet telephone development, Web-like Basic Authentication, and the development of a variety of first-generation distributed multi-user tools and demos.
As Habanero moves from beta to full release deployment this year at multiple universities and companies, the current development activities must be augmented with training of deployment staff at remote sites and development of targeted Habanero applets (Hablets) for specific communities. Many of these discipline-specific Hablets are already being built by NCSA Alliance scientific applications teams as well as by our education team. As importantly, the wider deployment will fuel development efforts by identifying strategic enhancements in terms of functionality and performance. A cooperative agreement with Sun supporting several full time developers at NCSA would significantly leverage NCSA’s investment in Java and Habanero and accelerate its roll out to partner and end-user sites.
If Sun is interested in continuing the Habanero project work via this proposal, the Scalable Reliable Multicast adaptations and conversion to Java that NCSA has done will be formally provided to Jim Waldo and the RMI group for their potential use, without fee or licensing restrictions. Additionally, the source code for those portions of Habanero developed by the Habanero project at NCSA will be turned over to the Java Collaboration API group, also without limitations on use, for use as an interim Java collaboration framework, or as a code baseline for subsequent work by JavaSoft. With both these deliveries, NCSA is strongly interested in continuing to work with our colleagues within JavaSoft as these new functions are deployed.
An offshoot of the Habanero project, to construct high performance analysis and visualization tools entirely in Java, can be staffed at varying levels via this proposal. Anticipating coming advances in Java optimization, ubiquitous JIT compilers, and the availability of the Java 3D API, we can create genuinely usable HPCC tools that are portable across hardware platforms, and that are collaboratively linked across heterogeneous hardware mixes using Habanero. This project will build on NCSA's long history of leadership in the field of scientific visualization, on NCSA's early major investment in Java, and on PACI tool development efforts. (The Habanero project team has early access to the 3D API, per separate arrangement with JavaSoft. Test Java applications, not using the 3D API, have successfully driven our PowerWall through very slightly modified CAVE graphics libraries.) Our preferred development and demonstration environment for this project is Sun's Ultra 30 System, model 300, with the Creator3D Series 2 graphics card, a departure from a history of SGI host hardware.
"High Performance Java (HPJava)"
"High Performance Java (HPJava)" is more than just optimized code. One major component is server-side runtime, so that classes and methods which are very compute or data intensive can be executed on a machine with some real muscle, and then outputted to the client. This requires a HPJava server that includes Java packages to handle parallelism, scalability, and communication between server and client. A very logical solution would be to use Sun's new high-performance server, the E-10000. An advantage to such a development would be to increase Sun's strategic market position as the preferred hardware vendor for both Java software development and HPJava Servers. Sun is well positioned to capitalize on this dynamic coupling, because of its existing reputation for creating Java and their long-standing tradition for being a reliable server company. To reach this goal quickly, Sun needs to work with partners who both have a deep understanding of high performance computing and have a set of developers experienced with large Java applications. NCSA may be the unique partner with these qualifications.
The NCSA Alliance includes six Application teams, each of which is tasked to both drive the technical development of the computing environment in general and to provide tools for their respective application communities. Each application team si working on a set of codes that have run on traditional vector or MPP supercomputers and must be ported to the large-scale distributed shared memory Origin-2000 from SGI/Cray. While this approach makes the most sense for high performance in the near term, we believe that we must begin now to bring some of the more numerically intensive portions of the user code into a java-based environment.
To do this we will require a powerful server with a fast implementation of the Java virtual machine, and we will ideally work with Java implementation experts at Sun who can analyze the needs of these scientific application and work toward performance improvements.
In addition to NCSA’s investment in the Habanero project and its use for education and scientific research collaboration, DARPA has funded the Integrated Synchronous And Asynchronous Collaboration (ISAAC, http://www.ncsa.uiuc.edu/SDG/Projects/ISAAC/) project. Based on the Habanero framework, the ISAAC project will utilize automated analysis and indexing of captured Habanero multimedia collaboration sessions. Prototype work to date in identifying and tracking motion within video streams, and in segmentation of audio streams by speaker and with quantified level of emphasis has shown considerable promise. These inferred items of information become part of the indexes by which Habanero session archives can be searched, and can thereby be reused. This analysis and indexing must be performed on a "back end" system of considerable power in order to produce its results in near real-time.
Java-based Educational Environments: Survey, Evaluation and Deployment
The NCSA Alliance includes multiple participants in the Department of Defense Modernization activities and specifically the Programming Environments and Training (PET) components. NCSA is working with the Northeast Parallel Architecture Center (NPAC) and Geoffrey Fox to evaluate a number of java-based technologies for supporting education and collaboration. This involves deployment of systems including Habanero, NPAC’s Tango, and commercial systems such as PlaceWare. The deployment will be with real users at DoD Major Shared Resource Centers and within the NCSA Alliance, and will result in evaluation of where these various approaches and frameworks will fit in broader deployment activities.
LEX- NEED REALITY CHECK HERE ON WHAT WE WILL ACTUALLY DO AND ASSUME THAT SOME OF THE 4 FTE AND 8 STUDENTS WILL BE WORKING HERE IF THAT IS WHAT SUN IS INTERESTED IN DOING.
Knowledge Management
Establishing effective data warehouses and mining that data for customer insights is a key goal of almost every commercial and government organization. Integration of diverse legacy data sources has proved more difficult than anticipated because each organization’s individual data sources have been optimized for on-going business activities rather than for developing an integrated customer view. To overcome this problem, NCSA has been working with Industrial Partner teams to develop access to multiple, large relational databases and data warehouse configurations using custom Java software. In these projects, we have been able to compress their expected data conversion timelines from years to weeks and bring substantial extra value to these knowledge intensive projects.
In our current data cleaning efforts, we handling 20 to 50 GByte data sets on NT workstations and scaling up to 150 Gbytes on NT Server clusters. We propose to use the E-10000 UltraServer configuration to scale up to enterprise-scale sizes and process, 0.5 to 1.0 Tbytes and beyond. At this scale, we believe that the data conversion logjam being encountered by our Industrial Partners can be broken, and the time-line for them to benefit from advanced knowledge discovery and management techniques reduced by several years. If these conversions are performed and stored on relational databases inside the highly reliable E-10000 environment, Sun will be in a strong sales position for corporate utilization of these very high value knowledge assets.
NCSA Background
The National Science Foundation supercomputing centers program, founded in 1985, began with the goal of increasing the access of national academic and industrial scientists and engineers to state of the art high performance computing (HPC) systems. As one of the initial five supercomputing centers in that program, the National Center for Supercomputing Applications (NCSA) very quickly broadened the scope of center activities to include tight coupling between desktop systems and the high end computational resources. Desktop systems were essential in providing overall access to these resources. First, they became the entry point for the newly formed national user community via the fledgling NSF backbone network, and second, they provided the platform for a variety of post-processing and analysis tools for the applications run on the HPC systems, principally for visualization.
NCSA's first software product, NCSA Telnet, set the standard for such early tools, based on network and software standards. Made freely available to the user community, and though aimed at requirements of HPC users, NCSA Telnet was quickly downloaded and used by hundreds of thousands of Macintosh and PC/DOS users for access to a variety of local and remote computational resources. During the 1980’s, the Macintosh was the central platform for NCSA development activities because of its early integration of advanced features for open networking and visualization. During the early 1990’s our focus moved from the Macintosh to Silicon Graphics and the NCSA Mosaic web browser was developed for all three platforms (Windows 3.1, Macintosh, UNIX). However, for the past two years our development and staff deployment efforts have concentrated primarily on the Windows PC platform. Our development as well as staff computing environment strategies essentially declared the Macintosh "dead" at NCSA shortly before the release of Windows 95.
The mid-1990's have brought a revolution in the use of computing systems at both the high and low end of the performance spectrum to address information-based applications. As the hardware foundation for desktop and HPC systems have converged, so too have the resource requirements of the applications run on those systems in commercial information and scientific simulation environments. At the same time, the capabilities required by the scientific researcher, still at the core of NCSA's user base, continue to lead the way for the broader user community. Today these areas of technology flow from science/engineering to commercial include management of massive datasets, indexing and searching for selected information, advanced and ubiquitous visualization of results, the use of digital libraries and online publishing capabilities, and synchronous and asynchronous collaboration environments.
In its successful proposal to the National Science Foundation in 1996, NCSA created an Alliance of academic and industrial partners, and stressed the convergence of these commercial IT and scientific environments and markets. Furthermore, that proposal emphasized not only traditional (UNIX-based) supercomputing but the increasing importance of the NT operating system in this new converging marketplace of hardware and application software. The proposal included two major thrusts central to information technology development and integration.
First, a distributed leading edge center would provide advanced computing and information capabilities to the national user community. The NCSA leading edge center currently provide access to three architecture paths: clusters of distributed shared memory UNIX systems (SGI/Cray Origin-2000, HP Exemplar), clustered PC’s (several large Intel-based clusters), and large-scale UNIX clusters using the Condor system from the University of Wisconsin. As the NCSA Alliance evolves, NCSA will continue to evaluate next-generation systems including clusters of shared memory as well as distributed-shared memory sytstems. NCSA’s resources will be integrated with several partner centers (Argonne National Laboratory, Ohio Supercomputer Center, Maui High Performance Computing Center, Boston University, University of Kentucky) into a seamless set of computing and information services.
Second, the NCSA Alliance includes three Enabling Technologies teams consisting of roughly three dozen of the nation’s leading computer science researchers. These three teams are working with scientific disciplinary teams of end-users as well as the leading edge center staff, with development activities in the areas of parallel computing, distributed computing, and data and collaborative computing. The distributed leading edge center will be integrated with middleware from the research community as well as industry. In the area of clustered computing, for example, the NCSA Alliance includes a strong push toward large-scale clusters through partnership with the University of Wisconsin Condor project (Miron Livny) and the University of Illinois at Urbana-Champaign tightly-coupled NT cluster project (Andrew Chien).
NCSA Partnerships and Technology Transfer
In 1986 NCSA initiated an Industrial Partners program to provide US industry with access to advanced computing capabilities and expertise in areas such as visualization and computational science. This program grew during the first several years to ten full partners and continues today with over a dozen partners. Typical partnerships range from $500,000 per year to over $1M per year and involve a combination of specific projects, support for research infrastructure, and access to supercomputers. Among our current partners are Allstate, Kodak, Motorola, JP Morgan, American Airlines, FMC, Schlumberger, Sears, Eli Lilly, Boeing, Shell Oil, Caterpillar and the Tribune Company.
In 1987 NCSA established a similar program, called "Strategic Vendors" involving partnerships with companies who provide significant hardware, software, and service to NCSA. This program has taken a number of different shapes from an implementation standpoint, ranging from significant discounts beyond typical university discounts to research grants to unrestricted financial gifts. Most involve a combination of discount and grants.
Concentration of development using the Mac platform in the 1980’s led to NCSA's first strategic vendor relationship with Apple. Through this relationship Apple funded the early growth of the software tools development group within NCSA, supplied several state-of-the-art training classrooms, enjoyed the promotion of new capabilities enabled by developed software, and shared in technology transfer that traveled in both directions. A similar strategic partnerships were developed with Cray Research and Convex Computer involving algorithm development and system software capability in the late 1980's and with Hewlett-Packard involving UNIX clusters and scalable web servers in the early 1990’s. These relationships differ from the successful industrial partners program at NCSA in that the latter focus on the business and application requirements of the partner and expose new technologies and new techniques to the partners while using their applications for test, evaluation and refinement of development directions.
With the longstanding support NCSA has had from Sun in areas of fileservers and Java, NCSA has designated Sun as a strategic vendor. Other current strategic vendors include hardware suppliers (SGI/Cray, HP) as well as software suppliers (Microsoft, Computer Associates, Sun, IBM) and service providers (Ameritech). As stated earlier, this proposal outlines a series of "next steps" for the NCSA/Sun strategic vendor partnership.
Summary
This proposal has laid out the broad overview of the NCSA Alliance, a major initiative involving over 50 universities, over a dozen US Corporations, and led by the National Center for Supercomputing Applications (NCSA) at the University of Illinois at Urbana-Champaign. NCSA has a history of innovative use of technology from supercomputers to the Java programming language, and has been a pioneer in the explosion of the Internet and the World Wide Web. In addition, NCSA’s national program in education and NCSA’s involvement in the Department of Defense Modernization program positions NCSA as a clear national leader in technology development, evaluation, and deployment for education.
We have outlined the following set of potential projects, with a request for significant funding and equipment donations in order to support a deep partnership and technology transfer relationship between NCSA and Sun:
As a next step we would like to begin a dialog with Sun in order to prioritize these projects based on Sun’s interests and strategic directions. The primary points of contact for this proposal will be Larry Smarr, NCSA’s Director, and Charlie Catlett, NCSA’s Senior Associate Director for Science and Technology.