12,011 research outputs found
EbbRT: Elastic Building Block Runtime - overview
EbbRT provides a lightweight runtime that enables the construction of reusable, low-level system software which can integrate with existing, general purpose systems. It achieves this by providing a library that can be linked into a process on an existing OS, and as a small library OS that can be booted directly on an IaaS node
EbbRT: Elastic Building Block Runtime - case studies
We present a new systems runtime, EbbRT, for cloud hosted applications. EbbRT takes a different approach to the role operating systems play in cloud computing. It supports stitching application functionality across nodes running commodity OSs and nodes running specialized application specific software that only execute what is necessary to accelerate core functions of the application. In doing so, it allows tradeoffs between efficiency, developer productivity, and exploitation of elasticity and scale. EbbRT, as a software model, is a framework for constructing applications as collections of standard application software and Elastic Building Blocks (Ebbs). Elastic Building Blocks are components that encapsulate runtime software objects and are implemented to exploit the raw access, scale and elasticity of IaaS resources to accelerate critical application functionality. This paper presents the EbbRT architecture, our prototype and experimental evaluation of the prototype under three different application scenarios
Making an Embedded DBMS JIT-friendly
While database management systems (DBMSs) are highly optimized, interactions
across the boundary between the programming language (PL) and the DBMS are
costly, even for in-process embedded DBMSs. In this paper, we show that
programs that interact with the popular embedded DBMS SQLite can be
significantly optimized - by a factor of 3.4 in our benchmarks - by inlining
across the PL / DBMS boundary. We achieved this speed-up by replacing parts of
SQLite's C interpreter with RPython code and composing the resulting
meta-tracing virtual machine (VM) - called SQPyte - with the PyPy VM. SQPyte
does not compromise stand-alone SQL performance and is 2.2% faster than SQLite
on the widely used TPC-H benchmark suite.Comment: 24 pages, 18 figure
Practical Fine-grained Privilege Separation in Multithreaded Applications
An inherent security limitation with the classic multithreaded programming
model is that all the threads share the same address space and, therefore, are
implicitly assumed to be mutually trusted. This assumption, however, does not
take into consideration of many modern multithreaded applications that involve
multiple principals which do not fully trust each other. It remains challenging
to retrofit the classic multithreaded programming model so that the security
and privilege separation in multi-principal applications can be resolved.
This paper proposes ARBITER, a run-time system and a set of security
primitives, aimed at fine-grained and data-centric privilege separation in
multithreaded applications. While enforcing effective isolation among
principals, ARBITER still allows flexible sharing and communication between
threads so that the multithreaded programming paradigm can be preserved. To
realize controlled sharing in a fine-grained manner, we created a novel
abstraction named ARBITER Secure Memory Segment (ASMS) and corresponding OS
support. Programmers express security policies by labeling data and principals
via ARBITER's API following a unified model. We ported a widely-used, in-memory
database application (memcached) to ARBITER system, changing only around 100
LOC. Experiments indicate that only an average runtime overhead of 5.6% is
induced to this security enhanced version of application
Towards Python-based Domain-specific Languages for Self-reconfigurable Modular Robotics Research
This paper explores the role of operating system and high-level languages in
the development of software and domain-specific languages (DSLs) for
self-reconfigurable robotics. We review some of the current trends in
self-reconfigurable robotics and describe the development of a software system
for ATRON II which utilizes Linux and Python to significantly improve software
abstraction and portability while providing some basic features which could
prove useful when using Python, either stand-alone or via a DSL, on a
self-reconfigurable robot system. These features include transparent socket
communication, module identification, easy software transfer and reliable
module-to-module communication. The end result is a software platform for
modular robots that where appropriate builds on existing work in operating
systems, virtual machines, middleware and high-level languages.Comment: Presented at DSLRob 2011 (arXiv:1212.3308
Ground Systems Development Environment (GSDE) interface requirements and prototyping plan
This report describes the data collection and requirements analysis effort of the Ground System Development Environment (GSDE) Interface Requirements study. It identifies potential problems in the interfaces among applications and processors in the heterogeneous systems that comprises the GSDE. It describes possible strategies for addressing those problems. It also identifies areas for further research and prototyping to demonstrate the capabilities and feasibility of those strategies and defines a plan for building the necessary software prototypes
The graphic user interface of the AudioGraph Recorder (PC version) : a thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University
With the popularity of the use of computers and the development of the Internet, many multimedia-authoring systems have been developed for computer-based teaching and learning. This is playing an increasingly important role in education. One authoring system is the AudioGraph project developed at Massey university of N.Z., which have been developed for recording audio-graphic presentation material for publication in an html reference environment, i.e. "on the web". One of the tools in the AudioGraph project is the AudioGraph Recorder, which is a Macintosh application for recording or authoring web-based multimedia presentations. Due to the success of the publication of the AudioGraph application and the need of PC users, an AudioGraph Recorder for the PCs is required. This project is about the porting of the AudioGraph Recorder from the Macintosh platform to the PC platform. First this project report explains the functionality of the AudioGraph Recoder (the Macintosh version), especially how the end users interact with the interface of the AudioGraph Recorder, and the corresponding state changes of the controls in the interface. Then the report compares the development tools used in both platforms. The Macintosh version of the AudioGraph Recorder has been developed with the PowerPlant framework in CodeWarrior environment, but the PC version uses MFC framework in Visual C++ 6.0. This report also describes in detail how the interface of the AudioGraph Recorder application was constructed with the MFC, and implementation of some functionality of the application. At the same time some internals of the MFC framework are discussed
Unikernels: the next stage of Linux’s dominance
Unikernels have demonstrated enormous advantages over Linux in many important domains, causing some to propose that the days of Linux's dominance may be coming to an end. On the contrary, we believe that unikernels' advantages represent the next natural evolution for Linux, as it can adopt the best ideas from the unikernel approach and, along with its battle-tested codebase and large open source community, continue to dominate. In this paper, we posit that an upstreamable unikernel target is achievable from the Linux kernel, and, through an early Linux unikernel prototype, demonstrate that some simple changes can bring dramatic performance advantages.Accepted manuscrip
- …