Engineering

Publication Search Results

Now showing 1 - 10 of 583

  • (1998) Turner, I.L.; Tomlinson, R.B.; Watson, M.
    Report

  • (1998) Couriel, E.D.; Cox, D.R.; Horton, P.R.
    Report


  • (1995) Ouyang, Jinsong; Heiser, Gernot
    Conference Paper
    This paper proposes an approach for adding fault tolerance, based on consistent checkpointing, to distributed shared memory applications. Two different mechanisms are presented to efficiently address the issue of message losses due to either site failures or unreliable non-FIFO channels. Both guarantee a correct and efficient recovery from a consistent distributed system state following a failure. A variant of the two-phase commit protocol is employed such that the communication overhead required to take a consistent checkpoint is the same as that of systems using a one-phase commit protocol, while our protocol utilises stable storage more efficiently. A consistent checkpoint is committed when the first phase of the protocol finishes.

  • (1999) Deller, L; Heiser, Gernot
    Conference Paper
    Linking and loading are the final steps in preparing a program for execution. This paper assesses issues concerning dynamic and static linking in traditional as well as single-address-space operating systems (SASOS). Related loading issues are also addressed. We present the dynamic linking model implemented in the Mungi SASOS and discuss its strengths and limitations. Benchmarking shows that dynamic linking in a SASOS carries significantly less overhead than dynamic linking in SGI`s Irix operating system. The same performance advantages could be achieved in Unix systems, if they reserved a portion of the address space for dynamically linked libraries, and ensured that each library is always mapped at the same address.

  • (1999) Elpinstone, Kevin; Heiser, Gernot; Liedtke, Jochen
    Conference Paper
    Most modern wide-address computer architecture do not prescribe a page table format, but instead feature a software-loaded TLB, which gives the operating system complete flexibility in the implementation of page tables. Such flexibility is necessary, as to date no single page table format has been established to perform best under all loads. With the recent trend to kernelised operating systems, which rely heavily on mapping operations for fast data movement across address-spaces, demands on page tables become more varied, and hence less easy to satisfy with a single structure. This paper examines the issue of page tables suitable for 64-bit systems, particularly systems based on microkernels. We have implemented a number of candidate page table structures in a fast microkernel and have instrumented the kernel`s TLB miss handlers. We have then measured the kernel`s performance under a variety of benchmarks, simulating loads imposed by traditional compact address spaces (typical for UNIX systems) as well as the sparse address spaces (typical for microkernel-based systems). The results show that guarded page tables, together with a software TLB cache, do not perform significantly worse than any of the other structures, and clearly outperform the other structures where the address space is used very sparsely.

  • (1998) Heiser, Gernot; Lam, F; Russell, Stephen
    Conference Paper
    We present the accounting system used for backing store management in the Mungi single-address-space operating system. The model is designed such that all accounting can be done asynchronously to operations on storage objects, and hence without slowing down such operations. It is based on bank accounts from which rent is collected for the storage occupied by objects. Rent automatically increases as available storage runs low, forcing users to release unneeded storage. Bank accounts receive regular income. A taxation system is used to prevent excessive buildup of funds on underutilised accounts. The accounting system is mostly implemented at user level, with minimal support from the kernel. As a consequence, the accounting model can be changed without modifying the Mungi kernel.

  • (1997) Liedtke, Jochen; Elphinstone, Kevin; Schonberg, Sebastian; Hartig, Hermann; Heiser, Gernot; Islam, Nayeem; Jaeger, Trent
    Conference Paper
    Extensibility can be based on cross-address-space communication or on grafting application-specific modules into the operating system. For comparing both approaches, we need to explore the best achievalbe performance for both models. This paper reports the achieved performance of cross-address-space communication for the L4 microkernel on Intel Pentium, MIPS R4600 and DEC Alpha. The direct cost ranges from 81 cycles (Alpha) to 115 cycles (Pentium). Since only 2.5% of the L1 cache are required (Pentium) the average indirect costs are not expected to be much higher.

  • (1996) Vochteloo, J; Elphinstone, Kevin; Russell, Susan; Heiser, Gernot
    Conference Paper
    The Mungi single address space operating system provides a protected procedure call mechanism named protection domain extension (PDX). The PDX call executes in a protection domain which is the union of (a subset of) the caller`s, and a fixed domain associated with the procedure. On return, the caller`s original protection domain is reestablished. Extensive caching of validation data allows amortisation of setup costs over a possibly large number of invocations. The PDX mechanism forms the basis for object support in Mungi, particularly encapsulation. It is also used for accessing devices, and to implement user-level page fault handlers.