96 research outputs found

    Overview of Swallow --- A Scalable 480-core System for Investigating the Performance and Energy Efficiency of Many-core Applications and Operating Systems

    Full text link
    We present Swallow, a scalable many-core architecture, with a current configuration of 480 x 32-bit processors. Swallow is an open-source architecture, designed from the ground up to deliver scalable increases in usable computational power to allow experimentation with many-core applications and the operating systems that support them. Scalability is enabled by the creation of a tile-able system with a low-latency interconnect, featuring an attractive communication-to-computation ratio and the use of a distributed memory configuration. We analyse the energy and computational and communication performances of Swallow. The system provides 240GIPS with each core consuming 71--193mW, dependent on workload. Power consumption per instruction is lower than almost all systems of comparable scale. We also show how the use of a distributed operating system (nOS) allows the easy creation of scalable software to exploit Swallow's potential. Finally, we show two use case studies: modelling neurons and the overlay of shared memory on a distributed memory system.Comment: An open source release of the Swallow system design and code will follow and references to these will be added at a later dat

    Encyclopedia of software components

    Get PDF
    Intelligent browsing through a collection of reusable software components is facilitated with a computer having a video monitor and a user input interface such as a keyboard or a mouse for transmitting user selections, by presenting a picture of encyclopedia volumes with respective visible labels referring to types of software, in accordance with a metaphor in which each volume includes a page having a list of general topics under the software type of the volume and pages having lists of software components for each one of the generic topics, altering the picture to open one of the volumes in response to an initial user selection specifying the one volume to display on the monitor a picture of the page thereof having the list of general topics and altering the picture to display the page thereof having a list of software components under one of the general topics in response to a next user selection specifying the one general topic, and then presenting a picture of a set of different informative plates depicting different types of information about one of the software components in response to a further user selection specifying the one component

    The Subclassing Anomaly in Compiler Evolution

    Get PDF
    Subclassing in collections of related classes may require re-implementation of otherwise valid classes just because they utilize outdated parent classes, a phenomenon that is referred to as the subclassing anomaly. The subclassing anomaly is a serious problem since it can void the benefits of code reuse altogether. This paper offers an analysis of the subclassing anomaly in an evolving object-oriented compiler. The paper also outlines a solution for the subclassing anomaly that is based on alternative code reuse mechanism, named class overriding

    Utilización de patrones de diseño en la asignatura de Procesadores de Lenguaje

    Get PDF
    La asignatura de Procesadores de Lenguaje comprende el aprendizaje de una teoría formal y el desarrollo práctico de un procesador de lenguaje. La fase de análisis semántico es comúnmente descrita mediante el uso de formalismos tales como gramáticas atribuidas. En este artículo presentamos cómo hemos utilizado patrones de diseño para la enseñanza teórica de sistemas de tipos y el desarrollo práctico del analizador semántico de un compilador. Nuestro enfoque facilita la comprensión de conceptos teóricos gracias a que la notación utilizada (UML) es conocida por los estudiantes. Adicionalmente, los diseños son aplicados en el desarrollo práctico de un procesador de lenguaje, reforzando competencias propias de Ingeniería del Software.Peer Reviewe

    Handling the Subclassing Anomaly with Object Teams

    Get PDF
    Java software or libraries can evolve via subclassing. Unfortunately, subclassing may not properly support code adaptation when there are dependencies between classes. More precisely, subclassing in collections of related classes may require reimplementation of otherwise valid classes. This problem is defined as the subclassing anomaly, which is an issue when software evolution or code reuse is a goal of the programmer who is using existing classes. Object Teams offers an implicit fix to this problem and is largely compatible with the existing JVMs. In this paper, we evaluate how well Object Teams succeeds in providing a solution for a complex, real world project. Our results indicate that while Object Teams is a suitable solution for simple examples, it does not meet the requirements for large scale projects. The reasons why Object Teams fails in certain usages may prove useful to those who create linguistic modifications in languages or those who seek new methods for code adaptation

    The Need for Software Migration Systems

    Get PDF
    Software translation activities tend to decrease in efficiency as the number of supported source and target languages increase. This paper presents an improved approach by organizing translators into software migration systems. It also analyzes the impact of this approach on the efficiency in the dynamics of such systems.software, migration systems, dynamics.

    The Interpreter In An Undergraduate Compilers Course

    Full text link
    An undergraduate compilers course poses significant challenges to students, in both the conceptual richness of the major components and in the programming effort necessary to implement them. In this paper, I argue that a related architecture, the interpreter, serves as an effective conceptual framework in which to teach some of the later stages of the compiler pipeline. This framework can serve both to unify some of the major concepts that are taught in a typical undergraduate course and to structure the implementation of a semester-long compiler project.Comment: Final version to appear in SIGCSE '1
    • …
    corecore