736 research outputs found

    A Two-Level Dynamic Chrono-Scheduling Algorithm

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Get PDF
    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 ωr\omega_r^\lor semantics of CHR. We show that it can be derived form the SWI Prolog CHR trace

    R friendly multi-threading in C++

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore