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
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
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
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
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
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
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
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
- …