75,657 research outputs found
Faster Variational Execution with Transparent Bytecode Transformation
Variational execution is a novel dynamic analysis technique for exploring
highly configurable systems and accurately tracking information flow. It is
able to efficiently analyze many configurations by aggressively sharing
redundancies of program executions. The idea of variational execution has been
demonstrated to be effective in exploring variations in the program, especially
when the configuration space grows out of control. Existing implementations of
variational execution often require heavy lifting of the runtime interpreter,
which is painstaking and error-prone. Furthermore, the performance of this
approach is suboptimal. For example, the state-of-the-art variational execution
interpreter for Java, VarexJ, slows down executions by 100 to 800 times over a
single execution for small to medium size Java programs. Instead of modifying
existing JVMs, we propose to transform existing bytecode to make it
variational, so it can be executed on an unmodified commodity JVM. Our
evaluation shows a dramatic improvement on performance over the
state-of-the-art, with a speedup of 2 to 46 times, and high efficiency in
sharing computations
ConfigCrusher: Towards White-Box Performance Analysis for Configurable Systems
Stakeholders of configurable systems are often interested in knowing how
configuration options influence the performance of a system to facilitate, for
example, the debugging and optimization processes of these systems. Several
black-box approaches can be used to obtain this information, but they either
sample a large number of configurations to make accurate predictions or miss
important performance-influencing interactions when sampling few
configurations. Furthermore, black-box approaches cannot pinpoint the parts of
a system that are responsible for performance differences among configurations.
This article proposes ConfigCrusher, a white-box performance analysis that
inspects the implementation of a system to guide the performance analysis,
exploiting several insights of configurable systems in the process.
ConfigCrusher employs a static data-flow analysis to identify how configuration
options may influence control-flow statements and instruments code regions,
corresponding to these statements, to dynamically analyze the influence of
configuration options on the regions' performance. Our evaluation on 10
configurable systems shows the feasibility of our white-box approach to more
efficiently build performance-influence models that are similar to or more
accurate than current state of the art approaches. Overall, we showcase the
benefits of white-box performance analyses and their potential to outperform
black-box approaches and provide additional information for analyzing
configurable systems
Differential Testing for Variational Analyses: Experience from Developing KConfigReader
Differential testing to solve the oracle problem has been applied in many
scenarios where multiple supposedly equivalent implementations exist, such as
multiple implementations of a C compiler. If the multiple systems disagree on
the output for a given test input, we have likely discovered a bug without
every having to specify what the expected output is. Research on variational
analyses (or variability-aware or family-based analyses) can benefit from
similar ideas. The goal of most variational analyses is to perform an analysis,
such as type checking or model checking, over a large number of configurations
much faster than an existing traditional analysis could by analyzing each
configuration separately. Variational analyses are very suitable for
differential testing, since the existence nonvariational analysis can provide
the oracle for test cases that would otherwise be tedious or difficult to
write. In this experience paper, I report how differential testing has helped
in developing KConfigReader, a tool for translating the Linux kernel's kconfig
model into a propositional formula. Differential testing allows us to quickly
build a large test base and incorporate external tests that avoided many
regressions during development and made KConfigReader likely the most precise
kconfig extraction tool available
Analytical Cost Metrics : Days of Future Past
As we move towards the exascale era, the new architectures must be capable of
running the massive computational problems efficiently. Scientists and
researchers are continuously investing in tuning the performance of
extreme-scale computational problems. These problems arise in almost all areas
of computing, ranging from big data analytics, artificial intelligence, search,
machine learning, virtual/augmented reality, computer vision, image/signal
processing to computational science and bioinformatics. With Moore's law
driving the evolution of hardware platforms towards exascale, the dominant
performance metric (time efficiency) has now expanded to also incorporate
power/energy efficiency. Therefore, the major challenge that we face in
computing systems research is: "how to solve massive-scale computational
problems in the most time/power/energy efficient manner?"
The architectures are constantly evolving making the current performance
optimizing strategies less applicable and new strategies to be invented. The
solution is for the new architectures, new programming models, and applications
to go forward together. Doing this is, however, extremely hard. There are too
many design choices in too many dimensions. We propose the following strategy
to solve the problem: (i) Models - Develop accurate analytical models (e.g.
execution time, energy, silicon area) to predict the cost of executing a given
program, and (ii) Complete System Design - Simultaneously optimize all the cost
models for the programs (computational problems) to obtain the most
time/area/power/energy efficient solution. Such an optimization problem evokes
the notion of codesign
Phase distance mapping: a phase-based cache tuning methodology for embedded systems
Networked embedded systems typically leverage a collection of low-power
embedded systems (nodes) to collaboratively execute applications spanning
diverse application domains (e.g., video, image processing, communication,
etc.) with diverse application requirements. The individual networked nodes
must operate under stringent constraints (e.g., energy, memory, etc.) and
should be specialized to meet varying application requirements in order to
adhere to these constraints. Phase-based tuning specializes system tunable
parameters to the varying runtime requirements of different execution phases to
meet optimization goals. Since the design space for tunable systems can be very
large, one of the major challenges in phase-based tuning is determining the
best configuration for each phase without incurring significant tuning overhead
(e.g., energy and/or performance) during design space exploration. In this
paper, we propose phase distance mapping, which directly determines the best
configuration for a phase, thereby eliminating design space exploration. Phase
distance mapping applies the correlation between the characteristics and best
configuration of a known phase to determine the best configuration of a new
phase. Experimental results verify that our phase distance mapping approach,
when applied to cache tuning, determines cache configurations within 1 % of the
optimal configurations on average and yields an energy delay product savings of
27 % on average.Comment: 26 pages, Springer Design Automation for Embedded Systems, Special
Issue on Networked Embedded Systems, 201
Variability Abstractions: Trading Precision for Speed in Family-Based Analyses (Extended Version)
Family-based (lifted) data-flow analysis for Software Product Lines (SPLs) is
capable of analyzing all valid products (variants) without generating any of
them explicitly. It takes as input only the common code base, which encodes all
variants of a SPL, and produces analysis results corresponding to all variants.
However, the computational cost of the lifted analysis still depends inherently
on the number of variants (which is exponential in the number of features, in
the worst case). For a large number of features, the lifted analysis may be too
costly or even infeasible. In this paper, we introduce variability abstractions
defined as Galois connections and use abstract interpretation as a formal
method for the calculational-based derivation of approximate (abstracted)
lifted analyses of SPL programs, which are sound by construction. Moreover,
given an abstraction we define a syntactic transformation that translates any
SPL program into an abstracted version of it, such that the analysis of the
abstracted SPL coincides with the corresponding abstracted analysis of the
original SPL. We implement the transformation in a tool, reconfigurator that
works on Object-Oriented Java program families, and evaluate the practicality
of this approach on three Java SPL benchmarks.Comment: 50 pages, 10 figure
NNVA: Neural Network Assisted Visual Analysis of Yeast Cell Polarization Simulation
Complex computational models are often designed to simulate real-world
physical phenomena in many scientific disciplines. However, these simulation
models tend to be computationally very expensive and involve a large number of
simulation input parameters which need to be analyzed and properly calibrated
before the models can be applied for real scientific studies. We propose a
visual analysis system to facilitate interactive exploratory analysis of
high-dimensional input parameter space for a complex yeast cell polarization
simulation. The proposed system can assist the computational biologists, who
designed the simulation model, to visually calibrate the input parameters by
modifying the parameter values and immediately visualizing the predicted
simulation outcome without having the need to run the original expensive
simulation for every instance. Our proposed visual analysis system is driven by
a trained neural network-based surrogate model as the backend analysis
framework. Surrogate models are widely used in the field of simulation sciences
to efficiently analyze computationally expensive simulation models. In this
work, we demonstrate the advantage of using neural networks as surrogate models
for visual analysis by incorporating some of the recent advances in the field
of uncertainty quantification, interpretability and explainability of neural
network-based models. We utilize the trained network to perform interactive
parameter sensitivity analysis of the original simulation at multiple
levels-of-detail as well as recommend optimal parameter configurations using
the activation maximization framework of neural networks. We also facilitate
detail analysis of the trained network to extract useful insights about the
simulation model, learned by the network, during the training process.Comment: Published at IEEE Transactions on Visualization and Computer Graphic
Avian photoreceptor patterns represent a disordered hyperuniform solution to a multiscale packing problem
Optimal spatial sampling of light rigorously requires that identical
photoreceptors be arranged in perfectly regular arrays in two dimensions.
Examples of such perfect arrays in nature include the compound eyes of insects
and the nearly crystalline photoreceptor patterns of some fish and reptiles.
Birds are highly visual animals with five different cone photoreceptor
subtypes, yet their photoreceptor patterns are not perfectly regular. By
analyzing the chicken cone photoreceptor system consisting of five different
cell types using a variety of sensitive microstructural descriptors, we find
that the disordered photoreceptor patterns are ``hyperuniform'' (exhibiting
vanishing infinite-wavelength density fluctuations), a property that had
heretofore been identified in a unique subset of physical systems, but had
never been observed in any living organism. Remarkably, the photoreceptor
patterns of both the total population and the individual cell types are
simultaneously hyperuniform. We term such patterns ``multi-hyperuniform''
because multiple distinct subsets of the overall point pattern are themselves
hyperuniform. We have devised a unique multiscale cell packing model in two
dimensions that suggests that photoreceptor types interact with both short- and
long-ranged repulsive forces and that the resultant competition between the
types gives rise to the aforementioned singular spatial features characterizing
the system, including multi-hyperuniformity.Comment: 31 pages, 12 figure
Critical Utility Infrastructural Resilience
The paper refers to CRUTIAL, CRitical UTility InfrastructurAL Resilience, a
European project within the research area of Critical Information
Infrastructure Protection, with a specific focus on the infrastructures
operated by power utilities, widely recognized as fundamental to national and
international economy, security and quality of life. Such infrastructures faced
with the recent market deregulations and the multiple interdependencies with
other infrastructures are becoming more and more vulnerable to various threats,
including accidental failures and deliberate sabotage and malicious attacks.
The subject of CRUTIAL research are small scale networked ICT systems used to
control and manage the electric power grid, in which artifacts controlling the
physical process of electricity transportation need to be connected with
corporate and societal applications performing management and maintenance
functionality. The peculiarity of such ICT-supported systems is that they are
related to the power system dynamics and its emergency conditions. Specific
effort need to be devoted by the Electric Power community and by the
Information Technology community to influence the technological progress in
order to allow commercial intelligent electronic devices to be effectively
deployed for the protection of citizens against cyber threats to electric power
management and control systems. A well-founded know-how needs to be built
inside the industrial power sector to allow all the involved stakeholders to
achieve their service objectives without compromising the resilience properties
of the logical and physical assets that support the electric power provision
Sphynx: A Shared Instruction Cache Exporatory Study
The Sphynx project was an exploratory study to discover what might be done to
improve the heavy replication of in- structions in independent instruction
caches for a massively parallel machine where a single program is executing
across all of the cores. While a machine with only many cores (fewer than 50)
might not have any issues replicating the instructions for each core, as we
approach the era where thousands of cores can be placed on one chip, the
overhead of instruction replication may become unacceptably large. We believe
that a large amount of sharing should be possible when the ma- chine is
configured for all of the threads to issue from the same set of instructions.
We propose a technique that allows sharing an instruction cache among a number
of independent processor cores to allow for inter-thread sharing and reuse of
instruction memory. While we do not have test cases to demonstrate the
potential magnitude of performance gains that could be achieved, the potential
for sharing reduces the die area required for instruction storage on chip.Comment: 4 pages, 6 figure
- …