About: Eager evaluation is a research topic. Over the lifetime, 136 publications have been published within this topic receiving 4688 citations. The topic is also known as: greedy evaluation & strict evaluation.
TL;DR: In this article, the authors define an abstract actor machine and provide a minimal programming language for it, which includes higher level constructs such as delayed and eager evaluation, which can be defined in terms of the primitives.
Abstract: : A foundational model of concurrency is developed in this thesis. It examines issues in the design of parallel systems and show why the actor model is suitable for exploiting large-scale parallelism. Concurrency in actors is constrained only by the availability of hardware resources and by the logical dependence inherent in the computation. Unlike dataflow and functional programming, however, actors are dynamically reconfigurable and can model shared resources with changing local state. Concurrency is spawned in actors using asynchronous message-passing, pipelining, and the dynamic creation of actors. The author defines an abstract actor machine and provide a minimal programming language for it. A more expressive language, which includes higher level constructs such as delayed and eager evaluation, can be defined in terms of the primitives. Examples are given to illustrate the ease with which concurrent data and control structures can be programmed. This thesis deals with some central issues in distributed computing. Specifically, problems of divergence and deadlock are addressed. Additional keywords: Object oriented programming; Semantics.
TL;DR: An approach to a problem that arises in this context: futures which were thought to be relevant when they were created become irrelevant through being ignored in the body of the expression where they were bound is discussed.
Abstract: This paper investigates some problems associated with an argument evaluation order that we call “future” order, which is different from both call-by-name and call-by-value, In call-by-future, each formal parameter of a function is bound to a separate process (called a “future”) dedicated to the evaluation of the corresponding argument. This mechanism allows the fully parallel evaluation of arguments to a function, and has been shown to augment the expressive power of a language.We discuss an approach to a problem that arises in this context: futures which were thought to be relevant when they were created become irrelevant through being ignored in the body of the expression where they were bound. The problem of irrelevant processes also appears in multiprocessing problem-solving systems which start several processors working on the same problem but with different methods, and return with the solution which finishes first. This parallel method strategy has the drawback that the processes which are investigating the losing methods must be identified, stopped, and re-assigned to more useful tasks.
TL;DR: Eager as discussed by the authors is a Programming by Example system for the HyperCard environment that monitors the user's activities and when it detects an iterative pattern, it writes a program to complete the iteration.
Abstract: Eager is a Programming by Example system for the HyperCard environment. It constantly monitors the user's activities, and when it detects an iterative pattern, it writes a program to complete the iteration. Programming by Example systems create generalized programs from examples provided by the user. They are faced with the problem of how to display these abstract procedures. Eager utilizes a new interface technique, called anticipation, to show how it has generalized: when it detects a repetitive activity, it highlights menus and objects on the screen to indicate what it expects the user to do next. As users continue to perform their activity, they will notice that the objects they are about to select have already been highlighted by the system. When it becomes apparent that Eager knows how to perform the task correctly, they can tell Eager to complete the task for them. The use of anticipation allows Eager to interfere minimally with the users' normal activities.
TL;DR: Experimental evidence is presented showing that a significant number of program variables are short-lived in the sense that their live ranges span only a few instructions, and an extension to the existing register allocation mechanism is proposed that does not assign these short- lived variables to locations in the register file.
Abstract: Instruction Level Parallelism (ILP) speedups of an order-of-magnitude or greater may be possible using the techniques described herein. Traditional speculative code execution is the execution of code down one path of a branch (branch prediction) or both paths of a branch (eager execution), before the condition of the branch has been evaluated, thereby executing code ahead of time, and improving performance. A third, optimal, method of speculative execution, Disjoint Eager Execution (DEE), is described herein. A restricted form of DEE, easier to implement than pure DEE, is developed and evaluated. An implementation of both DEE and minimal control dependencies is described. DEE is shown both theoretically and experimentally to yield more parallelism than both branch prediction and eager execution when the same, finite, execution resources are assumed. ILP speedups of factors in the ten's are demonstrated with constrained resources.
TL;DR: A discrete comprehensive learning PSO algorithm, which uses acceptance criterion of simulated annealing algorithm, is proposed for Traveling Salesman Problem (TSP), and has shown that the proposed algorithm is better than or competitive with many other state-of-the-art algorithms.
Abstract: Particle swarm optimization (PSO) algorithm, one of the most popular swarm intelligence algorithms, has been widely studied and applied to a large number of continuous and discrete optimization problems. In this paper, a discrete comprehensive learning PSO algorithm, which uses acceptance criterion of simulated annealing algorithm, is proposed for Traveling Salesman Problem (TSP). A new flight equation, which can learn both from personal best of each particle and features of problem at hand, is designed for TSP problem. Lazy velocity, which is calculated in each dimension only when needed, is proposed to enhance the effectiveness of velocity. Eager evaluation, which evaluates each intermediate solution after velocity component is applied to the solution, is proposed to search the solution space more finely. Aiming to enhance its ability to escape from premature convergence, particle uses Metropolis acceptance criterion to decide whether to accept newly produced solutions. Systematic experiments were carried to show the advantage of the new flight equation, to verify the necessity to use non-greedy acceptance strategy for keeping sufficient diversity, and to compare lazy velocity and eager velocity. The comparison, carried on a wide range of benchmark TSP problems, has shown that the proposed algorithm is better than or competitive with many other state-of-the-art algorithms.