共查询到20条相似文献,搜索用时 31 毫秒
1.
近年来,能效数据库系统成为数据库领域的一个研究议题.CPU动态电压频率调节(DVFS)是一种有效的动态功率节能技术.探寻PostgreSQL数据库在ACPI不同调节器下查询操作的性能、能耗、功率之间潜在联系,发现动态功耗管理与数据库系统的能效关系,通过运行TPC-H测试基准生成的数据库与相应22个查询,总结出调节器对数据库查询处理各种操作的影响.实验结果表明,DVFS可以对DBMS进行动态功耗管理是有效的,查询处理的不同操作具有各自特性,利用这些特性来设计效率更高的调节器是颇有前途的. 相似文献
2.
3.
Implementing temporal integrity constraints using an active DBMS 总被引:2,自引:0,他引:2
The paper proposes a general architecture for implementing temporal integrity constraints by compiling them into a set of active DBMS rules. The modularity of the design allows easy adaptation to different environments. Both differences in the specification languages and in the target rule systems can be easily accommodated. The advantages of this architecture are demonstrated on a particular temporal constraint compiler. This compiler allows automatic translation of integrity constraints formulated in Past Temporal Logic into rules of an active DBMS (in the current version of the compiler two active DBMS are supported: Starburst and INGRES). During the compilation the set of constraints is checked for the safe evaluation property. The result is a set of SQL statements that includes all the necessary rules needed for enforcing the original constraints. The rules are optimized to reduce the space overhead introduced by the integrity checking mechanism. There is no need for an additional runtime constraint monitor. When the rules are activated, all updates to the database that violate any of the constraints are automatically rejected (i.e., the corresponding transaction is aborted). In addition to straightforward implementation, this approach offers a clean separation of application programs and the integrity checking code 相似文献
4.
Minhaj Ahmad Khan 《Computer Languages, Systems and Structures》2010,36(1):2-15
Based on feedback information, a large number of optimizations can be performed by the compiler. This information actually indicates the changing behavior of the applications and can be used to specialize code accordingly.Code specialization is a way to facilitate the compiler to perform optimizations by providing the information regarding variables in the code. It is however difficult to select the variables which maximize the benefit of specialization. Also the overhead of specialization and code size increase are the main issues while specializing code.This paper suggests a novel method for improving the performance using specialization based on feedback information and analysis. The code is iteratively specialized after selecting candidate variables by using a heuristic, followed by generation of optimized templates. These templates require a limited set of instructions to be specialized at runtime and are valid for a large number of values. The overhead of runtime specialization is further minimized through optimal software cache of template clones whose instantiation can be performed at static compile time.The experiments have been performed on Itanium-II(IA-64) and Pentium-IV processors using icc and gcc compilers. A significant improvement in terms of execution speed and reduction of code size has been achieved for SPEC and FFTW benchmarks. 相似文献
5.
This paper describes changes made to the Pascal-P compiler in order to improve the efficiency of its implementation on a single-accumulator one-address computer, the PRIME 300. The aim of the project was to develop a true compiler rather than a threaded code or pure interpretation system. A comparison of timings for these three methods of implementing the Pascal-P compiler is also presented. 相似文献
6.
文章讨论了应用BLP模型公开源码数据库PostgreSQL进行安全增强、实现安全数据库原型系统的原理与技术细节。文中概括介绍了BLP模型原理及PostgreSQL软件结构,详细阐述了原型系统安全标识实现、PostgreSQL系统原有数据字典的改造、DDL和DML语言的改造,并介绍了多级关系的分解与恢复算法。 相似文献
7.
A lightweight database system (LWDB) is ahigh-performance, application-specific DBMS. It differs from ageneral-purpose (heavyweight) DBMS in that it omits oneor more features and specializes the implementation ofits features to maximize performance. Although heavyweight monolithic andextensible DBMSs might be able to emulate LWDB capabilities, they cannotmatch LWDB performance.In this paper, we describe P2, a generator of lightweight DBMSs, andexplain how it was used to reengineer a hand-coded, highly-tuned LWDB usedin a production system compiler (LEAPS). We present results that showP2-generated LWDBs reduced the development time and code size of LEAPS by afactor of three and that the generated LWDBs executed substantially fasterthan versions built by hand or that use an extensible heavyweight DBMS. 相似文献
8.
《IEEE transactions on pattern analysis and machine intelligence》1985,(8):795-810
This paper describes the query optimizer of the Mermaid system which provides a user with a unified view of multiple preexisting databases which may be stored under different DBMS's. The algorithm is designed for databases which may contain replicated or fragmented relations and for users who are primarily making interactive, ad hoc queries. Although the implementation of the algorithm is a front-end system, not an integrated distributed DBMS, it should be applicable to a distributed DBMS also. 相似文献
9.
Arquimedes Canedo Ben A. Abderazek Masahiro Sowa 《Microprocessors and Microsystems》2009,33(2):129-138
Queue processors are a viable alternative for high performance embedded computing and parallel processing. We present the design and implementation of a compiler for a queue-based processor. Instructions of a queue processor implicitly reference their operands making the programs free of false dependencies. Compiling for a queue machine differs from traditional compilation methods for register machines. The queue compiler is responsible for scheduling the program in level-order manner to expose natural parallelism and calculating instructions relative offset values to access their operands. This paper describes the phases and data structures used in the queue compiler to compile C programs into assembly code for the QueueCore, an embedded queue processor. Experimental results demonstrate that our compiler produces good code in terms of parallelism and code size when compared to code produced by a traditional compiler for a RISC processor. 相似文献
10.
Xavier Leroy 《Journal of Automated Reasoning》2009,43(4):363-446
This article describes the development and formal verification (proof of semantic preservation) of a compiler back-end from Cminor (a simple imperative intermediate language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its soundness. Such a verified compiler is useful in the context of formal methods applied to the certification of critical software: the verification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well. 相似文献
11.
12.
数据库管理系统多民族语言支持研究 总被引:1,自引:0,他引:1
目前流行的各种大型数据库系统都缺乏对民族语言如藏、蒙、维文的支持。如何实现民文信息在数据库中存储、查询和检索等处理及支持各种基于民文的数据库应用,是一个重要问题。本文提出了一个数据库管理系统多民族语言支持框架,支持多民族语言、数据库客户端工具和应用编程接口;并在此框架下提出了一种符合ISO/IEC14651语义的藏文排序方法,从而实现了PostgreSQL数据库对藏文信息处理的全面支持。并在Linux平台的PostgreSQL数据库系统上加以实现。 相似文献
13.
Thibault Scott Consel Charles Lawall Julia L. Marlet Renaud Muller Gilles 《Higher-Order and Symbolic Computation》2000,13(3):161-178
Interpretation and run-time compilation techniques are increasingly important because they can support heterogeneous architectures, evolving programming languages, and dynamically-loaded code. Interpretation is simple to implement, but yields poor performance. Run-time compilation yields better performance, but is costly to implement. One way to preserve simplicity but obtain good performance is to apply program specialization to an interpreter in order to generate an efficient implementation of the program automatically. Such specialization can be carried out at both compile time and run time.Recent advances in program-specialization technology have significantly improved the performance of specialized interpreters. This paper presents and assesses experiments applying program specialization to both bytecode and structured-language interpreters. The results show that for some general-purpose bytecode languages, specialization of an interpreter can yield speedups of up to a factor of four, while specializing certain structured-language interpreters can yield performance comparable to that of an implementation in a general-purpose language, compiled using an optimizing compiler. 相似文献
14.
We define a mixed imperative/declarative programming language: declarative contracts are enforced upon imperatively described behaviors. This paper describes the semantics of the language, making use of the notion of Discrete Controller Synthesis (DCS). We target the application domain of adaptive and reconfigurable systems: our language can serve programming closed-loop adaptation controllers, enabling flexible execution of functionalities w.r.t. changing resource and environment conditions. DCS is integrated into a1 programming language compiler, which facilitates its use by users and programmers, performing executable code generation. The tool is concretely built upon the basis of a reactive programming language compiler, where the nodes describe behaviors that can be modeled in terms of transition systems. Our compiler integrates this with a DCS tool, making it a new environment for formal methods. We define the trace semantics of our contracts language, describe its compilation and establish its correctness, and discuss implementation and examples. 相似文献
15.
作为功能最强大、特性最丰富和最复杂的自由软件数据库管理系统,PostgreSQL不仅获得了数据库研究人员的青睐,而且被越来越多地应用到商业中来,显示了非常好的发展前景。本文讨论了PostgreSQL数据库管理系统请求优化模块的实现,着重分析了优化器的核心部分:执行路径的生成与选择。指出了其选择算法存在的缺陷,提出了一个改进的算法。 相似文献
16.
Giovanni Agosta Alessandro Barenghi Alessandro Di Federico Gerardo Pelosi 《Concurrency and Computation》2015,27(14):3633-3660
The modern trend toward heterogeneous many‐core architectures has led to high architectural diversity in both high performance and high‐end embedded systems. To effectively exploit the computational resources of such a wide range of architectures, programming languages and APIs such as OpenCL have become increasingly popular. Although OpenCL provides functional code portability and the ability to fine tune the application to the target hardware, providing performance portability is still an open problem. Thus, many research works have investigated the optimization of specific combinations of application and target platform. In this paper, we aim at leveraging the experience obtained in the implementation of algorithms from the cryptography domain to provide a set of guidelines for modern many‐core heterogeneous architecture performance portability and to establish a base on which domain‐specific languages and compiler transformations could be built in the near future. We study algorithmic choices and the effect of compiler transformations on three representative applications in the chosen domain on a set of seven target platforms. To estimate how well the application fits the architecture, we define a metric of computational intensity both for the architecture and the application implementation. Besides being useful to compare either different implementation or algorithmic choices and their fitness to a specific architecture, it can also be useful to the compiler to guide the code optimization process. Copyright © 2014 John Wiley & Sons, Ltd. 相似文献
17.
This paper describes the implementation of a LIS compiler for GCOS-7. LIS is a high level system implementation language developed at CII-Honeywell Bull during the middle 1970s, and experience with the language and its implementation have largely influenced the design of Ada. The design of the compiler was particularly aimed at efficient code generation. Design decisions concerning the run-time organization in relation to procedure call and separate compilation are discussed. The structure of the compiler is described. The articulation between the different phases of the code generator is emphasized. Experience with the bootstrap is related. 相似文献
18.
This paper describes the design and implementation of an optimizing compiler that automatically generates profile information to assist classic code optimizations. This compiler contains two new components, an execution profiler and a profile-based code optimizer, which are not commonly found in traditional optimizing compilers. The execution profiler inserts probes into the input program, executes the input program for several inputs, accumulates profile information and supplies this information to the optimizer. The profile-based code optimizer uses the profile information to expose new optimization opportunities that are not visible to traditional global optimization methods. Experimental results show that the profile-based code optimizer significantly improves the performance of production C programs that have already been optimized by a high-quality global code optimizer. 相似文献
19.
This paper describes the design and implementation of OPTIMA, a Portable optimizer for the PASCAL-P4 compiler. The PASCAL-P4 compiler generates code, called PCODE, for a hypothetical stack computer. The stack computer is easy to simulate or to emulate on a wide range of computer architectures. However, the code produced for it by PASCAL-P4 is unoptimized and inefficient when emulated on conventional computers. OPTIMA improves the code which is produced by the compiler. It has three levels of optimization: PCODE transformations, TUPLE transformations and Code generation. Programs processed by the optimizer are substantially smaller and faster than before optimization. OPTIMA was implemented for the Weizmann Institute of Science GOLEM-B computer. 相似文献
20.
Optimizing taxonomic semantic web queries using labeling schemes 总被引:1,自引:0,他引:1
V. Christophides G. Karvounarakis D. Plexousakis Michel Scholl Sotirios Tourtounis 《Journal of Web Semantics》2004,1(2):207-228
This paper focuses on the optimization of the navigation through voluminous subsumption hierarchies of topics employed by portal catalogs like Netscape Open Directory (ODP). We advocate for the use of labeling schemes for modeling these hierarchies in order to efficiently answer queries such as subsumption check, descendants, ancestors or nearest common ancestor, which usually require costly transitive closure computations. We first give a qualitative comparison of three main families of schemes, namely bit vector, prefix and interval based schemes. We then show that two labeling schemes are good candidates for an efficient implementation of label querying using standard relational DBMS, namely the Dewey prefix scheme and an interval scheme by Agrawal et al. We compare their storage and query evaluation performance for the 16 ODP hierarchies using the PostgreSQL engine. 相似文献