130,499 research outputs found

    Protocol-based verification of message-passing parallel programs

    Get PDF
    © 2015 ACM.We present ParTypes, a type-based methodology for the verification of Message Passing Interface (MPI) programs written in the C programming language. The aim is to statically verify programs against protocol specifications, enforcing properties such as fidelity and absence of deadlocks. We develop a protocol language based on a dependent type system for message-passing parallel programs, which includes various communication operators, such as point-to-point messages, broadcast, reduce, array scatter and gather. For the verification of a program against a given protocol, the protocol is first translated into a representation read by VCC, a software verifier for C. We successfully verified several MPI programs in a running time that is independent of the number of processes or other input parameters. This contrasts with alternative techniques, notably model checking and runtime verification, that suffer from the state-explosion problem or that otherwise depend on parameters to the program itself. We experimentally evaluated our approach against state-of-the-art tools for MPI to conclude that our approach offers a scalable solution

    Optimizing construction of scheduled data flow graph for on-line testability

    Get PDF
    The objective of this work is to develop a new methodology for behavioural synthesis using a flow of synthesis, better suited to the scheduling of independent calculations and non-concurrent online testing. The traditional behavioural synthesis process can be defined as the compilation of an algorithmic specification into an architecture composed of a data path and a controller. This stream of synthesis generally involves scheduling, resource allocation, generation of the data path and controller synthesis. Experiments showed that optimization started at the high level synthesis improves the performance of the result, yet the current tools do not offer synthesis optimizations that from the RTL level. This justifies the development of an optimization methodology which takes effect from the behavioural specification and accompanying the synthesis process in its various stages. In this paper we propose the use of algebraic properties (commutativity, associativity and distributivity) to transform readable mathematical formulas of algorithmic specifications into mathematical formulas evaluated efficiently. This will effectively reduce the execution time of scheduling calculations and increase the possibilities of testability

    Програмні методи оцінки роботи, якості та функціональності обладнання каркасних компоновок

    Get PDF
    The problems associated with using of software-hardware provision of mechanisms with parallel structure in computeraided simulation are considered. A comprehensive methodology for assessing and comparing new configurations mechanism parallel structure machine-tool equipment created. This methodology can be used for reconfiguration calculation in order to direct selection of technical features at the early stages of design. A new complex assessment approach to evaluate performance, quality and functionality of the equipment frame configurations is shown. Mathematical and software methods of kinematics problems solution and drives control; elastic (rigidness) state evaluation are presented. The model and hierarchical multimodal application is developed for any new parallel structure mechanism machine-tool configurations, with simultaneous parameter estimation and dynamic rigidness response simulation is presented by line of computer programs “Tools Glide”, “Tools Response”, “Tools App ”. These programs allow analyzing of any designed layout properties and making choice of structural components, blocks and links during design process. The kinematic and kinetostatic analysis methods assessing performance, quality and functionality options and calculated data can be obtained by the line of “Tools” software products. Test calculations and test processing using different scenarios shows compliance to expected results, constructional algorithm of equation system, synthesis easiness for equations with different types of connections that gives possibility of successful use of these software products in automated modelling sys tems and CAM systems. This software tested as external post-processor on drilling - milling machine-tool prototypes with mechanism of parallel structure in the mechanical laboratory.Створено методику оцінки і порівняння якості нових компоновок верстатного обладнання з механізмами паралельної структури без детального конструкторського опису із врахуванням їх реконфігурації для спрямованого відбору очікуваних технічних характеристик на ранніх стадіях проектування. Розроблено модель та багатомодульну ієрархічну програму для створення програм керування нових компоновок верстатів з механізмами паралельної структури з одночасною оцінкою параметрів жорсткості і динамічного відгуку ланок при виконанні технологічних переходів обробки складнопрофільних поверхонь. Розглянуті питання, пов’язані з програмно-апаратним забезпеченням механізмів паралельної структури в системах автоматизованого моделювання. Розроблено прог раму для розрахунку зворотної задачі кінематики для механізмів паралельної структури, яка в свою чергу може використовуватися як пост-процесор для визначення працездатності будь-якої нової компоновки верстатів. Наведено варіанти методів аналізу кінематики і розрахунку даних, отриманих в системах комп’ютерної математики на прикладі лінійки програм розроблених на кафедрі транспортних систем і технічного сервісу Херсонського національного технічного університету «Tools Glide», «Tools Response», «Tools App». Також перевірена робота цих програм як зовнішнього пост-процесору на дослідних зразках свердлильно-фрезерних верстатів з механізмами паралельної структури, що використовуються в механічній лабораторії кафедри транспортних систем і технічного сервісу Херсонського національного технічного університету

    STRICT: a language and tool set for the design of very large scale integrated circuits

    Get PDF
    PhD ThesisAn essential requirement for the design of large VLSI circuits is a design methodology which would allow the designer to overcome the complexity and correctness issues associated with the building of such circuits. We propose that many of the problems of the design of large circuits can be solved by using a formal design notation based upon the functional programming paradigm, that embodies design concepts that have been used extensively as the framework for software construction. The design notation should permit parallel, sequential, and recursive decompositions of a design into smaller components, and it should allow large circuits to be constructed from simpler circuits that can be embedded in a design in a modular fashion. Consistency checking should be provided as early as possible in a design. Such a methodology would structure the design of a circuit in much the same way that procedures, classes, and control structures may be used to structure large software systems. However, such a design notation must be supported by tools which automatically check the consistency of the design, if the methodology is to be practical. In principle, the methodology should impose constraints upon circuit design to reduce errors and provide' correctness by construction' . It should be possible to generate efficient and correct circuits, by providing a route to a large variety of design tools commonly found in design systems: simulators, automatic placement and routing tools, module generators, schematic capture tools, and formal verification and synthesis tools

    Semantic-numerical approach to the automatic parallel fragment models synthesis for computer systems with distributed memory

    Get PDF
    The new semantic - numerical approach of the traditional С, С++ – programs separation инто Fragments Set (fragmentation) and possibility of automatic synthesis of fragmental models оф time parameterized (timing) parallel processes is suggeste

    A Reverse Engineering Methodology for Extracting Parallelism From Design Abstractions.

    Get PDF
    Migration of code from sequential environments to the parallel processing environments is often done in an ad hoc manner. The purpose of this research is to develop a reverse engineering methodology to facilitate systematic migration of code from sequential to the parallel processing environments. The research results include the development of a three-phase methodology and the design and development of a reverse engineering toolkit (abbreviated as RETK) which serves to establish a working model for the methodology. The methodology consists of three phases: Analysis, Synthesis, and Transformation. The Analysis phase uses concepts from reverse engineering research to recover the sequential design description from programs using a new design recovery technique. The Synthesis phase is comprised of processes that compute the data and control dependences by using the design abstractions produced by the Analysis phase to construct the program dependence graph. The Transformation phase consists of processes that require knowledge-based analysis of the program and dependence information produced by the Analysis and Synthesis phases, respectively. Design recommendations for parallel environments are the key output of the Transformation phase. The main components of RETK are an Information Extractor, a Dependence Analyzer, and a Design Assistant that implement the processes of the Analysis, Synthesis, and Transformation phases, respectively. The object-oriented design and implementation of the Information Extractor and Dependence Analyzer are described. The design and implementation of the Design Assistant using C Language Interface Production System (CLIPS) are described. In addition, experimental results of applying the methodology to test programs by RETK are presented. The results include analysis of a Numerical Aerodynamic Simulation (NAS) benchmark program. By uniquely combining research in reverse engineering, dependence analysis, and knowledge-based analysis, the methodology provides a systematic approach for code migration. The benefits of using the methodology are increased comprehensibility and improved efficiency in migrating sequential systems to parallel environments
    corecore