29,920 research outputs found

    PlinyCompute: A Platform for High-Performance, Distributed, Data-Intensive Tool Development

    Full text link
    This paper describes PlinyCompute, a system for development of high-performance, data-intensive, distributed computing tools and libraries. In the large, PlinyCompute presents the programmer with a very high-level, declarative interface, relying on automatic, relational-database style optimization to figure out how to stage distributed computations. However, in the small, PlinyCompute presents the capable systems programmer with a persistent object data model and API (the "PC object model") and associated memory management system that has been designed from the ground-up for high performance, distributed, data-intensive computing. This contrasts with most other Big Data systems, which are constructed on top of the Java Virtual Machine (JVM), and hence must at least partially cede performance-critical concerns such as memory management (including layout and de/allocation) and virtual method/function dispatch to the JVM. This hybrid approach---declarative in the large, trusting the programmer's ability to utilize PC object model efficiently in the small---results in a system that is ideal for the development of reusable, data-intensive tools and libraries. Through extensive benchmarking, we show that implementing complex objects manipulation and non-trivial, library-style computations on top of PlinyCompute can result in a speedup of 2x to more than 50x or more compared to equivalent implementations on Spark.Comment: 48 pages, including references and Appendi

    Ada style guide (version 1.1)

    Get PDF
    Ada is a programming language of considerable expressive power. The Ada Language Reference Manual provides a thorough definition of the language. However, it does not offer sufficient guidance on the appropriate use of Ada's powerful features. For this reason, the Goddard Space Flight Center Ada User's Group has produced this style guide which addresses such program style issues. The guide covers three areas of Ada program style: the structural decomposition of a program; the coding and the use of specific Ada features; and the textural formatting of a program

    Decentralized mobility models for data collection in wireless sensor networks

    Full text link
    Controlled mobility in wireless sensor networks provides many benefits towards enhancing the network performance and prolonging its lifetime. Mobile elements, acting as mechanical data carriers, traverse the network collecting data using single-hop communication, instead of the more energy demanding multi-hop routing to the sink. Scaling up from single to multiple mobiles is based more on the mobility models and the coordination methodology rather than increasing the number of mobile elements in the network. This work addresses the problem of designing and coordinating decentralized mobile elements for scheduling data collection in wireless sensor networks, while preserving some performance measures, such as latency and amount of data collected. We propose two mobility models governing the behaviour of the mobile element, where the incoming data collection requests are scheduled to service according to bidding strategies to determine the winner element. Simulations are run to measure the performance of the proposed mobility models subject to the network size and the number of mobile elements.<br /
    corecore