7 research outputs found

    Optimizing indirect branch prediction accuracy in virtual machine interpreters

    Get PDF
    Interpreters designed for efficiency execute a huge number of indirect branches and can spend more than half of the execution time in indirect branch mispredictions. Branch target buffers are the best widely available form of indirect branch prediction; however, their prediction accuracy for existing interpreters is only 2%–50%. In this paper we investigate two methods for improving the prediction accuracy of BTBs for interpreters: replicating virtual machine (VM) instructions and combining sequences of VM instructions into superinstructions. We investigate static (interpreter buildtime) and dynamic (interpreter run-time) variants of these techniques and compare them and several combinations of these techniques. These techniques can eliminate nearly all of the dispatch branch mispredictions, and have other benefits, resulting in speedups by a factor of up to 3.17 over efficient threaded-code interpreters, and speedups by a factor of up to 1.3 over techniques relying on superinstructions alone

    Neural Methods for Resolving Hard-to-Predict Branches

    Get PDF
    This work presents a new category of branch predictors designed to be addendums to existing state of the art prediction mechanisms. We call these neural network inspired predictors Shallow Online Neural (SON) Predictors as they utilize easily quantizable shallow networks and exhibit online training as opposed to other related works. This predictor is apt as both a branch prediction scheme and as a TAGE confidence predictor.M.S

    BRAT: Branch Prediction Via Adaptive Training

    Get PDF
    In this thesis, BRAT is researched as a new hardware structure for cost-efficient branch prediction. Relying on the fundamentals of machine learning, BRAT computes a branch decision through a multi-layer neural network. To demonstrate the merits of BRAT, it is used to predict branches in a typical pipeline and evaluate its accuracy. By utilizing a hidden layer and activation functions, BRAT is able to introduce non-linearity and enable more accurate prediction of branch outcomes because this structure exposes relationships that may not be easily captured by a perceptron based approach or other popular methods. The memory utilized by BRAT scales linearly with the number of inputs in the decision process. At most memory footprints, BRAT is competitive with state-of-the-art branch predictors of equivalent memory budgets. Additionally, as the memory footprint is increased, it is shown how BRAT scales and how larger predictors in the future may perform.M.S

    Program Transformations for Light-Weight CPU Accounting and Control in the Java Virtual Machine - A Systematic Review

    Get PDF
    This article constitutes a thorough presentation of an original scheme for portable CPU accounting and control in Java, which is based on program transformation techniques at the bytecode level and can be used with every standard Java Virtual Machine. In our approach applications, middleware, and even the standard Java runtime libraries (i.e., the Java Development Kit) are modified in a fully portable way, in order to expose details regarding the execution of threads. These transformations however incur a certain overhead at runtime. Further contributions of this article are the systematic review of the origin of such overheads and the description of a new static path prediction scheme targeted at reducing them

    Deferred Data-Flow Analysis : Algorithms, Proofs and Applications

    Get PDF
    Loss of precision due to the conservative nature of compile-time dataflow analysis is a general problem and impacts a wide variety of optimizations. We propose a limited form of runtime dataflow analysis, called deferred dataflow analysis (DDFA), which attempts to sharpen dataflow results by using control-flow information that is available at runtime. The overheads of runtime analysis are minimized by performing the bulk of the analysis at compile-time and deferring only a summarized version of the dataflow problem to runtime. Caching and reusing of dataflow results reduces these overheads further. DDFA is an interprocedural framework and can handle arbitrary control structures including multi-way forks, recursion, separately compiled functions and higher-order functions. It is primarily targeted towards optimization of heavy-weight operations such as communication calls, where one can expect significant benefits from sharper dataflow analysis. We outline how DDFA can be used to optimize different kinds of heavy-weight operations such as bulk-prefetching on distributed systems and dynamic linking in mobile programs. We prove that DDFA is safe and that it yields better dataflow information than strictly compile-time dataflow analysis. (Also cross-referenced as UMIACS-TR-98-46

    Improving Semi-static Branch Prediction by Code Replication

    No full text
    Speculative execution on superscalar processors demands substantially better branch prediction than what has been previously available. In this paper we present code replication techniques that improve the accurracy of semi-static branch prediction to a level comparable to dynamic branch prediction schemes. Our technique uses profiling to collect information about the correlation between different branches and about the correlation between the subsequent outcomes of a single branch. Using this information and code replication the outcome of branches is represented in the program state. Our experiments have shown that the misprediction rate can almost be halved while the code size is increased by one third. 1 Introduction Branch prediction forecasts the direction a conditional branch will take. It reduces the branch penalty in a processor and is a basis for the application of compiler optimization techniques. In this paper we are mainly interested in the latter use, since we will appl..

    Mining a Small Medical Data Set by Integrating the Decision Tree and t-test

    Get PDF
    [[abstract]]Although several researchers have used statistical methods to prove that aspiration followed by the injection of 95% ethanol left in situ (retention) is an effective treatment for ovarian endometriomas, very few discuss the different conditions that could generate different recovery rates for the patients. Therefore, this study adopts the statistical method and decision tree techniques together to analyze the postoperative status of ovarian endometriosis patients under different conditions. Since our collected data set is small, containing only 212 records, we use all of these data as the training data. Therefore, instead of using a resultant tree to generate rules directly, we use the value of each node as a cut point to generate all possible rules from the tree first. Then, using t-test, we verify the rules to discover some useful description rules after all possible rules from the tree have been generated. Experimental results show that our approach can find some new interesting knowledge about recurrent ovarian endometriomas under different conditions.[[journaltype]]國外[[incitationindex]]EI[[booktype]]紙本[[countrycodes]]FI
    corecore