24 research outputs found

    Automatic Code Placement Alternatives for Ad-Hoc And Sensor Networks

    Full text link
    Developing applications for ad-hoc and sensor networks poses significant challenges. Many interesting applications in these domains entail collaboration between components distributed throughout an ad-hoc network. Defining these components, optimally placing them on nodes in the ad-hoc network and relocating them in response to changes is a fundamental problem faced by such applications. Manual approaches to code and data migration are not only platform-dependent and error-prone, but also needlessly complicate application development. Further, locally optimal decisions made by applications that share the same network can lead to globally unstable and energy inefficient behavior. In this paper we describe the design and implementation of a distributed operating system for ad-hoc and sensor networks whose goal is to enable power-aware, adaptive, and easy-to-develop ad-hoc networking applications. Our system achieves this goal by providing a single system image of a unified Java virtual machine to applications over an ad-hoc collection of heterogeneous nodes. It automatically and transparently partitions applications into components and dynamically finds a placement of these components on nodes within the ad-hoc network to reduce energy consumption and increase system longevity. This paper outlines the design of our system and evaluates two practical, power-aware, online algorithms for object placement that form the core of our system. We demonstrate that our algorithms can increase system longevity by a factor of four to five by effectively distributing energy consumption, and are suitable for use in an energy efficient operating system in which applications are distributed automatically and transparently

    JiST - Java in Simulation Time Users Guide

    No full text

    AN EFFICIENT, UNIFYING APPROACH TO SIMULATION USING VIRTUAL MACHINES

    No full text
    Due to their popularity and widespread utility, discrete event simulators have been the subject of much research. Systems researchers have built many types of simulation kernels and libraries, while the languages community has designed numerous languages specifically for simulation. In this dissertation, I propose a new approach for constructing simulators that leverages virtual machines and thus combines the advantages of both the traditional systems-based and language-based approaches to simulator construction. I present JiST, a Java-based simulation engine that exemplifies virtual machine-based simulation. JiST executes discrete event simulations by embedding simula-tion time semantics directly into the Java execution model. The system provides all the standard benefits that the modern Java runtime affords. In addition, JiST is efficient, out-performing existing highly optimized simulation runtimes, and in-herently flexible, capable of transparently performing cross-cutting program trans-formations and optimizations at the bytecode level. I illustrate the practicality of the JiST approach through the construction of SWANS, a scalable wireless ad hoc network simulator that can simulate million node wireless networks, which is more than an order of magnitude in scale over what existing simulators can achieve on equivalent hardware and at the same level of detail. BIOGRAPHICAL SKETC

    JiST: Embedding simulation time into a virtual machine

    No full text
    Since progress in many avenues of science depends heavily on simulated results, discrete event simulators have been the subject of much research into their efficient design and execution. This paper introduces JiST, a Java-based simulation framework that executes discrete event simulations both efficiently and transparently. Our system differs from existing work in that it embeds simulation time semantics into the Java execution model, but does so without inventing a new language, without requiring a specialized compiler and without utilizing a custom runtime. The result is a flexible simulation environment that allows sequential simulation execution and also transparently supports both parallel and optimistic execution with automatic checkpointing and rollback. The JiST approach uses a convenient single system image abstraction across a cluster of nodes, that allows for dynamic network and computational load-balancing and fine-grained migration of simulation state. The system provides standard benefits that the modern Java runtime affords, such as type-safety, garbage collection and portability. Nevertheless, JiST performs well, either matching or exceeding the performance of ns2 and the highly optimized GloMo-Sim runtime in both throughput and memory consumption. We illustrate the practicality of the JiST framework by applying it to the construction of SWANS, a scalable wireless ad hoc network simulator

    SOFTWARE—PRACTICE AND EXPERIENCE

    No full text
    to simulation using virtual machines

    Design and implementation of a single system image operating system for ad hoc networks

    No full text
    In this paper, we describe the design and implementation of a distributed operating system for ad hoc networks. Our system simplifies the programming of ad hoc networks and extends total system lifetime by making the entire network appear as a single virtual machine. It automatically and transparently partitions applications into components and dynamically finds them a placement on nodes within the network to reduce energy consumption and to increase system longevity. This paper describes our programming model, outlines the design and implementation of our system and examines the energy efficiency of our approach through extensive simulations as well as validation of a deployment on a physical testbed. We evaluate practical, power-aware, general-purpose algorithms for component placement and migration, and demonstrate that they can significantly increase system longevity by effectively distributing energy consumption and avoiding hotspots.
    corecore