This paper reports on a prototype, network-based virtual laboratory that allows ... cost-sharing and efficient resource-management (software resources do not ...
Network-Based Simulation Laboratories for Microelectronics Systems Design and Education* Nirav H. Kapadia, Mark S. Lundstrom, Jose´ A. B. Fortes, and Kaushik Roy {kapadia, lundstro, fortes, kaushik}@ecn.purdue.edu ABSTRACT This paper reports on a prototype, network-based virtual laboratory that allows geographically distributed users to share and run existing tools via standard web browsers (‘‘http://www.ecn.purdue.edu/labs/punch’’). The software infrastructure for the virtual laboratory is described, and ongoing applications of this infrastructure to microelectronics systems design and education are discussed.
1. Introduction As with many other fields, microelectronics systems design involves heavy use of sophisticated CAD tools. Although the more popular CAD packages are easily available to the microelectronics design community at large, many CAD tools developed for highlyspecialized domains or for future-generation technologies tend to be used only at the places where they were developed because of the problems inherent in porting and distributing evolving software. Students, designers, and researchers could benefit from an ability to quickly access, use, and share such tools via the network. Users could evaluate the tools and contribute to their development. They could also obtain simulation services without the need to download, install, and maintain a large collection of highly-specialized tools. To address these issues, we have developed a prototype network-based virtual laboratory that allows collaborators to access and run existing tools via standard world-wide web browsers (Figure 1). The initial prototype, the Semiconductor Simulation Hub, focused on semiconductor technology CAD [1]. This Hub currently contains thirteen tools from four universities, and, in less than one year, over 200 users have performed more than 10,000 simulations. New Hubs for VLSI design, computer architectures, and parallel programming have been added in recent months; they currently contain a modest complement of nine tools. This paper describes the software infrastructure and discusses its use in microelectronics systems design and education. The virtual laboratory can be accessed at ‘‘http://www.ecn.purdue.edu/labs/punch’’. The Hub infrastructure consists of a set of specialized servers (written in Perl5), one or more of which act as a primary server. Each primary server has a HTTP hhhhhhhhhhhhhhhhhh * Supported by the AT&T Foundation, the Semiconductor Research Corporation, and the National Science Foundation.
Figure 1: Sample screen-dumps. The first shows the main page for a program. The second one shows the output of a SOISpice simulation for a 4-stage FD/SOI CMOS inverter circuit. front-end that allows users to: a) upload and manipulate input-files, b) run programs, and c) view and download output - all via standard WWW browsers. The Hub infrastructure provides users with a central view of distributed resources, and facilitates on-demand, highperformance network-computing. Moreover, it provides developers and administrators with a mechanism for cost-sharing and efficient resource-management (software resources do not have to be replicated at individual sites, and hardware resources can be shared). The infrastructure can be replicated on different types and numbers of machines and customized for specific needs.
2. The Simulation Hub The Hub is a WWW-accessible collection of simulation tools and related information. The underlying infrastructure supporting the Hub was designed to: a) have a universally-accessible user-interface (via WWW browsers), b) provide access-control (security and privacy) and job-control (run, abort, and program status functions), and c) support logical resource-organization and management. Figure 2 shows a conceptual view of the Hub. The Hub infrastructure is a distributed entity that consists of a set of specialized servers which access (and control) local and remote hardware and software resources. As implied by the figure, hardware resources include arbitrary platforms. Likewise, software resources include any program (the current implementation does not support interactive and GUI-based programs); the Hub allows these to be
organized and cross-referenced according to their domain. The Hub allows resources to be added incrementally, and uses a resource-description language specifically designed to facilitate the specification of tool and machine characteristics. For example, a new machine can be incorporated into the Hub simply by specifying its architecture (make, model, operating system, etc.) and starting a server on the machine. Similarly, a new tool can be added by ‘‘telling’’ the Hub the tool’s location, its input behavior (e.g., command-line arguments), what kinds of machines it can run on (e.g., Sparc5), and how it fits into the logical organization of the Hub (e.g., circuit simulation tool). Each of these tasks can be typically accomplished in less than thirty minutes. Purdue Users Mac/PC/Unix
External Users Mac/PC/Unix
3. Applications to Education
User-Interface Distributed Hub ‘‘Engine’’
Tools: - Device - VLSI - Other
Resources: - Servers - Workstations - MasPar
Purdue Purdue Illinois
............
Member Supercomputing Center
Maryland Contributing Members
Purdue University Network-Computing Hub ‘‘A Network-Based Virtual Laboratory’’
Figure 2: A conceptual view of the Purdue University Network-Computing Hub. User 1
6
Network Link
1. User Makes Request 2. Lab Processes Request
HTTP User-Interface
3. Lab Sends Request to Remote Server(s)
2
Distributed Lab ‘‘Engine’’ 3 5
Network Link(s)
pled that of the underlying filesystem and interpreted in a context-sensitive manner (based on user-specific state stored by the server), thus allowing virtual accounting and arbitrary access-control. The lab-engine provides the Hub with its on-demand high-performance computing capabilities. When a user requests the execution of a program (Figure 3), the lab-engine uses information in the userspecified input file to predict the resources required for this run, selects an appropriate platform (e.g., workstation for 2-D, supercomputer for 3-D), transfers relevant input files to the selected machine, and initiates the program (via the remote server). When the run is completed, the remote server notifies the lab-engine, which retrieves the output files and informs the user. Note that the above discussion presents an highly simplified functional view; a detailed discussion is beyond the scope of this paper.
4. Remote Server(s) Inform Lab when Job is Complete
The Hub is currently being used in several undergraduate and graduate courses at Purdue. It is also the enabling technology for a NSF-funded three-university (Purdue, Texas - El Paso, and Illinois - Chicago) project directed at semiconductor technology development. The objectives of the project are to: a) educate technologydevelopers on the use of computer tools (as opposed to producing computational specialists), b) bring the use of advanced, university-developed simulation tools into the silicon technology development process, and c) bring the use of simulation into the field of emerging semiconductor technologies, where it currently finds little use. The Hub provides a comprehensive simulation laboratory to the three universities, making it possible for them to share specialized tools. The Hub is also to be used in a four-university effort to teach a Semiconductor Research Corporation (SRC) technology-transfer short-course to industry. Before the course begins, engineers at SRC membercompanies will be able to access the Hub and examine the device simulation tools being released to industry. At the course, they will become acquainted with the operation of the tools in more detail, and after the course, they will be able to continue to access and use the simulation tools via their WWW browsers.
5. Lab Retrieves Output
4. Future Directions
6. Lab Notifies User
Having successfully demonstrated and used a functioning hub focused on semiconductor technology, our efforts are now focused on expanding the new VLSI Design and Computer Architecture Hubs into fullyconfigured laboratories for microelectronics systems design, and on enhancing the underlying Hub software. With regard to the Hub infrastructure, our long-term goal is to provide a complete WWW-based working environment that can be accessed via users’ preferred platforms, including ‘‘Network Computers’’ and ‘‘Net-PCs’’.
4
Remote Lab Server(s)
Figure 3: A simplified view of the steps involved in running a program on the Hub. Functionally, the Hub infrastructure is divided into three parts - the HTTP (HyperText Transfer Protocol) front-end, the lab-engine, and the remote servers. The front-end deals with access-control and file-manipulation, and translates the output of the lab-engine into HTML. To facilitate this functionality, the primary server interprets the URLs differently from the standard documentoriented web servers. The structure of the URL is decou-
REFERENCES [1] N. H. Kapadia, M. S. Lundstrom, and J. A. B. Fortes, "A Network-Based Simulation Laboratory for Collaborative Research and Technology Transfer", Semiconductor Research Corporation’s TECHCON ’96, Arizona.