64 research outputs found

    VXA: A Virtual Architecture for Durable Compressed Archives

    Full text link
    Data compression algorithms change frequently, and obsolete decoders do not always run on new hardware and operating systems, threatening the long-term usability of content archived using those algorithms. Re-encoding content into new formats is cumbersome, and highly undesirable when lossy compression is involved. Processor architectures, in contrast, have remained comparatively stable over recent decades. VXA, an archival storage system designed around this observation, archives executable decoders along with the encoded content it stores. VXA decoders run in a specialized virtual machine that implements an OS-independent execution environment based on the standard x86 architecture. The VXA virtual machine strictly limits access to host system services, making decoders safe to run even if an archive contains malicious code. VXA's adoption of a "native" processor architecture instead of type-safe language technology allows reuse of existing "hand-optimized" decoders in C and assembly language, and permits decoders access to performance-enhancing architecture features such as vector processing instructions. The performance cost of VXA's virtualization is typically less than 15% compared with the same decoders running natively. The storage cost of archived decoders, typically 30-130KB each, can be amortized across many archived files sharing the same compression method.Comment: 14 pages, 7 figures, 2 table

    Automatic generation of hardware/software interfaces

    Get PDF
    Enabling new applications for mobile devices often requires the use of specialized hardware to reduce power consumption. Because of time-to-market pressure, current design methodologies for embedded applications require an early partitioning of the design, allowing the hardware and software to be developed simultaneously, each adhering to a rigid interface contract. This approach is problematic for two reasons: (1) a detailed hardware-software interface is difficult to specify until one is deep into the design process, and (2) it prevents the later migration of functionality across the interface motivated by efficiency concerns or the addition of features. We address this problem using the Bluespec Codesign Language~(BCL) which permits the designer to specify the hardware-software partition in the source code, allowing the compiler to synthesize efficient software and hardware along with transactors for communication between the partitions. The movement of functionality across the hardware-software boundary is accomplished by simply specifying a new partitioning, and since the compiler automatically generates the desired interface specifications, it eliminates yet another error-prone design task. In this paper we present BCL, an extension of a commercially available hardware design language (Bluespec SystemVerilog), a new software compiling scheme, and preliminary results generated using our compiler for various hardware-software decompositions of an Ogg Vorbis audio decoder, and a ray-tracing application.National Science Foundation (U.S.) (NSF (#CCF-0541164))National Research Foundation of Korea (grant from the Korean Government (MEST) (#R33-10095)

    Decision-theoretic exploration of multiProcessor platforms

    Full text link
    In this paper, we present an efficient technique to perform design space exploration of a multi-processor platform that minimizes the number of simulations needed to identify the power-performance approximate Pareto curve. Instead of using semi-random search algorithms (like simulated anneal-ing, tabu search, genetic algorithms, etc.), we use domain knowledge derived from the platform architecture to set-up exploration as a decision problem. Each action in the decision-theoretic framework corresponds to a change in the platform parameters. Simulation is performed only when information about the probability of action outcomes be-comes insufficient for a decision. The algorithm has been tested with two multi-media industrial applications, namely an MPEG4 encoder and an Ogg-Vorbis decoder. Results show that the exploration of the number of processors and two-level cache size and policy, can be performed with less than 15 simulations with 95 % accuracy, increasing the ex-ploration speed by one order of magnitude when compared to traditional operation research techniques. 1

    Licensing and Business Models

    Get PDF
    License affects software companies’ business activities. While proprietary software vendors create custom licenses, open source companies have less flexibility. The Open Source Initiative (OSI) defines a list of 72 licenses as open source (“OSI approved”). For a project to follow open source licensing, it has to pick licenses from this set. Logically, we expect that an open source company defines its business model around the license that it selects. Thus, we can assume that business model decisions follow license choice. In our research we find that in some cases open source companies remove these license constraints for business reasons. We observed cases of open source companies moving from one OSI-approved license to another or companies innovating by adding additional terms. In all these cases, the decision of change is based on the license being a poor fit with their business goals. Not all open source companies are entitled to change the license because this option is available only to companies that own intellectual property. If they do not, they can try to reshape their business model, but that remains a suboptimal option. Whether cognizant of it or not, organizations are implicitly choosing a business model when they select a license. Therefore, it is very important to address licensing and business model decisions as one system instead of a disjointed two-step process. For this purpose we introduce (1) an evolutionary model where license selection and business model impact each other and (2) a taxonomy that addresses both licensing and business models. Our approach helps practitioners include revenue considerations in the licensing choice and researchers to more accurately study the antecedents and consequences of license choice.

    Research and Implementation on an Embedded Ogg Vorbis Player Based on ARM Linux and MiniGUI

    Get PDF
    本文研究并实现了一款基于ARMLinux操作系统和MiniGUI图形系统的OggVorbis音频文件播放器。该播放器提供美观、友好的图形用户界面。用户可方便地进行播放、停止、暂停、选曲等操作。播放器解码输出的立体声信号音质优良。OggVorbis是一种新型的音频有损压缩编码格式,因其开源、免专利的特性和技术上的优势,获得了越来越广泛的重视,有着很好的发展和应用前景。随着多媒体技术和嵌入式技术的不断发展,各种类型的嵌入式媒体播放器层出不穷。但是,国内对嵌入式OggVorbis播放器的研究和实现还不多见,所以本文将研究目标定为实现一款嵌入式OggVorbis播放器。该播放器使用的国内外广泛使用的A...This thesis describes the design and implementation of an Ogg Vorbis player, which is based on embedded Linux and MiniGUI graphics system. The player provides an artistic and maneuverable graphical user interface (GUI). It is easy to use and supports many operations, such as “play”, “stop”, “pause”, “select file”, and so on. The output stereo is high-quality. Ogg Vorbis is a new kind of ...学位:工学硕士院系专业:计算机与信息工程学院电子工程系_电路与系统学号:20033001

    The SATIN component system - a metamodel for engineering adaptable mobile systems

    Get PDF
    Mobile computing devices, such as personal digital assistants and mobile phones, are becoming increasingly popular, smaller, and more capable. We argue that mobile systems should be able to adapt to changing requirements and execution environments. Adaptation requires the ability-to reconfigure the deployed code base on a mobile device. Such reconfiguration is considerably simplified if mobile applications are component-oriented rather than monolithic blocks of code. We present the SATIN (system adaptation targeting integrated networks) component metamodel, a lightweight local component metamodel that offers the flexible use of logical mobility primitives to reconfigure the software system by dynamically transferring code. The metamodel is implemented in the SATIN middleware system, a component-based mobile computing middleware that uses the mobility primitives defined in the metamodel to reconfigure both itself and applications that it hosts. We demonstrate the suitability of SATIN in terms of lightweightedness, flexibility, and reusability for the creation of adaptable mobile systems by using it to implement, port, and evaluate a number of existing and new applications, including an active network platform developed for satellite communication at the European space agency. These applications exhibit different aspects of adaptation and demonstrate the flexibility of the approach and the advantages gaine

    ARDUINO BASED WIFI ENABLED WIRELESS SPEAKER

    Get PDF
    This project is to create a system to wirelessly broadcast an audio signal from a computer to a set of speakers using Wi-Fi. This allows one to play music files from a computer and have the sound come out of any speakers that are in range of the wireless network. The ideal use case for this product would involve the ability to have a computer in one room processing music files while multiple speakers throughout the house are actually playing the music. This would be particularly useful in a party setting where one would like to keep a computer safe in a locked room while still being able to use it to play music. Additionally, if a party is there are sets of speakers in multiple rooms, they can all be synced to the same audio source. The major components of the system are the microcontroller receiver module (an ATMega 328p) and the computer program that sends the packetized audio data. This is to create a system that uses Wi-Fi to transmit audio from a source such as a laptop to a speaker system. The final product combines the use of embedded harware, low level software programming, and the IEEE 802.11 standard protocol for wireless communication (Wi-Fi) to create a polished end device. The hardware and software was developed using a combination of original work as open source code and libraries

    Implementation and evaluation of a mobile Android application for auditory stimulation of chronic tinnitus patients

    Get PDF
    Tinnitus is a common symptom where the affected person perceives a sound without an external source. To support the development of new therapies a tinnitus tracking platform, including mobile applications, was developed at Ulm University in cooperation with the tinnitus research initiative. In the future, these mobile applications should be extended to include a simple game that requires the user to concentrate on an auditory stimulation, distracting them from their tinnitus. This is accomplished by using localization of an audio source as a game mechanic. The measurement of the offset between the position the user guessed for an audio source and its actual location could also serves as an additional data point. In this thesis an application for the Android operating system is designed that implements such a game and serves as a proof of concept. Since the Android API does not include the capability for positional audio, a separate audio API based on OpenAL was created as part of this thesis. This API as well as the framework developed to implement the game are designed to be reusable for future, similar projects. The game concept was also evaluated in a study using the demonstration application

    A methodology for hardware-software codesign

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2013.Cataloged from PDF version of thesis.Includes bibliographical references (pages 150-156).Special purpose hardware is vital to embedded systems as it can simultaneously improve performance while reducing power consumption. The integration of special purpose hardware into applications running in software is difficult for a number of reasons. Some of the difficulty is due to the difference between the models used to program hardware and software, but great effort is also required to coordinate the simultaneous execution of the application running on the microprocessor with the accelerated kernel(s) running in hardware. To further compound the problem, current design methodologies for embedded applications require an early determination of the design partitioning which allows hardware and software to be developed simultaneously, each adhering to a rigid interface contract. This approach is problematic because often a good hardware-software decomposition is not known until deep into the design process. Fixed interfaces and the burden of reimplementation prevent the migration of functionality motivated by repartitioning. This thesis presents a two-part solution to the integration of special purpose hardware into applications running in software. The first part addresses the problem of generating infrastructure for hardware-accelerated applications. We present a methodology in which the application is represented as a dataflow graph and the computation at each node is specified for execution either in software or as specialized hardware using the programmer's language of choice. An interface compiler as been implemented which takes as input the FIFO edges of the graph and generates code to connect all the different parts of the program, including those which communicate across the hardware/software boundary. This methodology, which we demonstrate on an FPGA platform, enables programmers to effectively exploit hardware acceleration without ever leaving the application space. The second part of this thesis presents an implementation of the Bluespec Codesign Language (BCL) to address the difficulty of experimenting with hardware/software partitioning alternatives. Based on guarded atomic actions, BCL can be used to specify both hardware and low-level software. Based on Bluespec SystemVerilog (BSV) for which a hardware compiler by Bluespec Inc. is commercially available, BCL has been augmented with extensions to support more efficient software generation. In BCL, the programmer specifies the entire design, including the partitioning, allowing the compiler to synthesize efficient software and hardware, along with transactors for communication between the partitions. The benefit of using a single language to express the entire design is that a programmer can easily experiment with many different hardware/software decompositions without needing to re-write the application code. Used together, the BCL and interface compilers represent a comprehensive solution to the task of integrating specialized hardware into an application.by Myron King.Ph.D

    An SNMP-based audio distribution service architecture

    Get PDF
    Dissertação de mestrado em Engenharia de Redes e Serviços TelemáticosThe constant growth of integration and popularity of “Internet of Things” devices is affecting home automation systems, where new technologies were introduced, in the recent years for this particular sector. These automation systems integrate devices that can be anywhere in the house, connected to a home network, either through a wire or wireless connection. A home automation system can be used to control air conditioning, lighting, pool control systems, home-entertainment systems and much more. Within the field of home-entertainment systems, the best known technologies are the Digital Living Network Alliance and the Digital Audio Access Protocol, which provide interoperability to allow sharing of digital media content between devices across a home network. However, these technologies have the disadvantage of being proprietary, maintaining restrict documentation access, complex architectures and concepts and not optimal to specific purposes, like audio distribution. The main goal of this project was to prove that is possible to use standardized protocols, such as the Simple Network Manager Protocol and open source tools in order to develop a music distribution service that allows the implementation of similar features than the ones already existing proprietary technologies. As such, the implementation prototype system allows a user to manage and play audio from a music collection that is stored in a single home audio server. The system architecture enables audio streaming between the server and the various devices in the same local network. Further more, the music collection, can integrate virtual audio files that are available from external music sources, like iTunes, etc.O constante crescimento de integração e popularidade da “Internet das coisas” tem atualmente afetado sistemas de domótica, onde cada vez mais tecnologias têm vindo a ser desenvolvidas nos últimos anos para este sector em particular. Estes sistemas de domótica integram dispositivos que podem estar em qualquer parte de uma casa, ligados à rede seja através de um cabo ou por wireless. Um sistema de domótica pode ser usado para controlar: ar condicionado, iluminação, sistemas de controlo de piscinas, sistemas de entretenimento, entre outros. Na área de sistemas de entretenimento, as tecnologias mais conhecidas são Digital Living Network Alliance e Digital Audio Access Protocol, que fornecem interoperabilidade de modo a permitir a partilha de conteúdos digitais multimédia entre dispositivos que se encontram na mesma rede local. Contudo, possuem a desvantagem de serem tecnologias proprietárias, com documentação e manuais restritos, arquiteturas e conceitos complexos, e não otimizados para fins específicos, tal distribuição de áudio. O principal objetivo deste projeto foi provar que é possível usar protocolos normalizados, como o Simple Network Manager Protocol e ferramentas open source de forma a desenvolver um serviço de distribuição de música que permite a implementação de funcionalidades semelhantes às tecnologias proprietárias já existentes. Assim, o protótipo implementado permite a um utilizador gerir e reproduzir áudio de uma coleção de música que se esteja armazenada num servidor de áudio domestico. A arquitetura permite streaming de áudio entre o servidor e os diferentes dispositivos que se encontram na mesma rede local. Consequentemente, a coleção de música pode integrar ficheiros de áudio visuais que estejam acessíveis através de fontes externas de música, como por exemplo: iTunes, etc
    corecore