The authors present a real-time programming language, including concurrency, which could be used in the formal development of embedded systems. The semantics of the language is provided in the form of a time interval ...
详细信息
The authors present a real-time programming language, including concurrency, which could be used in the formal development of embedded systems. The semantics of the language is provided in the form of a time interval semantics and also a number of algebraic refinement laws. The laws allow convenient reasoning and transformation of programs. In particular, a compiler for a sequential subset of the language is defined as a set of theorems relating high-level program constructs to a low-level machine specified as an interpreter in the high-level language. In addition, a prototype compiler may be produced very directly from Ihe lheorems in Ihe form of a logic program.
This paper describes an extension to the existing BSP Time Warp (Bulk Synchronous Parallel Time Warp) dynamic load-balancing algorithm to allow the management of interruption from external workload. Experiments carrie...
详细信息
This paper describes an extension to the existing BSP Time Warp (Bulk Synchronous Parallel Time Warp) dynamic load-balancing algorithm to allow the management of interruption from external workload. Experiments carried out on a manufacturing simulation model using different partition strategies with and without interruption from external workload show that significant performance improvement can be achieved with external workload management.
We present an experimental framework for mapping declarative programs, written in a language known as Ruby, into various combinations of hardware and software. Strategies for parametrised partitioning into hardware an...
详细信息
ISBN:
(纸本)9780818663154
We present an experimental framework for mapping declarative programs, written in a language known as Ruby, into various combinations of hardware and software. Strategies for parametrised partitioning into hardware and software can be captured concisely in this framework, and their validity can be checked wing algebraic reasoning. The method has been used to guide the development of prototype compilers capable of producing, from a Ruby expression, a variety of implementations involving field programmable gate arrays (FPGAs) and microprocessors. The viability of this approach is illustrated using a number of examples for two reconfigurable systems, one containing an array of Algotronix devices and a PC host, and the other containing a transputer and a Xilinx device.< >
Presents a method for parametrised partitioning of multidimensional programs for acceleration using a hardware coprocessor. The method involves a divide-and-conquer structure, with the "divide" and "mer...
详细信息
Presents a method for parametrised partitioning of multidimensional programs for acceleration using a hardware coprocessor. The method involves a divide-and-conquer structure, with the "divide" and "merge" phases carried out by a general-purpose processor, while the "conquer" phase is handled by application-specific hardware. The partitioning strategy has been captured in a simple functional language, and we have automated the production of partitioned programs in this language. Our approach has been tested on an FPGA-based system using a number of computer vision algorithms, including the Canny edge detector, and the performance is compared against executing the programs on the PC host.< >
A new codesign compiler called Dash (Design Automation for Software and Hardware) provides a co-synthesis and co-simulation environment for mixed FPGA/processor architectures. It compiles a C-like description to a sol...
详细信息
A new codesign compiler called Dash (Design Automation for Software and Hardware) provides a co-synthesis and co-simulation environment for mixed FPGA/processor architectures. It compiles a C-like description to a solution containing both processors and custom hardware, and allows the descriptions of FPGA-based processors to be heavily parametrised. The user may add instructions to the processors, and the Dash software architecture allows the user to add facilities for targeting these extra instructions to the compiler. This system is being used to design a number of case studies, and a single-chip codesign of an Internet video game is used to illustrate the design flow.
The performance of a parallel simulation system depends very much on partitioning simulation workload evenly among the set of processors in the computing environment to ensure load-balance between processors. Most par...
详细信息
The performance of a parallel simulation system depends very much on partitioning simulation workload evenly among the set of processors in the computing environment to ensure load-balance between processors. Most parallel simulation systems employ user-defined static partitioning. However static partitioning requires in-depth domain knowledge of the specific simulation model in the study. It is not effective if the workload of a simulation model could not be quantified accurately or changes over time during a simulation run. Dynamic load-balancing allows the simulation system to automatically balance the workload of different simulation models without user's input. In this paper the use of dynamic load-balancing in the context of the BSP Time Warp optimistic protocol is examined. Based on the BSP cost model, a dynamic load-balancing algorithm for the BSP Time Warp protocol is developed. Using different simulation models, the paper shows that to achieve consistent performance, the dynamic load-balancing algorithm for BSP Time Warp needs to consider both computation and communication workload, as well as lookaheads between processors.
Source code querying tools allow programmers to explore relations between different parts of the code base. This paper describes such a tool, named CodeQuest. It combines two previous proposals, namely the use of logi...
详细信息
In this paper, an improved method based on Nelder and Mead's simplex method (1965) is described for unconstrained function minimization. The information of the function values evaluated in the previous steps is co...
详细信息
In this paper, an improved method based on Nelder and Mead's simplex method (1965) is described for unconstrained function minimization. The information of the function values evaluated in the previous steps is combined into the direction determination of the succeeding simplex. In this way, the new method reflects a more reasonable descendant search nature of the simplex method. The performance of this improved method over the traditional approach is compared based on the standard subroutine fmins of the MATLAB.
This paper describes a design framework for developing application-specific serial array circuits. Starting from a description of the state-transition logic or a fully-parallel architecture, correctness-preserving tra...
详细信息
This paper describes a design framework for developing application-specific serial array circuits. Starting from a description of the state-transition logic or a fully-parallel architecture, correctness-preserving transformations are employed to derive a wide range of implementations with different space-time trade-offs. The approach has been used in synthesising designs based on field-programmable gate arrays, and is illustrated by the development of a number of circuits including sorters and convolvers.< >
Timed CSP is a well-known process algebra, built as an extension to Hoare's original CSP, designed to handle concurrency combined with timing considerations. It achieves this over a continuous time domain (the non...
Timed CSP is a well-known process algebra, built as an extension to Hoare's original CSP, designed to handle concurrency combined with timing considerations. It achieves this over a continuous time domain (the non-negative real numbers), which has the drawback of precluding standard model-checking approaches, as the state-space of any process is naturally a priori (uncountably) infinite. This paper shows how to circumvent this problem by translating and reinterpreting timed CSP processes within a new model of standard CSP. In this discrete model, which draws on previous work by A.W. Roscoe (1997) and A. Mukkaram (1993), timing of events is provided by the consistent and regular communication of a special tock event, analogous to the 'tick' of a clock. The various parallel components of a process are therefore required to synchronise on tock, ensuring a uniform rate of passage of time. General results yielding tight bounds on the loss of information inherent to the translation are given.
暂无评论