📄 http:^^www.cs.umd.edu^projects^maruti^
字号:
Date: Wed, 20 Nov 1996 19:39:10 GMT
Server: Apache-SSL/0.4.3b
Content-type: text/html
Content-length: 13934
Last-modified: Sat, 01 Jun 1996 01:33:13 GMT
<HTML><HEAD><TITLE>The Maruti Project</TITLE></HEAD><BODY><!WA0><IMG SRC="http://www.cs.umd.edu/projects/maruti/umcp-logo.gif" ALT="UMD" ALIGN=MIDDLE><!WA1><IMG SRC="http://www.cs.umd.edu/projects/maruti/maruti-logo.gif" ALT="MARUTI" ALIGN=MIDDLE><P><I><!WA2><A HREF="http://www.cs.umd.edu/projects/maruti//">Department of Computer Science</A><BR><!WA3><A HREF="http://www.umcp.umd.edu/">University of Maryland</A><BR>College Park, Maryland 20742<BR>U.S.A.</I><HR><H3>Index</H3><ul><li><!WA4><a href="http://www.cs.umd.edu/projects/maruti/maruti3-announce.html">Maruti 3.0 Release Announcement</a>.<!WA5><img src="http://www.cs.umd.edu/projects/maruti/new_yellow_blue.gif"><li><!WA6><A HREF="ftp://ftp.cs.umd.edu/pub/sdag/maruti/index.html">Recent publications</A><LI><!WA7><A HREF="http://www.cs.umd.edu/projects/maruti/recent.html">Recent accomplishments</A><li><!WA8><a href="#background">Maruti Background</a>.<li><!WA9><a href="#goals">Maruti Design Goals</a>.<li><!WA10><a href="#approach">Design Approach and Principles</a>.<li><!WA11><a href="#personnel">Maruti Personnel</a>.</ul><HR><CENTER><!WA12><IMG SRC="http://www.cs.umd.edu/projects/maruti/devenv.gif"><br><H2>The Maruti 3.0 System Architecture</H2></CENTER><HR><A NAME="background"><H3>Background</H3></A>The purpose of the Maruti project is to create an environment for thedevelopment and deployment of critical applications with hard real-timeconstraints in a reactive environment. Such applications must be able toexecute on a platform consisting of distributed and heterogeneousresources and operate continuously in the presence of faults.<P>The Maruti project started in 1988. The first version of the system wasdesigned as an object-oriented system with suitable extensions forobjects to support real-time operation. The proof-of-concept version ofthis design was implemented to run on top of the Unix operating systemand supported hard and non-real-time applications running in adistributed, heterogeneous environment. The feasibility of thefault-tolerant concepts incorporated in the design of Maruti system werealso demonstrated. No changes to the Unix kernel were made in thatimplementation, which was operational in 1990. We realized that Unix isnot a very hospitable host for real-time applications, as very littlecontrol over the use of resources can be exercised in that system withoutextensive modifications to the kernel. Therefore, based on the lessonslearned from the first design, we proceeded with the design of thecurrent version of Maruti and changed the implementation base to<!WA13><A HREF="http://www.cs.cmu.edu:8001/afs/cs.cmu.edu/project/mach/public/www/mach.html">CMU Mach</A>which permitted more direct control of resources.<P>Most recently, we have implemented Maruti directly on 486 PC hardware,providing Maruti applications total control over resources. The initialversion of the distributed Maruti has also been implemented, allowingMaruti applications to run across a network in a synchronized, hardreal-time manner.<P><a name="goals"><H3>Design Goals</H3></a>The design of a real-time system must take into consideration the primarycharacteristics of the applications which are to be supported. The designof Maruti has been guided by the following application characteristicsand requirements:<UL><LI><B>Real-Time Requirements</B><P>The most important requirement for real-time systems is the capability tosupport the timely execution of applications. In contrast with manyexisting systems, next-generation systems will require support for hard,soft, and non-real-time applications on the same platform.<P><LI><B>Fault Tolerance</B><P>Many of the mission-critical systems are safety-critical, and thereforehave fault tolerance requirements. In this context, fault tolerance is theability of a system to support continuous operation in the presence offaults.<P>Although a number of techniques for supporting fault-tolerant systems havebeen suggested in the literature, they rarely consider the real-timerequirements of the system. A real-time operating system must providesupport for fault tolerance and exception handling capabilities forincreased reliability while continuing to satisfy the timing requirements.<P><LI><B>Distributivity</B><P>The inherent characteristics of many systems require that multipleautonomous computers, connected through a local area network, cooperatein a distributed manner. The computers and other resources in the systemmay be homogeneous or heterogeneous. Due to the autonomous operation ofthe components which cooperate, system control and coordination becomesa much more difficult task than if the system were implemented in acentralized manner. The techniques learned in the design andimplementation of centralized systems do not always extend to distributedsystems in a straightforward manner.<P><LI><B>Scenarios</B><P>Many real-time applications undergo different modes of operation duringtheir life cycle. A scenario defines the set of jobs executing in thesystem at any given time. A hard real-time system must be capable ofswitching from one scenario to another, maintaining the system in a safeand stable state at all times, without violating the timing constraints.<P><LI><B>Integration of Multiple Requirements</B><P>The major challenge in building operating systems for mission-criticalcomputing is the integration of multiple requirements. Because of theconflicting nature of some of the requirements and the solutionsdeveloped to date, integration of all the requirements in a singlesystem is a formidable task. For example, the real-time requirementspreclude the use of many of the fault handling techniques used in otherfault-tolerant systems.</UL><a name="approach"><H3>Design Approach and Principles</H3></a>Maruti is a time-based system in which the resources are reserved priorto execution. The resource reservation is done on the time line, thusallowing for reasoning about real-time properties in a natural way. Thetime-driven architecture provides predictable execution for real-timesystems, a necessary requirement for critical applications requiringhard real-time performance. The basic design approach is outlined below:<UL><LI><B>Resource Reservation for Hard Real-Time Jobs</B><P>Hard real-time applications in Maruti have advance resource reservationresulting in a priori guarantees about the timely execution of hardreal-time jobs. This is achieved through a <EM>calendar</EM> data structurewhich keeps track of all resource reservations and the assigned timeintervals. The resource requirements are specified as early as possiblein the development stage of an application and are manipulated, analyzed,and refined through all phases of application development.<P><LI><B>Predictability through Reduction of Resource Contention</B><P>Hard real-time jobs are scheduled using a time-driven scheduling paradigmin which the resource contention between jobs is eliminated throughscheduling. This results in reduced run time overheads and leads to a highdegree of predictability. However, not all jobs can be pre-scheduled.Since resources may be shared between jobs in the calendar and other jobsin the system, such as non-real-time activities, there may be resourcecontention leading to lack of predictability. This is countered byeliminating as much of resource contention as possible and reducing itwhenever it is not possible to eliminate it entirely. The lack ofpredictability is compensated by allowing enough slack in the schedule.<P><LI><B>Integrated Support for Fault Tolerance</B><P>Fault tolerance objectives are achieved by integrating the support forfault tolerance at all levels in the system design. Fault tolerance issupported by early fault detection and handling, resilient applicationstructures through redundancy, and the capability to switch modes ofoperation. Fault detection capabilities are integrated with theapplication during its development, permitting the use ofapplication-specific fault detection and fault handling. As faulthandling may result in violation of temporal constraints, replicationis used to make the application resilient. Failure of a replica may notaffect the timely execution of other replicas and thereby the operationof the system it may be controlling. Under anticipated load and failureconditions, it may become necessary for the system to revoke theguarantees given to the hard real-time applications and change its modeof operation dynamically so that an acceptable degraded mode ofoperation may continue.<P><LI><B>Separation of Mechanism and Policy</B><P>In the design of Maruti, an emphasis has been placed on separatingmechanism from policy. Thus, for instance, the system provides basicdispatching mechanisms for a time-driven system, keeping the designof specific scheduling policies separate. The same approach isfollowed in other aspects of the system. By separating the mechanismfrom the policy, the system can be tailored and optimized todifferent environments.<P><LI><B>Portability and Extensibility</B><P>Unlike many other real-time systems, the aim of the Maruti project hasbeen to develop a system which can be tailored to use in a wide varietyof situations-from small embedded systems to complex mission criticalsystems. With the rapid change in hardware technology, it is imperativethat the design be such that it is portable to different platforms andmakes minimal assumptions about the underlying hardware platform.Portability and extensibility is also enhanced by using modular designwith well defined interfaces. This allows for integration of newtechniques into the design with relative ease.<P><LI><B>Support of Hard, Soft, and Non-Real-Time in the Same Environment</B><P>Many critical systems consist of applications with a mix of hard, soft,and non-real-time requirements. Since they may be sharing data andresources, they must execute within the same environment. The approachtaken in Maruti is to support the integrated execution of applicationswith multiple requirements by reducing and bounding the unpredictableinteraction between them.<P><LI><B>Support for Distributed Operation</B><P>Many embedded systems need several processors to carry out theircomputations. When multiple processors function autonomously, their usein hard real-time applications requires operating system support forcoordinated resource management. Maruti provides coordinated, time-basedresource management of all resources in a distributed environmentincluding the processors and the communication channels.<P><LI><B>Support for Multiple Execution Environments</B><P>Maruti provides support for multiple execution environments tofacilitate program development as well as execution. Real-timeapplications may execute in the Maruti/Mach or Maruti/Standaloneenvironments and maintain a high degree of temporal determinacy. TheMaruti/Standalone environment is best suited for the embeddedapplications while Maruti/Mach permits the concurrent execution ofhard real-time and non-real-time Unix applications. In addition, theMaruti/Virtual environment has been designed to aid the developmentof real-time applications. In this environment the same code which runsin the other two environments can execute while access to all Unixdebugging tools is available. In this environment temporal accuracy ismaintained with respect to a <EM>virtual real-time</EM>.<P><LI><B>Support for Temporal Debugging</B><P>When an application executes in the Maruti/Virtual environment itsinteractions are carried out with respect to virtual real-time which isunder the control of the user. The user may speed it up with respect toactual time or slow it down. The virtual time may be paused at anyinstant and the debugging tools used to examine the state of theexecution. In this way we may debug an application while maintaining alltemporal relationships, a process we call <EM>temporal debugging</EM>.</UL><a name="personnel"><H3>Principal Investigators</H3></a><UL><LI><B><!WA14><A HREF="http://www.cs.umd.edu/users/agrawala/">Dr. Ashok Agrawala</A></B><LI><B><!WA15><A HREF="http://www.cs.umd.edu/users/tripathi/">Dr. Satish Tripathi</A></B></UL><H3>Research Programmers</H3><UL><LI><B><!WA16><A HREF="http://www.cs.umd.edu/users/morales/">Jan Morales</A></B></UL><H3> Current Visitors</H3><UL><LI><B>Dr. S.V. Raghavan</B><LI><B>Dr. Dheeraj Sanghi</B></UL><H3>Graduate Students</H3><UL><LI><B><!WA17><A HREF="http://www.cs.umd.edu/users/aboutabl">Mohamed Said Aboutabl</A></B><LI><B><!WA18><A HREF="http://www.cs.umd.edu/users/ardas">Ardas Cilingiroglu</A></B><LI><B><!WA19><A HREF="http://www.cs.umd.edu/users/seonho">Seonho Choi</A></B><LI><B><!WA20><A HREF="http://www.cs.umd.edu/users/krish">Krishnan K. Kailas</A></B><LI><B><!WA21><A HREF="http://www.cs.umd.edu/users/sylee">Sung Lee</A></B><LI><B><!WA22><A HREF="http://www.cs.umd.edu/users/fwmiller">Frank Miller</A></B><LI><B><!WA23><A HREF="http://www.cs.umd.edu/users/bao">Bao Trinh</A></B></UL><H3>Recent Alumni</H3><UL><LI><B><!WA24><A HREF="http://www.cs.pitt.edu/~mosse">Daniel Mosse</A></B>,Assistant Professor, University of Pittsburgh<LI><B><!WA25><A HREF="http://www.cs.umd.edu/users/manas">Manas Saksena</A></B>,Assistant Professor, Concordia University<LI><B><!WA26><A HREF="http://www.cs.umd.edu/users/ogud">觢afur Gu餸undsson</A></B>,Trusted Information Systems<LI><B>Nathan Lewis</B>,Microsoft Corporation<LI><B><!WA27><A HREF="http://www.cs.umd.edu/users/fms">Marat Fayzullin</A></B>,<!WA28><A HREF="http://www.freeflight.com/">Aerospace Engineering</A><LI><B>Chia-Mei Chen</B><LI><B>Steve Cheng</B><LI><B><!WA29><A HREF="http://www.cs.umd.edu/users/shyhin">Shyhin Hwang</A></B><LI><B>Jan Rizzuto</B>, Loral<LI><B>Bala Srinivasan</B>, Bell Labs<LI><B><!WA30><A HREF="http://www.cs.umd.edu/users/jds/">James da Silva</A></B>, <!WA31><A HREF="http://www.tracertech.com/">Tracer Technologies, Inc.</A></UL><H3>Contact Information</H3><BLOCKQUOTE>Dr. Ashok Agrawala<BR><I><!WA32><A HREF="mailto:agrawala@cs.umd.edu">agrawala@cs.umd.edu</A></I><BR>+1 (301) 405-2525<P><!WA33><A HREF="http://www.cs.umd.edu/projects/maruti//">Department of Computer Science</A><BR><!WA34><A HREF="http://www.umcp.umd.edu/">University of Maryland</A><BR>College Park, MD 20742<BR>U.S.A.<P>Fax: +1 (301) 405-6707</BLOCKQUOTE><HR><ADDRESS>Any problems with this HTML document? Contact <!WA35><A HREF="mailto:morales@cs.umd.edu>morales@cs.umd.edu</A>.<BR>Last modified: May 31, 1996.</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -