736 research outputs found
A Two-Level Dynamic Chrono-Scheduling Algorithm
We propose a dynamic instruction scheduler that does
not need any kind of wakeup logic, as all the instructions are
“programmed” on issue stage to be executed in pre-calculated
cycles. The scheduler is composed of two similar levels, each one
composed of simple “stations”, where the timing information is
recorded. The first level is aimed to the group of instructions
whose timing information cannot be calculated at issue (for
example, those instructions whose latency is not predictable).
The second level contains simple “stations” for the instructions
whose execution and write back cycle have been already
calculated. The key idea of this scheduler is to extract and
record all possible information about the future execution of an
instruction during its issue, so as not to look for this information
again and again during wait stages at the reservation stations.
Another additional advantage is that time critical parts can be
identified as instruction timing information is available, so high
speed and frequency logic can be used only in these parts, while
the rest of the scheduler can work at lower frequencies,
therefore consuming much less power. The lack of wakeup and
CAM (Content Addressable Memory) means that power
consumption and latencies would be presumably reduced,
frequency would probably be made higher, while CPI (clock
Cycles Per Instruction) would remain approximately the same.Ministerio de Educación y Ciencia TIN2006-15617- C03-03Junta de Andalucía P06-TIC-0229
libcppa - Designing an Actor Semantic for C++11
Parallel hardware makes concurrency mandatory for efficient program
execution. However, writing concurrent software is both challenging and
error-prone. C++11 provides standard facilities for multiprogramming, such as
atomic operations with acquire/release semantics and RAII mutex locking, but
these primitives remain too low-level. Using them both correctly and
efficiently still requires expert knowledge and hand-crafting. The actor model
replaces implicit communication by sharing with an explicit message passing
mechanism. It applies to concurrency as well as distribution, and a lightweight
actor model implementation that schedules all actors in a properly
pre-dimensioned thread pool can outperform equivalent thread-based
applications. However, the actor model did not enter the domain of native
programming languages yet besides vendor-specific island solutions. With the
open source library libcppa, we want to combine the ability to build reliable
and distributed systems provided by the actor model with the performance and
resource-efficiency of C++11.Comment: 10 page
Chrono-Scheduling; a simplified dynamic scheduling algorithm for timing predictable processors
We propose a simpler and latency-reduced instruction scheduler, called chronoscheduling algorithm, which avoids large and difficult instruction wake-up in order to reduce power consumption and latencies. The key idea of this scheduler is to extract and record all possible information about the future execution of an instruction during its issue, so as not to look for this information again and again during wait stages at the reservation stations. Therefore, an instruction can be issued with the information about at what cycle its operands must be captured and when it must be executed. The first implementation is targeted to processors that have constant latencies like many
embedded microcontrollers, most vector processors without data cache, etc. Its main advantages are: no tags, no renaming, and much simpler waiting stations. When compared with classical dynamic schedulers, chrono-scheduling provides approximately the
same CPI but with simpler overall circuitry and presumably higher clock speed (mainly because of its simplified stations).Ministerio de Ciencia y Educación TIN2006-15617-C03-03Junta de Andalucía P06-TIC-0229
Towards a Generic Trace for Rule Based Constraint Reasoning
CHR is a very versatile programming language that allows programmers to
declaratively specify constraint solvers. An important part of the development
of such solvers is in their testing and debugging phases. Current CHR
implementations support those phases by offering tracing facilities with
limited information. In this report, we propose a new trace for CHR which
contains enough information to analyze any aspects of \CHRv\ execution at some
useful abstract level, common to several implementations. %a large family of
rule based solvers. This approach is based on the idea of generic trace. Such a
trace is formally defined as an extension of the semantics of
CHR. We show that it can be derived form the SWI Prolog CHR trace
R friendly multi-threading in C++
Calling multi-threaded C++ code from R has its perils. Since the R
interpreter is single-threaded, one must not check for user interruptions or
print to the R console from multiple threads. One can, however, synchronize
with R from the main thread. The R package RcppThread (current version 0.5.3)
contains a header only C++ library for thread safe communication with R that
exploits this fact. It includes C++ classes for threads, a thread pool, and
parallel loops that routinely synchronize with R. This article explains the
package's functionality and gives examples of its usage. The synchronization
mechanism may also apply to other threading frameworks. Benchmarks suggest
that, although synchronization causes overhead, the parallel abstractions of
RcppThread are competitive with other popular libraries in typical scenarios
encountered in statistical computing
Petri Networks in the Planning of Discrete Manufacturing Processes
This chapter puts forward characteristics of selected issues of manufacturing processes planning using the Petri networks technique. It includes references to the extensive literature concerning the use of Petri networks in computer aided planning of discrete production processes. Diversity of these problems is high as it refers both to the methods of modeling and simulation of the course of manufacturing processes, the issue of optimizing these processes and production systems, representation of knowledge on production parts of equipment and integration of planning and production activities in general. The work puts forward example use of a temporary, priority Petri network for modeling and optimizing production systems and manufacturing operations as well as an example of fuzzy interference using the Petri network mechanism
Energy use in residential buildings: Impact of building automation control systems on energy performance and flexibility
This work shows the results of a research activity aimed at characterizing the energy habits of Italian residential users. In detail, by the energy simulation of a buildings sample, the opportunity to implement a demand/response program (DR) has been investigated. Italian residential utilities are poorly electrified and flexible loads are low. The presence of an automation system is an essential requirement for participating in a DR program and, in addition, it can allow important reductions in energy consumption. In this work the characteristics of three control systems have been defined,
based on the services incidence on energy consumptions along with a sensitivity analysis on some energy drivers. Using the procedure established by the European Standard EN 15232, the achievable
energy and economic savings have been evaluated. Finally, a financial analysis of the investments has been carried out, considering also the incentives provided by the Italian regulations. The payback
time is generally not very long: depending on the control system features it varies from 7 to 10 years; moreover, the automation system installation within dwellings is a relatively simple activity, which is
characterized by a limited execution times and by an initial expenditure ranging in 1000 € to 4000 €, related to the three sample systems
Locality-aware scientific workflow engine for fast-evolving spatiotemporal sensor data, A
2017 Spring.Includes bibliographical references.Discerning knowledge from voluminous data involves a series of data manipulation steps. Scientists typically compose and execute workflows for these steps using scientific workflow management systems (SWfMSs). SWfMSs have been developed for several research communities including but not limited to bioinformatics, biology, astronomy, computational science, and physics. Parallel execution of workflows has been widely employed in SWfMSs by exploiting the storage and computing resources of grid and cloud services. However, none of these systems have been tailored for the needs of spatiotemporal analytics on real-time sensor data with high arrival rates. This thesis demonstrates the development and evaluation of a target-oriented workflow model that enables a user to specify dependencies among the workflow components, including data availability. The underlying spatiotemporal data dispersion and indexing scheme provides fast data search and retrieval to plan and execute computations comprising the workflow. This work includes a scheduling algorithm that targets minimizing data movement across machines while ensuring fair and efficient resource allocation among multiple users. The study includes empirical evaluations performed on the Google cloud
- …