Dynamic programming Languages, such as Java, JavaScr ipt, PHP, Perl, Python, Ruby, etc., are dominating languages for programming the web. HW/SW co-designed virtual machine can significantly accelerate their execution...
详细信息
ISBN:
(纸本)9781450320856
Dynamic programming Languages, such as Java, JavaScr ipt, PHP, Perl, Python, Ruby, etc., are dominating languages for programming the web. HW/SW co-designed virtual machine can significantly accelerate their executions by transparently leveraging internal HW features via an internal compiler. We also argue for a common API to interface dynamic languages with the HW/SW co-designed virtual machine, so that a single internal compiler can accelerate all major dynamic languages.
Traditional alias analysis is expensive and ineffective for dynamic optimizations. In practice, dynamic optimization systems perform memory optimizations speculatively, and rely on hardware, such as alias registers, t...
详细信息
ISBN:
(纸本)9780769549248;9781467348195
Traditional alias analysis is expensive and ineffective for dynamic optimizations. In practice, dynamic optimization systems perform memory optimizations speculatively, and rely on hardware, such as alias registers, to detect memory aliases at runtime. Existing hardware alias detection schemes either cannot scale up to a large number of alias registers or may introduce false positives. Order-based alias detection overcomes the limitations. However, it brings considerable challenges as how software can efficiently manage the alias register queue and impose restrictions on optimizations. In this paper, we present SMARQ, a Software-Managed Alias Register Queue, which manages the alias register queue efficiently and supports more aggressive speculative optimizations. We conducted experiments with a dynamic optimization system on a VLIW processor that has 64 alias registers. The experiments on a suite of SPECFP2000 benchmarks show that SMARQ improves the overall performance by 39% as compared to the case without hardware alias detection. By scaling up to a large number (from 16 to 64) of alias registers, SMARQ improves performance by 10%. Compared to a technique with false positives (similar to Itanium), SMARQ improves performance by 13%. To reduce the chance of alias register overflow, the novel alias register allocation algorithm in SMARQ reduces the alias register working set by 74% as compared to a straightforward alias register allocation based on program order.
This paper describes, in general terms, distributed database and its relationship to systems Application Architecture (SAA). It shows the importance to effective distribution of IBM's Structured Query Language (SQ...
This paper describes, in general terms, distributed database and its relationship to systems Application Architecture (SAA). It shows the importance to effective distribution of IBM's Structured Query Language (SQL), the database element of the systems Application Architecture Common programming Interface (SAA CPI). The paper defines five levels of distribution, showing how each fits real-world application requirements. Finally, it outlines the magnitude of the task.
With single thread performance starting to plateau, HW architects have turned to chip level multiprocessing (CMP) to increase processing power. All major microprocessor companies are aggressively shipping multi-core p...
详细信息
ISBN:
(纸本)1595936025
With single thread performance starting to plateau, HW architects have turned to chip level multiprocessing (CMP) to increase processing power. All major microprocessor companies are aggressively shipping multi-core products in the mainstream computing market. Moore's law will largely be used to increase HW thread-level parallelism through higher core counts in a CMP environment. CMPs bring new challenges into the design of the software system stack. In this tutorial, we talk about the shift to multi-core processors and the programming implications. In particular, we focus on transactional programming. Transactions have emerged as a promising alternative to lock-based synchronization that eliminates many of the problems associated with lock-based synchronization. We discuss the design of both hardware and software transactional memory and quantify the tradeoffs between the different design points. We show how to extend the Java and C languages with transactional constructs, and how to integrate transactions with compiler optimizations and the language runtime (e.g., memory manager and garbage collection).
An application generator is a generalized application development tool with which professional programmers develop applications using a fourth-generation language. This paper describes the requirements that led to the...
An application generator is a generalized application development tool with which professional programmers develop applications using a fourth-generation language. This paper describes the requirements that led to the Cross System Product application generator, and how the product progressed from a single-environment product to the current multienvironment product. Also described are how the Cross System Product fits within systems Application Architecture and how that may affect the future of the Cross System Product.
Character loss in a conceptual computer at its input terminals is analyzed. This is first done within the classical framework in which a system must be designed to allow no loss whatsoever. The problem is then treated...
详细信息
Character loss in a conceptual computer at its input terminals is analyzed. This is first done within the classical framework in which a system must be designed to allow no loss whatsoever. The problem is then treated where a system can allow some degree of loss. To this end, a generalized mathematical model for character schemes is constructed. It is then shown that, in this framework, character arrivals can be approximated by a Poisson source, allowing the problem to be reformulated as a question in queuing theory. As such, one can solve the problem as a limiting case of a problem which has already been solved. Finally, the resulting formulas for loss are approximated by formulas which can easily be applied. Certain conclusions may readily be drawn. One is that a vastly enlarged system may be designed if one allows some trivial amount of loss. Another is that various schemes for avoiding loss, which have been used in industry, have often been unnecessary.
Translating time expression into absolute time points or durations is a challenge for natural languages processing such as text mining and text understanding in general. We present a constraint logic language CLP(Time...
详细信息
Ever since the industrial revolution in the eighteenth century, the proportion of the population engaged in argriculture has been steadily falling while the number of industrial workers has increased; that is, until t...
Ever since the industrial revolution in the eighteenth century, the proportion of the population engaged in argriculture has been steadily falling while the number of industrial workers has increased; that is, until the mid 1960s. In 1966, employment in UK manufacturing peaked at 8.6 million and since then about two million have left the industrial sector. At one time in 1981, the engineering industry was losing 1,000 jobs a day.
A mathematical model which utilizes queuing theory is devised for estimating the storage requirements of a message switching computer. Since the storage needed for a message is proportional to the message length, the ...
详细信息
A mathematical model which utilizes queuing theory is devised for estimating the storage requirements of a message switching computer. Since the storage needed for a message is proportional to the message length, the familiar derivation of a queue distribution in terms of the number of messages is not applicable. Instead the composite queue, resulting from a number of sending lines, is developed in terms of fixed size units. This is normally distributed with mean and variance given as functions of the load factors of the sending lines. Occurrences of machine failures due to insufficient storage capacity are then shown, on certain assumptions, to be exponentially distributed. The method involves bold simplifications at a number of points with resulting errors which are moderate and in the direction of safety. The application to concrete problems is illustrated.
The term "Computer Aided Manufacturing" (CAM) congers up different ideas in the minds of different people, depending upon their particular area of expertise, and the size and type of the company they are ass...
详细信息
暂无评论