|
|
Status - Q4 1998This report summarizes progress on Cornell's Ensemble Project. The report covers the fourth quarter of calendar year 1998 and assumes a broad familiarity with our work. During Q4 1998, which included the latter part of the summer, we made rapid progress in several areas of our effort. In what follows, we highlight some of the more interesting developments.
SOFTWARE DISTRIBUTION STATUS All of our work is available to the public under a no-fee licensing scheme which grants unrestricted rights for others to use our technology. Our current user community includes:
Status - Q2 1998Scalable Cluster Management and Communication - Werner VogelsIn collaboration with the Scalable Server Lab of Microsoft Research the Reliable Distributed Computing group continues to explore the application of group communication and management in commercial oriented distributed systems. We have performed a detailed analysis of the Microsoft Cluster Service, with the goal to investigate the scalability of the distributed algorithms used for cluster membership and intra-cluster communication. Preliminary results of the global analysis appear in a paper in the 1998 Fault-Tolerant Computing Symposium and a detailed scalability analysis appears in a paper in the 1998 Usenix Windows NT Symposium. The results of the analysis point to significant problems in the management and communication algorithms. We are developing and implementing new membership algorithms targeted towards scaleable node-membership for clusters of 16 nodes and higher. Variations that implement hierarchical clusters (cluster of clusters) are also under investigation. An important focus in this research is the Engineering issues involved in developing membership as an operating system service: how should we structure the service to ensure that nodes under heavy load still are responsive with respect to management of the global cluster membership, which parts should reside inside the OS kernel, which part should be treated as real-time processes and which can be run as regular activities. All of this without taking away unnecessary resources from the applications running on the cluster. PapersVogels, W., Dumitriu, D., Birman, K. Gamache, R., Short, R., Vert, J., Massa, M., Barrera, J., and Gray, J., "The Design and Architecture of the Microsoft Cluster Service -- A Practical Approach to High-Availability and Scalability", Proceedings of the 28th symposium on Fault-Tolerant Computing, Munich, Germany, June 1998 Vogels, W., Dumitriu, D., Agrawal, A., Chia, T., and Guo K., "Scalability of the Microsoft Cluster Service", Proceedings of the Second Usenix Windows NT Symposium, Seattle, WA, August 1998. Mobile Agents - Greg MorrisettMany applications of mobile agents are compute intensive. For example, an agent specialized to look for certain objects within video streams may require an enormous number of cycles. Today, most mobile agent systems are based on relatively high-level languages, such as the Java Virtual Machine (JVM). Whereas the JVM is both portable and type- safe, using it as a platform for mobile agents requires that the host either interprets or just-in-time compiles the JVM bytecodes. Unfortunately, both interpretation and just-in-time compilation can have tremendous performance penalties when compared to assembly code that is produced by an offline, highly- optimizing compiler. Furthermore, each host must trust that its interpreter or JIT compiler is correct, else a malicious agent may take advantage of the bug(s) to subvert the security of a host. To address these issues, we have developed a type system for the 32-bit subset of the Intel IA32 (x86) architecture. Our Typed Assembly Language (TAL) is expressive enough that it can encode high-level source abstractions, such as private fields in objects, yet allows programmers or compilers to generate highly-optimized code. In our mobile agent system, agents can be compiled from a high-level source language to TAL. The TAL code can be shipped to a host, which can then verify that the assembly language is type correct (i.e., respects the host's interfaces.) Then the TAL code can be immediately executed. Hence, the host need not pay the performance penalty of interpretation or just-in-time compilation. Furthermore, the host does not need to have access to a trusted interpreter or compiler. For more technical information about TAL, please visit the TAL web pages. Multimedia & Server Systems Group - Thorsten von Eicken and Brian SmithThe Multimedia and Networking group at Cornell has received and installed 9 300MHz Pentium-II systems (3 dual processor and 6 single processor). Each of these systems is running Windows NT 4.0, and is equipped with a 21" color monitor and several have a Videum video capture card with a camera. One of the sytems has an omnidirectional camera attached to the video card. All these machines are installed in the Systems Lab, which is part of a larger facility including researchers in computer vision, networking and operating systems. There is considerable cross-group work in this facility, such as the Lecture Browser project being pursued jointly with Prof. Huttenlocher's group (there are slides from a talk describing this project). Over the past two years, as a result of the TechEd grant and prior Intel equipment donations, we have moved our systems development to Intel Architecture machines, under Windows NT, using Visual Studio as our development environment. We have ported the U-Net user-level networking architecture, our multimedia tools, as well as a number of applications that previously ran on Unix systems. All new development in the group is taking place in this environment. Completed projects since the beginning of the TechEd 2000 grant (Fall 1997) include: An operating system microkernel written in Java (the J-Kernel) which allows multiple applications to run within a single Java virtual machine and to communicate with each other safely. The J-Kernel is, in essence, a capability operating system implemented without any hardware support. The J-Server bridge between Microsoft's Web server (IIS) and the J-Kernel allowing untrusted code (servlets) to be uploaded to the web server and run in its process to handle HTTP requests. This allows users of the web server to upload custom code to serve dynamic web pages without administrator involvement. The first version of the Dalí high performance library of routines for manipulating video, audio, and image data was developed on the Intel machines and released in March. Unlike other multimedia libraries, Dalí is designed for maximal performance, not ease of use. In the next phase of our research, we will use Dalí as the target language for code generation from a compiler of a higher-level multimedia language. In collaboration with Dan Huttenlocher, we developed the first prototype of the lecture browser, a system for automatically recording lectures and publishing them on the Web. The lecture browser is a system that MPEG encodes video data captured by several (currently 3) cameras in a lecture hall and transfers the recorded audio and video data to a server where a variety of processing takes place. The end result is a complete record of the lecture that can be viewed with Netscape or Internet Explorer. The automatically edited video uses multiple camera angles to give the user a greater sense of presence, and an automatically synchronized slide track compensates for the relatively low slide quality in the video. For more information contact:
|
Last modified on: 10/06/99 |