首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
This paper presents source-level transformations that improve the performance of programs using synchronous and asynchronous message passing primitives, including remote call to an active process (rendezvous). It also discusses the applicability of these transformations to shared memory and distributed environments. The transformations presented reduce the need for context switching, simplify the specific form of communication, and/or reduce the complexity of the given form of communication. One additional transformation actually increases the number of processes as well as the number of context switches to improve program performance. These transformations are shown to be generalizable. Results of hand-applying the transformations to SR programs indicate reductions in execution time exceeding 90% in many cases. The transformations also apply to many commonly occurring synchronization patterns and to other concurrent programming languages such as Ada and Concurrent C. The long term goal of this effort is to include such transformations as an otpimization step, performed automatically by a compiler.This work was supported by NSF under Grant Number CCR88-10617.  相似文献   

2.
Coupled transformations occur in software evolution when multiple artifacts must be modified in such a way that they remain consistent with each other. An important example involves the coupled transformation of a data type, its instances, and the programs that consume or produce it. Previously, we have provided a formal treatment of transformation of the first two: data types and instances. The treatment involved the construction of type-safe, type-changing strategic rewrite systems. In this paper, we extend our treatment to the transformation of corresponding data processing programs.The key insight underlying the extension is that both data migration functions and data processors can be represented type-safely by a generalized abstract data type (GADT). These representations are then subjected to program calculation rules, harnessed in type-safe, type-preserving strategic rewrite systems. For ease of calculation, we use point-free representations and corresponding calculation rules.Thus, coupled transformations are carried out in two steps. First, a type-changing rewrite system is applied to a source type to obtain a target type together with (representations of) migration functions between source and target. Then, a type-preserving rewrite system is applied to the composition of a migration function and a data processor on the source (or target) type to obtain a data processor on the target (or source) type. All rewrites are type-safe.  相似文献   

3.
Parallelization of divide-and-conquer in the Bird-Meertens formalism   总被引:1,自引:0,他引:1  
An SPMD parallel implementation schema for divide-and-conquer specifications is proposed and derived by formal refinement (transformation) of the specification schema. The specification is in the form of a mutually recursive functional definition. In a first phase, a parallel functional program schema is constructed which consists of a communication tree and a functional program that is shared by all nodes of the tree. The fact that this phase proceeds by semantics-preserving transformations in the Bird-Meertens formalism of higher-order functions guarantees the correctness of the resulting functional implementation. A second phase yields an imperative distributed message-passing implementation of this schema. The derivation process is illustrated with an example: a two-dimensional numerical integration algorithm.Parts of this paper were presented at the International Parallel Processing Symposium, Mexico, 1994 [GoL94] and at the World Transputer Congress, Italy, 1994 [Gor94]  相似文献   

4.
The geometric transformation of an image with irregular shapes from a source space to a target space requires a huge number of multiplications and additions for each pixel. Such a through put is impossible to deliver by any processor in real-time. This paper presents a new transformation matrix which can be used toper form real-time 2-D geometric transformations economically. The implementation of the transformation engine that is used to execute the transformation matrix is also presented. Experimental results indicate that real-time geometric transformations based on a 4 × 4 transformation mesh can be achieved with the use of the transformation engine. This real-time transformation function is useful in warping and blending of images, and can be easily extended to perform irregular shape transformations with a large number of control points in the transformation mesh.  相似文献   

5.
6.
In this paper we study the problem of designing and specifying standard program components applicable to a wide variety of tasks; we choose for this study the specific problem domain of data structures for general searching problems. Within this domain Bentley and Saxe [1] have developed transformations for converting solutions of simple searching problems to solutions of more complex problems. We discuss one of those transformations, specify precisely the transformation and its conditions of applicability, and prove its correctness; we accomplish this by casting it in terms of abstract data types–specifically by using the Alphard form mechanism. The costs of the structures derived by this transformation are only slightly greater than the costs of the original structures, and the correctness of the transformation definition together with the correctness of the original structure assure the correctness of the derived structure. The transformation we describe has already been used to develop a number of new algorithms, and it represents a new level of generality in software engineering tools.  相似文献   

7.
《Information Systems》1986,11(1):41-59
Transformations between two groups of relation schemata play important roles in a database environment. These transformations are used for obtaining normal form relation schemata, generating certain view schemata and deciding appropriate internal schemata. They are also related to the data translation between distinct data models and hence between distinct database management systems. Relations belonging to one group of schemata are usually maintained in computer storage, while those belonging to another group of schemata can be virtual. It is always possible to retrieve data from virtual relations as if they are existing relations. However, if one would like to update virtual relations, the transformation between two groups of schemata must be a bijection. This paper presents four basic schema transformations and rules (constraints) which the two groups of relation schemata should obey for each transformation to be a bijection. Two of them are algebraic transformations and two others are functional transformations. On one group of schemata, some additional rules (constraints) may be imposed, against which database updates must be validated. Only the updates which transform one group of relations consistent with respect to the given rules into another group of relations also consistent with respect to them, are allowed. When the subject group of relation schemata is transformed into another group of relation schemata, these rules should also be transformed into those imposed on the latter group of relation schemata. Rule-transforming procedures associated with the four transformations are also discussed in this paper. The subject issue may provide foundations of normal form theory, view support problems, and physical representation of database relations. Also the rule transformation procedures can be applied to query transformation problems. Several extensions of the issue are also presented.  相似文献   

8.
Using formal analysis of parallel and perspective viewing transformation behavior, closed-form form expressions are obtained for immediate evaluation of maximum, minimum, and average scales at a given point in space. While these are constant for parallel transformations, they vary from point to point for perspective transformations. The average scale of a transformation is expressed in ways useful for heuristic computations. The expressions indicate how transformations perform in general without providing guarantees. It is shown that these results apply to the dynamic tessellation of curved surfaces. The maximum scale of a transformation across a bounded region can guarantee that one will meet postviewing approximation thresholds specified in display coordinates, based on derivative bounds precomputed in modeling coordinates  相似文献   

9.
10.
Bidirectional model transformation is a key technology in model-driven engineering (MDE), when two models that can change over time have to be kept constantly consistent with each other. While several model transformation tools include at least a partial support to bidirectionality, it is not clear how these bidirectional capabilities relate to each other and to similar classical problems in computer science, from the view update problem in databases to bidirectional graph transformations. This paper tries to clarify and visualize the space of design choices for bidirectional transformations from an MDE point of view, in the form of a feature model. The selected list of existing approaches are characterized by mapping them to the feature model. Then, the feature model is used to highlight some unexplored research lines in bidirectional transformations.  相似文献   

11.
12.
We give a simple transformation from normal programs with no stratification (local, weak, modular, etc.) into a subclass of the locally stratified programs, called Explicitly Locally Stratified (ELS) programs, for which there are efficient evaluation techniques. One set of predicates are generated for the true tuples and a different set of predicate are generated for the true and undefined tuples. A similar transformation is given that incorporates a magic sets like transformation. Previous approaches to magic sets transformations of unstratified programs either restricted the class of sips used or generated a program that required special treatment of the magic sets predicates. Our transformation does not suffer from these flaws.  相似文献   

13.
Message passing notations (language, package, etc.) typically include some form of asynchronous or synchronous invocation. In a synchronous invocation, the invoker waits for the invocation's servicer to pass back results. Some message passing notations also include early reply or deferred reply (including forwarding), which alters how and when the servicer passes back its results; this additional flexibility is useful in realistic applications. It is well known how to transform a synchronous invocation into only asynchronous invocations. This paper extends such transformations to early reply and forward. This paper also describes the use of these transformations within the implementations of programming notations. Using the transformation simplifies the implementation without significantly affecting run‐time costs. Copyright © 2015 John Wiley & Sons, Ltd.  相似文献   

14.
Global locality optimization is a technique for improving the cache performance of a sequence of loop nests through a combination of loop and data layout transformations. Pure loop transformations are restricted by data dependencies and may not be very successful in optimizing imperfectly nested loops and explicitly parallelized programs. Although pure data transformations are not constrained by data dependencies, the impact of a data transformation on an array might be program-wide; that is, it can affect all the references to that array in all the loop nests. Therefore, in this paper we argue for an integrated approach that employs both loop and data transformations. The method enjoys the advantages of most of the previous techniques for enhancing locality and is efficient. In our approach, the loop nests in a program are processed one by one and the data layout constraints obtained from one nest are propagated for optimizing the remaining loop nests. We show a simple and effective matrix-based framework to implement this process. The search space that we consider for possible loop transformations can be represented by general nonsingular linear transformation matrices and the data layouts that we consider are those that can be expressed using hyperplanes. Experiments with several floating-point programs on an 8-processor SGI Origin 2000 distributed-shared-memory machine demonstrate the efficacy of our approach.  相似文献   

15.
ALCHEMIST is a general purpose transformation generating environment, which supports specification, generation and execution of data transformations. ALCHEMIST allows an abstract specification of the transformation through a window-based interface and supports the generation and compilation of transformation program code from these specifications. Unlike compiler-compilers, ALCHEMIST is intended to automate building transformations between two complex representation formats and is thus especially suitable for constructing transformations between database tools, CASE tools, graphical editors or text formatters. In this paper we describe the design principles and the structure of ALCHEMIST, and demonstrate its use. We also discuss our experiences with several example transformations and present a real-life case study of using ALCHEMIST for interfacing two software development environments.  相似文献   

16.
The method of infinitesimal transformations is applied to weakly non-linear periodic systems described by n first-order coupled differential equations. The transformation groups, which leave the equations invariant, are determined by a perturbation method, Those transformations roduce the systems to non-linear autonomous form. The equivalence of the results of the method, within the first-order approximation, to other averaging and perturbation techniques is illustrated by an example of a second-order system.  相似文献   

17.
在实验测试中,除了获得包含误差的正常数据,实验员常常也可能观察到一些明显错误的点,我们称之为"坏点"。坏点的存在可能会严重影响实验最终结果的可靠性,所以在数据分析前,应该被处理掉。以往的常规坏点处理方法多为肉眼查看,手动排除。这种方法工作量大,并且判断依据不够明确,只靠"感觉",另外,在接收到大量数据的时候,手动法无能为力。本文在使用计算机编程的基础上,应用Hough变换,提出了一种坏点剔除的新方法,可处理符合直线拟合特征的实验数据中的坏点;作为扩展应用,该方法也可以处理以下两种数据:可通过函数变换转化为符合线性分布的数据和Hough变换可处理的服从曲线分布的数据。仿真实验和实际应用表明,本方法具有较好的性能。  相似文献   

18.
We present a new program transformation strategy based on the introduction of lists. This strategy is an extension of the tupling strategy which is based on the introduction of tuples of fixed length. The list introduction strategy overcomes some of the limitations of the tupling strategy and, in particular, it makes it possible to transform general recursive programs into linear recursive ones also in cases when this transformation cannot be performed by the tupling strategy. The linear recursive programs we derive by applying the list introduction strategy have in most cases very good time and space performance because they avoid repeated evaluations of goals and unnecessary constructions of data structures. Received December 2000 / Accepted in revised form January 2002  相似文献   

19.
Miao X  Rao RP 《Neural computation》2007,19(10):2665-2693
A fundamental problem in biological and machine vision is visual invariance: How are objects perceived to be the same despite transformations such as translations, rotations, and scaling? In this letter, we describe a new, unsupervised approach to learning invariances based on Lie group theory. Unlike traditional approaches that sacrifice information about transformations to achieve invariance, the Lie group approach explicitly models the effects of transformations in images. As a result, estimates of transformations are available for other purposes, such as pose estimation and visuomotor control. Previous approaches based on first-order Taylor series expansions of images can be regarded as special cases of the Lie group approach, which utilizes a matrix-exponential-based generative model of images and can handle arbitrarily large transformations. We present an unsupervised expectation-maximization algorithm for learning Lie transformation operators directly from image data containing examples of transformations. Our experimental results show that the Lie operators learned by the algorithm from an artificial data set containing six types of affine transformations closely match the analytically predicted affine operators. We then demonstrate that the algorithm can also recover novel transformation operators from natural image sequences. We conclude by showing that the learned operators can be used to both generate and estimate transformations in images, thereby providing a basis for achieving visual invariance.  相似文献   

20.
Software metrics rarely follow a normal distribution. Therefore, software metrics are usually transformed prior to building a defect prediction model. To the best of our knowledge, the impact that the transformation has on cross-project defect prediction models has not been thoroughly explored. A cross-project model is built from one project and applied on another project. In this study, we investigate if cross-project defect prediction is affected by applying different transformations (i.e., log and rank transformations, as well as the Box-Cox transformation). The Box-Cox transformation subsumes log and other power transformations (e.g., square root), but has not been studied in the defect prediction literature. We propose an approach, namely Multiple Transformations (MT), to utilize multiple transformations for cross-project defect prediction. We further propose an enhanced approach MT+ to use the parameter of the Box-Cox transformation to determine the most appropriate training project for each target project. Our experiments are conducted upon three publicly available data sets (i.e., AEEEM, ReLink, and PROMISE). Comparing to the random forest model built solely using the log transformation, our MT+ approach improves the F-measure by 7, 59 and 43% for the three data sets, respectively. As a summary, our major contributions are three-fold: 1) conduct an empirical study on the impact that data transformation has on cross-project defect prediction models; 2) propose an approach to utilize the various information retained by applying different transformation methods; and 3) propose an unsupervised approach to select the most appropriate training project for each target project.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号