Back to the Future: Economic Self-Organisation and Maximum Entropy Prediction Abstract This paper shows that signal restoration methodology is appropriate for predicting the equilibrium state of certain economic systems. A formal justification for this is provided by proving the existence of finite improvement paths in object allocation problems under weak assumptions on preferences, linking any initial condition to a Nash equilibrium. Because a finite improvement path is made up of a sequence of systematic best-responses, backwards movement from the equilibrium back to the initial condition can be treated like the realisation of a noise process. This underpins the use of signal restoration to predict the equilibrium from the initial condition, and an illustration is provided through an application of Maximum Entropy signal restoration to the Schelling model of segregation. The presence of self-organisation in economic systems is one of the earliest features identified in economic thought. This phenomenon, referred to initially as the "invisible hand" by Adam Smith, then as "spontaneous order" following the work of Hayek (1945) , is now often referred to as "emergence" by the agent-based computational economic literature, for instance in Tesfatsion (2006) . Two common elements in all three of these interpretations are the notion that (a) economic mechanisms are not planned ex ante but appear as the result of interactions between agents, and (b) these mechanisms maintain the organisation of economic activity over time. To some extent, this is analogous to the Schrödinger (1967) definition of living organisms as entities able to maintain or increase their internal order, thus maintaining or reducing their internal entropy.. This paper argues that a consequence of such self-organisation is that under the right conditions, the evolution over time of economic systems should be predictable by signal restoration algorithms.. The intuition for this is simple: signal restoration algorithms are designed to reconstruct signals that have been degraded by noise or by distortion. The standard interpretation of this, in a system where entropy (i.e. disorder) increases with time is that the non-degraded signal existed in the past. However, in a self-organising system, the arrow of time is reversed and the non-degraded signal exists in the future. In practical terms, the paper establishes this result by obtaining a strong formal statement relating to self-organisation in allocation problems, and then illustrates it by using Maximum Entropy (MaxEnt) signal restoration to successfully predict the evolution of a simple self-organising agent-based model. The rest of the paper is structured as follows. The conceptual structure of the argument and the various strands of literature required to obtain it are first detailed in section 2, and section 3 explains how the use of MaxEnt in signal restoration is related to its existing use in economics.. Section 4 then shows the equivalence of allocation problems and congestion games under reasonable assumptions on preferences, opening up the use of signal restoration algorithms due to the presence of systematic improvement paths. This possibility is then illustrated in section 5 by applying. MaxEnt to the Schelling model of segregation. Section 6 discusses the implications of these findings and concludes. The formal justification provided for transposing the signal restoration interpretation of MaxEnt into economics is the structural similarity between object allocation problems, as modeled by the MMKP, and congestion games frameworks. In fact, the only requirement for the optimal MMKP allocation to also be a Nash equilibrium in a corresponding congestion game is concavity in the bundle rankings, allowing the MMKP objective function to become an exact potential for the game.. Assuming this is the case, the system displays the FIP, i.e. from any initial state there exists a finite path to a Nash equilibrium under even the simplest adjustment dynamics. It is the presence of the FIP and the corresponding improvement path that then provides the key motivation for the use of the MaxEnt signal restoration methodology in such a system. Indeed, the sequence of states forming the improvement path can be interpreted in two ways, depending the direction in which it is viewed.. If the improvement path is viewed forward, starting at the initial state and finishing at the equilibrium, the picture one has is of a system that gradually self-organises as agents perform systematic welfare-increasing trades. This corresponds to the self-organisation concept mentioned in introduction and, as illustrated with Figure 2 , this interpretation corresponds to the biological entropy reduction insight of Schrödinger (1967) : the amount of information required to describe the state of the overall system falls over time as it organises itself. If, however, the same improvement path is played backwards, i.e. starting at the equilibrium and traveling back towards the initial condition, then a physical analogy is more appropriate. Agents now appear to be making systematic welfare-decreasing trades, in other words systematic errors. With this reverse view, the initially ordered state gradually decays as noise is introduced. This corresponds to the direct physical interpretation of entropy increases: An initially ordered system, say an ice cube in a glass of water, which gradually decays into a disordered thermal equilibrium. In this case the increasing information entropy measures ignorance as to the amount and type of noise that has been introduced.. The central finding is therefore that if a system possesses the FIP, then predicting its equilibrium distribution from a known initial state is formally equivalent to reconstructing an unobserved clean signal out of an observed noisy one. This is illustrated by the application to the Schelling model, where such an algorithm is shown to be able to predict the emergence and location of segregated neighbourhoods with a good level of accuracy. Not only does this provide a stronger justification for the use of MaxEnt and information-theoretic methods in economics, but it also suggests that signal reconstruction algorithms, designed specifically for the purpose of recovering a degraded signal, could become useful tools in agent-based computational economics. As pointed out by Fagiolo et al (2007) as part of a special issue of Computational Economics the empirical validation in agent-based models is still an open question, and the methodology outlined here might be helpful in that regard.. There are two important considerations going forwards, however. The first is that the use of the FIP as a formal definition of self-organisation is probably too strong. The FIP implies both systematic improvements in transitions and a finite horizon, i.e. the existence of a stable final state. While this helps to underpin the use of MaxEnt, it is easy to imagine richer selforganising systems where neither holds, for example if forward-looking agents accept short run welfare reductions in order to benefit in the longer run or simply if agents occasionally make mistakes. It is therefore interesting to examine the performance of signal reconstruction methods in such weaker environments. A second consideration is that the MaxEnt algorithm is chosen because versions of it have already been used in economics, and because it offers an intuitive illustration of 20 the arrow-of-time interpretation of the mechanism. However, while it seems to perform adequately in the case presented here, it is only one of many available signal reconstruction algorithms, and may not be the most powerful or the most adapted to the specific economic case.

O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On the Convergence of Ritz Pairs and Refined Ritz Vectors for Quadratic Eigenvalue Problems Abstract. For a given subspace, the q-Rayleigh-Ritz method projects the large quadratic eigenvalue problem (QEP) onto it and produces a small sized dense QEP. Similar to the Rayleigh-Ritz method for the linear eigenvalue problem, the q-Rayleigh-Ritz method defines the q-Ritz values and the q-Ritz vectors of the QEP with respect to the projection subspace. We analyze the convergence of the method when the angle between the subspace and the desired eigenvector converges to zero. We prove that there is a q-Ritz value that converges to the desired eigenvalue unconditionally but the q-Ritz vector converges conditionally and may fail to converge. To remedy the drawback of possible non-convergence of the q-Ritz vector, we propose a refined q-Ritz vector that is mathematically different from the q-Ritz vector and is proved to converge unconditionally. We construct examples to illustrate our theory. Consider the numerical solution of the large quadratic eigenvalue problem (QEP) Q(λ)x ≡ (λ 2 M + λD + K)x = 0, (1.1) where λ ∈ C, x ∈ C n \{0}, M , D and K are n × n complex matrices with M = M H > 0, Hermitian positive definite. The scalar λ and the nonzero vector x in (1.1) are called an eigenvalue and a corresponding eigenvector of the quadratic pencil Q(λ) or (M, D, K), respectively. The pair (λ, x) is called an eigenpair of (M, D, K). Since M = M H > 0 in (1.1), Q(λ) has 2n finite eigenvalues. QEP (1.1) arises in a wide variety of scientific and engineering applications [2, 27] . The theoretical framework for general matrix polynomials and in particular for quadratic pencils can be found in books by Lancaster [18] and more recently by Gohberg, Lancaster and Rodman [5] . A good survey of mathematical properties, perturbation analysis, and a variety of numerical algorithms for QEPs can be found in the paper by Tisseur and Meerbergen [27] .. In practice, a small number of eigenvalues that are nearest to a target τ or locate in a prescribed region of the complex plane and the corresponding eigenvectors are often of interest. To this end, we exploit the shift transformation λ τ = λ − τ with det(Q(τ )) = 0 to transform (1.1) to a new QEP of the form. where M τ = M , D τ = 2τ M + D and K τ = τ 2 M + τ D + K is nonsingular. Throughout the paper, we assume that the eigenvalues to be sought are nonzero.. One kind of classical methods for solving QEP (1.1) is to reformulate it as a certain standard (or generalized) eigenvalue problem via a so-called linearization process and then to apply Krylov subspace based methods or Jacobi-Davidson type methods to solve the corresponding linear eigenvalue problem. Most of these methods fall into the category of the Rayleigh-Ritz method that is widely used for the computation of eigenpairs of a linear eigenvalue problem from a given projection subspace. As is well known, under the assumption that the angle between a desired eigenvector and the projection subspace tends to zero, there exists a Ritz value that converges to the desired eigenvalue unconditionally but its corresponding Ritz vector may fail to converge; furthermore, when one is concerned with eigenvectors, one can compute certain refined Ritz vectors whose convergence is guaranteed [10, 12, 13, 15, 16] ; see also [25] .. Over the years, some reliable numerical methods have been proposed that are used to solve large and sparse QEPs directly. Based on the Ritz-Galerkin condition, various methods are designed to construct suitable lower dimensional subspaces. Then, the large QEP is projected onto a given subspace to produce a small sized dense QEP which can be solved by the standard QR or QZ algorithm. They fall into the category of the q-Rayleigh-Ritz method, as will be described in the next paragraph. Methods of this type include the residual iteration method [8, 21, 22] , the Jacobi-Davidson method [23, 24] , Krylov type subspace methods [6, 19] , the nonlinear Arnoldi method [28] , second-order Arnoldi (SOAR) type methods [1, 17, 20, 29] , the iterated shift-and-invert Arnoldi method [30] and the semiorthogonal generalized Arnoldi (SGA) method [7] . Now we describe the q-Rayleigh-Ritz method for the QEP. For a given orthonormal matrix Q ∈ C n×m (m ≤ n), the q-Rayleigh-Ritz method is to find a scalar µ ∈ C and a unit length vectorx ∈ C m satisfying the Ritz-Galerkin condition. which amounts to solving the projected QEP. If (µ,x) with x = 1 is an eigenpair of ( M , D, K), i.e., (µ 2 M +µ D + K)x = 0, then µ and Qx are, respectively, called a q-Ritz value and a corresponding q-Ritz vector of (M, D, K) with respect to span{Q}, and (µ, Qx) is a q-Ritz pair of (M, D, K). Since M is Hermitian positive definite, so is M for any given Q. Therefore, we have 2m finite q-Ritz values.. In this paper we study the convergence of the q-Ritz value and the corresponding q-Ritz vector, and extend some of the results in [15, 16, 25] to the q-RayleighRitz method. Although a number of q-Rayleigh-Ritz procedures with respect to different subspaces have been used, to our best knowledge, there has been no unified convergence result and general theory. As will be seen, carrying out this task is mathematically nontrivial. Similar to the linear eigenvalue problem, it appears that there exists a q-Ritz value that converges to the desired eigenvalue unconditionally but the corresponding q-Ritz vector may fail to converge even if the corresponding projection subspace span{Q} contains a sufficiently accurate approximation to the desired eigenvector. It is thus necessary and significant to replace the q-Ritz vector by a refined q-Ritz vector that has residual minimization and is mathematically different from the q-Ritz vector. We prove that the refined q-Ritz vector converges unconditionally provided that the angles between the desired eigenvector and the subspaces tend to zero. All convergence results are nontrivial generalizations of the known results on the Rayleigh-Ritz method and their refinement for the linear eigenvalue problem in [15, 16, 25] . This paper is organized as follows.. In Section 2, we analyze the convergence for q-Ritz values and q-Ritz vectors and prove that the q-Ritz value is unconditionally convergent but the associated q-Ritz vector may fail to converge. To remedy this drawback, in Section 3, we introduce a refined q-Ritz vector and prove its unconditional convergence. Finally, we conclude the paper in Section 4.. Throughout this paper, the superscripts H and T denote the conjugate transpose and the transpose of a matrix or vector, respectively. I n is the identity matrix of dimension n. We denote by · both Euclidean vector norm and the spectral matrix norm. Theoretically, we have proved that there exists a q-Ritz value of (M, D, K) that unconditionally converges to the desired eigenvalue when the angle between the subspace span{Q} and the desired eigenvector tends to zero. However, the associated q-Ritz vector only converges conditionally. To this end, we have proposed the refined q-Ritz vector that is guaranteed to converge unconditionally. We have presented some examples to demonstrate our theory.. The purpose of this paper is not to present efficient and reliable eigensolvers for QEPs, but rather to establish a general convergence theory of the q-Rayleigh-Ritz method and to show the unconditional convergence of q-Ritz values and refined q-Ritz vectors and the conditional convergence of q-Ritz vectors. Refined q-Ritz vectors may become a very valuable component and make great improvement in flexible eigensolvers for QEPs. Numerical experiments in [17] have shown that one can gain very much by replacing q-Ritz vectors by refined q-Ritz vectors in second-order Arnoldi type methods and their implicitly restarted algorithms.

O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Application of Hardware Architecture of Genetic Algorithm for Optimal Packet Scheduling In Dense Wavelength Division Multiplexing (DWDM) technologies, the optimal packet scheduling is a common encounter issue in multiple channels network. NP-hard problem deals with finding a way to rearrange packets in multiple channels into a finite and rare channel. Genetic algorithm (GA) is one of the most efficient ways to solve this issue. We hope to find a better solution to our task through the GA characteristics of multiprocessor searching and survivor of the fittest. Therefore, a modified and achievable hardware architecture of GA is presented in this paper. This architecture can increase the schedule speed of packet scheduling also can promote the efficiency of DWDM in Optical Communication Networks. Due to increasing demands of network bandwidth in our society today, increase bandwidth becomes the critical key to promote our technologies study, with Dense Wavelength Division Multiplexing (DWDM) being one of the conspicuous technology of focus. Through the application of Erbium Doped Fiber Amplifier (EDFA), we segment the communication waveband into 4, 8, or even greater waveband segments for communication processing. Applying this technology can increase the bandwidth and the network transmission speed [1] [2] . However, it derives other issues such as channel adjustment and packet scheduling. We hope to arrange packets in the shortest time and use the least amount of wavelength, to accurately and completely achieve packets transmission and receiving. NP-hard issue refers to the difficult process of finding the optimal packet scheduling in a limited timeframe. In recently years, GA has become an important way to solve this problem. It is concluded that crossover and mutation of chromosome and fitness function calculation can converge faster and therefore allow an efficient way to find the approach optimal solution [3] .. In this paper, besides using the Matlab simulation software to prove the practicable and superiority of GA, we also presented achievable hardware architecture in DWDM of optimal packet scheduling [4] - [7] . This paper is organized as follows: Section II introduces the ways in which GA solves the optimal packet scheduling and presents the simulation results. Section III describes a hardware architecture designated to GA. Section IV contains our conclusion. Aiming at the meditation of using GA for proceeding packet scheduling, this paper not only verify its excellence by means of software simulation, but also in the architectural design of the hardware. We can use this architecture to solve the packet scheduling issue and to promote the system function and transmission efficiency in the future.

O O O O O B I O O B I O B I I I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O


Characterization of several kinds of quantum analogues of relative entropy Quantum relative entropy D(ρ | σ) def = Tr ρ (log ρ − log σ)plays an important role in quantum information and related fields. However, there are many quantum analogues of relative entropy. In this paper, we characterize these analogues from information geometrical viewpoint. We also consider the naturalness of quantum relative entropy among these analogues.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Memory modeling for system synthesis We present our methodology for developing models of on-chip SRAM memory organizations. The models were created to enable the quick evaluation of energy, area, and performance of different memory configurations considered during synthesis. The models are defined in terms of parameters, such as size and mode of operation, which are known at synthesis time. Our methodology does not require knowledge of the underlying memory circuitry and provides models with average percentage errors within 8%. We found that only 10 different memories from a large span of possible memory sizes are needed to obtain reasonably accurate models, with average errors within 15%. We further use these models to evaluate different low power memory organizations and have seen energy reductions of up to 88%. In this paper we present our modeling methodology, discuss the important aspects in developing the models, and show results of using the models in evaluating low power memory organizations.Power consumption of digital systems has become a critical design parameter. Extending battery life in portable applications and reducing cooling requirements in higher transistor density applications make power reduction a crucial consideration during digital system design.An important class of digital systems include applications, such as video image processing and speech recognition, which are extremely memory-intensive. In such systems, a significant amount of power is consumed during memory accesses. Thus, utilizing low-power memory organizations can greatly reduce the overall power consumption of the system. This work targets on-chip memories created by memory module generators in which there are many possible memory organizations in terms of size, architecture, technology, etc. To utilize low power memory configurations during synthesis, we need models to quickly evaluate memory energy, area, and performance. These models need to be in terms of parameters, such as size, organization, and mode of operation, which are known during synthesis time as opposed to lower level parameters such as extracted capacitance and resistance values.In the past few years, various different memory models have been presented. Itoh [6] Our models were developed to predict energy, delay, and area across the different possible sizes and organizations produced by memory module generators and for different modes of memory operations. Our modeling uses a simulation-based approach which enables the development of black box models. Unlike analytical models, simulationbased approaches do not require detailed knowledge of the underlying circuits, just basic input/output timing information which can be provided by the memory generator. The models are in terms of high-level parameters and can be easily used during synthesis. Our approach is similar to [9] but is generalized enough to handle more complex memory organizations and more modes of memory operation with higher accuracy.The focus of this paper is not just on our modeling methodology, but on defining the parameters and simulations necessary in building accurate models quickly and easily and showing how a synthesis tool can take advantage of these models in creating low power memory configurations.Our experimental methodology is as follows. First, memories are generated using Cascade's Epoch memory module generator [4] . Next, test vectors are automatically generated and SPICE files are modified to prepare them for simulations. Then, Avant!'s Star-Sim, fast circuit simulator, is used to simulate for energy and delay [15] . From the simulation data, models of memory energy, delay, and area are developed using linear regression with the S-Plus statistical package [14] . Finally, the models are validated to ensure they are statistically sound.Cascade's basic asynchronous SRAMs with chip and output enables were used. To generate a memory in Cascade, the number of address lines, the number of words, and the bit Power consumption of digital systems has become a critical design parameter. Extending battery life in portable applications and reducing cooling requirements in higher transistor density applications make power reduction a crucial consideration during digital system design.. An important class of digital systems include applications, such as video image processing and speech recognition, which are extremely memory-intensive. In such systems, a significant amount of power is consumed during memory accesses. Thus, utilizing low-power memory organizations can greatly reduce the overall power consumption of the system. This work targets on-chip memories created by memory module generators in which there are many possible memory organizations in terms of size, architecture, technology, etc. To utilize low power memory configurations during synthesis, we need models to quickly evaluate memory energy, area, and performance. These models need to be in terms of parameters, such as size, organization, and mode of operation, which are known during synthesis time as opposed to lower level parameters such as extracted capacitance and resistance values.. In the past few years, various different memory models have been presented. Itoh [6] and Kamble [7] have presented analytical models of memory power. Ko [8] did a measurement-based characterization in which the power of a few different memories were measured. Evans [5] compared five different approaches for modeling the energy of SRAMs and used the models to analyze different internal architectures. Ogawa [12] used circuit reduction techniques for faster characterization of power and delay of SRAMs. Chinosi [3] developed a technique for the automatic characterization of memory power for different modes of operations for a certain sized memory. Landman [9] used a simulation and model fitting approach to develop power models in terms of the number of words and the bit width.. Our models were developed to predict energy, delay, and area across the different possible sizes and organizations produced by memory module generators and for different modes of memory operations. Our modeling uses a simulation-based approach which enables the development of black box models. Unlike analytical models, simulationbased approaches do not require detailed knowledge of the underlying circuits, just basic input/output timing information which can be provided by the memory generator. The models are in terms of high-level parameters and can be easily used during synthesis. Our approach is similar to [9] but is generalized enough to handle more complex memory organizations and more modes of memory operation with higher accuracy.. The focus of this paper is not just on our modeling methodology, but on defining the parameters and simulations necessary in building accurate models quickly and easily and showing how a synthesis tool can take advantage of these models in creating low power memory configurations. We have presented our modeling methodology for memory energy, area, and delay. Our methodology provides an easy and accurate way to develop memory models without detailed knowledge of the underlying circuitry. The models developed using our technique had average percentage errors within 8%. Using a weighted stepwise linear regression technique to determine the form of the models reduced the standard error over an order of magnitude from a simplified model approach. We showed that the size parameters were the most important to consider while developing the models and that it is only necessary to simulate 10 different sized memories to obtain models with average errors within 15%.. Memory architectural decisions are capable of profoundly moving the power/area/delay characteristics of the design. Through such decisions we showed reductions of memory read energy of up to 88%. These complex decisions can be explored automatically within a synthesis system. Therefore, accurate and easy to develop memory models in terms of high-level parameters are necessary to explore a rich set of energy, area, and delay trade-offs.

B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O


Quality adaptation for congestion controlled video playback over the Internet Streaming audio and video applications are becoming increasingly popular on the Internet, and the lack of effective congestion control in such applications is now a cause for significant concern. The problem is one of adapting the compression without requiring video-servers to re-encode the data, and fitting the resulting stream into the rapidly varying available bandwidth. At the same time, rapid fluctuations in quality will be disturbing to the users and should be avoided.In this paper we present a mechanism for using layered video in the context of unicast congestion control. This quality adaptation mechanism adds and drops layers of the video stream to perform long-term coarse-grain adaptation, while using a TCPfriendly congestion control mechanism to react to congestion on very short timescales. The mismatches between the two timescales are absorbed using buffering at the receiver. We present an efficient.scheme for the distribution of buffering among the active layers. Our scheme allows the server to trade short-term improvement for long-term smoothing of quality. We discuss the issues involved in implementing and tuning such a mechanism, and present our simulation results. The Internet has been experiencing explosive growth of audio and video streaming. Most current applications involve web-based audio and video playback [6, 14] where stored video is streamed from the server to a client upon request. This growth is expected to continue, and such semi-realtime traffic will form a higher portion of the Internet load. Thus the overall behavior of these applications will have a significant impact on the Internet traffic.. Since the Internet is a shared environment and does not currently micro-manage utilization of its resources, end systems are expected to be cooperative by reacting to congestion properly and promptly [5] . Deploying end-to-end congestion control results in *This work was supported by DARPA under contract No. DABT63-95 COO95 and DABT63-96-C-0054 as part of SFT and VINT projects. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGCOMM '99 8/99 Cambridge, MA, USA 0 1999 ACM l-581 13-135s6/99/0008...$5.00 higher overall utilization of the network and improves inter-protocol fairness. A congestion control mechanism determines the available bandwidth based on the state of the network, and the application should then use this bandwidth efficiently to maximize the quality of the delivered service to the user.. Currently, many of the commercial streaming applications do not perform end-to-end congestion control. This is mainly because stored video has an intrinsic transmission rate. These ratebased applications either transmit data with a near-constant rate or loosely adjust their transmission rates on long timescales since the required rate adaptation for effective congestion control is not compatible with their nature. Large scale deployment of these applications could result in severe inter-protocol unfairness against TCP-based traffic and possibly even congestion collapse.. This paper is not about congestion control mechanisms. but about a complementary mechanism to adapt the quality of streaming video playback while performing congestion control. However, to design an effective quality adaptation scheme, we need to know the properties of the deployed congestion control mechanism. Our primary assumption is that the congestion control mechanism employs an additive increase, multiplicative decrease (AIMD) algorithm.. We previously designed a simple TCP-friendly congestion control mechanism, the Rate Adaptation Protocol (RAP) [17] . RAP is a rate-based congestion control mechanism and employs an AIMD algorithm in a manner similar to TCP. We assume RAP as the underlying congestion control mechanism because it's properties are relatively simple to predict. However, our proposed mechanisms can be applied with any congestion control scheme that deploys an AIMD algorithm. Figure 1 shows the transmission rate of a.RAP source over time. Similar to TCP, it hunts around for a fair share of the bandwidth. However unlike TCP, RAP is not ACK-clocked and variations of transmission rate have a more regular sawtooth shape. Bandwidth increases linearly for a period of time, then a packet is lost, and an exponential backoff occurs, and the cycle repeats. If video for playback is stored at a single lowest -common -denominator encoding on the server, high-bandwidth clients will reccive poor quality despite availability of a large amount of bandwidth. However, if the video is stored at a single higher quality encoding (and hence higher data rate) on the server, there will be many low-bandwidth clients that cannot play back this stream.. In the past, we have often seen RealVideo streams available at 14.4 Kb/s and 28.8 Kb/s, where the user can choose their connection speed. However, with the advent of ISDN, ADSL, and cable modems to the home, and faster access rates to businesses, the Internet is becoming much more heterogeneous. Customers with higher speed connections feel frustrated to be restricted to modemspeed playback. Moreover, the network bottleneck may be in the backbone, such as at provider interconnects or links to the server itself. In this case, the user cannot know the congestion level and congestion control mechanisms for streaming video playback are critical. Given the time varying bandwidth channel due to congestion control the server to be able to adjust the quality of the stream it plays back so that the perceived quality is as high as the available network bandwidth will permit. We term this quality adaptuhm.

B O O B O B O O O B O B O B B O O O O O O B O O O O O B I O O B O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O B O O O O O O O B O O O O O B O O O O O B O O O O O O O B O O B O O B I O B O O O O O O O O B O O O O O O O O O O B I O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O B O O O O O O O O B O O O O O O B O O B O O O O O O B O B O O O B O O B O B O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O B O O O O B I O O O O O B O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O O O O B O O B O O O B I O O O O O O O B O B O O B O O O B I O O O O O B O B O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O B O O O O O O O B O O O B O O O O O O B O O O O B O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O B I O O O B O O O O O O O B O O O B I O B O O O O O O B O O O O O O O O O O B O O O O O O O B O O O O O B O


Multiobjective network design for realistic traffic models Network topology design problems find application in several real life scenarios. However, most designs in the past either optimize for a single criterion like delay or assume simplistic traffic models like Poisson. Such assumptions make the solutions inapplicable in the practical world.In this paper, we formulate and solve a multiobjective network topology design problem for a realistic Internet traffic model which is assumed to be self similar. We optimize for the average packet delivery delay and network layout cost to construct realistic network topologies. We present a multiobjective evolutionary algorithm (MOEA) to obtain the diverse near-optimal network topologies. For fair comparison, we design a multiobjective deterministic heuristic based on branch exchange -we call the heuristic Pareto Branch Exchange (PBE). We empirically show that the MOEA used performs well for real networks of various sizes, and generated topologies are quite different with significantly larger delays for the self similar traffic model. Single objective network design problems are well studied and many heuristics exist for obtaining exact/approximate solutions in polynomial-time [11, 13] . However, in real-life applications, network design problems generally require simultaneous optimization of multiple objectives, subject to satisfaction of constraints. Moreover, network traffic in real life applications use traffic models which are far from the widely used Poisson model.. For example, consider a topology design problem of the scale of the Internet. Such a topology design should consider simultaneous optimization of network cost, average delay, and number of packets delivered subject to reliability, bandwidth and/or flow-constraints. Moreover as shown in [12, 24] , the traffic model considered should be self similar in nature.. Thus, in this work, we formulate a general bi-criteria biconstrained communication network topology design problem, and solve this real-world application (RWA) using a general multi-objective evolutionary algorithm. We consider average network delay and network cost as the two optimization objectives subject to satisfaction of reliability and flow constraints. For delay, we consider self-similar traffic models [12, 24] and compare the topologies with those obtained through the Poisson model.. The formulation, analysis and evaluation of the multiobjective evolutionary algorithm for the realistic network topology design presents three novel research contributions.. • Through an extensive set of simulations on real world data, this paper presents an analysis of difference in networks produced by realistic self-similar model to Poisson traffic model.. • It presents a general, computationally inexpensive tool for solving NP-Hard multiobjective optimization problems. The scheme allows a simple and natural selection process to maintain diversity and assessing convergence.. • The work also presents a deterministic multiobjective heuristic (Pareto Branch Exchange heuristic) to solve the above problem.. The rest of the paper is organized as follows. In Section 2 we present a brief review of the communication topology design and the issues and challenges in solving multiobjective real-world applications using EAs. We describe, in Section 3, the formalization for communication network topology optimization problem. In Section 4 we describe the evolutionary algorithm used for the topology design. Section 5 presents exhaustive search and Pareto Branch exchange heuristic. The empirical results are presented in Section 6. Finally, conclusions are drawn in Section 7. In this work, a set of deterministic and stochastic/ randomized (EA) heuristics were presented for solving the multiobjective network topology design problem for realistic traffic models. We argue that combining different objectives into one objective and using a single objective optimization method to solve such problems is not very useful in this scenario. Therefore, there is a need to use tools which preserve the general nature of the problem and solve it using no a priori knowledge of the solution space. We show in the paper, that the EA heuristic generally provides better solutions than its deterministic counterparts. The topologies generated are reliable in case of single link failure and it is guaranteed that the maximum packet load on any link will not exceed the link capacity. Thus, the network is two-edge connected and satisfies the flow constraint. Topologies generated for self similar traffic have much higher delays than those of Poisson traffic. Therefore, through a mix of efficient random search and initial hybridization, EAs can be used as a general tool to solving such hard multiobjective optimization problems.

O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O


A novel generic graph model for traffic grooming in heterogeneous WDM mesh networks Abstract-As the operation of our fiber-optic backbone networks migrates from interconnected SONET rings to arbitrary mesh topology, traffic grooming on wavelength-division multiplexing (WDM) mesh networks becomes an extremely important research problem. To address this problem, we propose a new generic graph model for traffic grooming in heterogeneous WDM mesh networks. The novelty of our model is that, by only manipulating the edges of the auxiliary graph created by our model and the weights of these edges, our model can achieve various objectives using different grooming policies, while taking into account various constraints such as transceivers, wavelengths, wavelength-conversion capabilities, and grooming capabilities. Based on the auxiliary graph, we develop an integrated traffic-grooming algorithm (IGABAG) and an integrated grooming procedure (INGPROC) which jointly solve several traffic-grooming subproblems by simply applying the shortest-path computation method. Different grooming policies can be represented by different weightassignment functions, and the performance of these grooming policies are compared under both nonblocking scenario and blocking scenario. The IGABAG can be applied to both static and dynamic traffic grooming. In static grooming, the traffic-selection scheme is key to achieving good network performance. We propose several traffic-selection schemes based on this model and we evaluate their performance for different network topologies.Index Terms-Graph model, mesh network, optical network, traffic grooming, wavelength-division multiplexing (WDM). In this paper, we developed a novel generic graph model for traffic grooming in a heterogeneous WDM optical mesh network. This model takes into account various constraints, such as transceivers, wavelengths, wavelength-conversion capabilities, and grooming capabilities, which means that it can be applied very generally to a heterogeneous WDM mesh network environment. With static grooming (where all connections to be set up are known a priori), it can achieve various objectives by using different grooming policies under blocking and nonblocking scenarios. Moreover, our ability to easily adjust the grooming policy according to the current network state makes this model very suitable for dynamic traffic grooming (where connections need to be set up one at a time). At the same time, the versatility of the model is accomplished by using a uniform mechanism for manipulating the edges in the auxiliary graph, namely, by adjusting their weights and performing shortest-path computation, which is a very simple and novel feature of our proposed model.. Based on the auxiliary graph, we develop an integrated grooming algorithm, IGABAG, which jointly solves the four traffic-grooming subproblems for one traffic demand, and a grooming procedure, INGPROC, which can accommodate both static and dynamic traffic grooming using the IGABAG algorithm. Among the three proposed grooming policies MinTH, MinLP, and MinWL, our study shows that MinWL consumes the minimum wavelength-links and MinLP uses the minimum transceivers under nonblocking scenarios, while the traffic travels using the minimum number of hops on the virtual topology in nonblocking scenarios when MinTH is used, and MinTH achieves the maximum throughput under blocking scenarios. For static traffic grooming, the LCF heuristic outperforms MUF and MAF when combined with the INGPROC procedure, while MUF and MAF scale better than LCF as the number of connection requests increases.

O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I B I B I I O O O O O O O O B I O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On the feasibility of collaborative green data center ecosystems The increasing awareness of the impact of the IT sector on the environment, together with economic factors, have fueled many research efforts to reduce the energy expenditure of data centers. Recent work proposes to achieve additional energy savings by exploiting, in concert with customers, services' workloads and to reduce data centers' carbon footprints by adopting demandresponse mechanisms between data centers and their energy providers. In this paper, we debate about the incentives that customers and data centers should have to adopt such measures and propose a new service type and pricing scheme that is economically attractive and technically realizable. Simulation results based on real measurements confirm that our scheme can achieve additional energy savings while preserving service performance. The advances in virtualization technology of the last years have shaped the evolution of the IT sector towards a model where organizations no longer sustain their IT infrastructure but rent it from third parties. This "cloud" paradigm is attractive for companies and providers as it allows for a quicker deployment of new services, relieves companies from their maintenance, and can significantly cut down companies' and providers' costs. As a result, we are witnessing a rapid deployment of new data centers (DCs) of increasing size, complexity and heterogeneity in service offerings. In parallel, several studies have estimated that the IT sector is responsible for about 1 -2% of the greenhouse gas (GHG) emissions worldwide [1] ; DCs accounting for 1.3% of the overall energy consumed [2] . The impact of CO 2 emissions on climate change and the rapid concentration of IT services in DCs have raised the concern about their energy sustainability. Moreover, energy consumption accounts for a significant share of DCs' operational costs. Thus, rather than a concern, energy saving has become a necessity for DCs' economic viability. Many regulations are also being established worldwide to limit corporate emissions, increasing the pressure to cap carbon footprint, to promote the procurement of power with source mixes with a larger portion of renewable energy [3] .. Within a DC, energy consumption reduction is tackled at various levels. At the component level, for example, by employing more efficient power supplies, multiple spin rate drives, and memories or CPUs with several energy states or clock gating. At the system level, by employing Dynamic Frequency and Voltage Scaling (DFVS) techniques to adapt CPU parameters according to load, adjusting performance not to exceed some power limit (capping), introducing power profiles, or supporting variable-speed fans. At an architectural level, by carefully locating racks, server clusters or network interconnects to optimize the effectiveness of cooling and ventilation. Last, at the operations level, by trying to adapt IT component utilization to workloads. These techniques seek to exploit components' power attributes by tuning them according to utilization (or even shutting down components). Examples include consolidation of workloads and virtual servers into fewer, more energy-efficient physical servers (so that some servers and network elements can be switched off), or migrating/re-locating these to other DCs with more advantageous conditions due to the weather or the cost of energy [4] .. While DC-holistic approaches can significantly cut down power consumption, further savings and lower environmental impact may be achieved by widening the scope of the solution to span the entire energy consumption chain. In this direction, [5] proposes a concerted strategy toward both energy and CO 2 emission reduction where the three parties in the DC ecosystem interact; namely, the DC, its customers, and the DC's energy provider (EP). The approach relies on two ideas: first, a higher flexibility in the service agreements between the parties; second, their dynamic collaboration. Flexibility is supported by the inclusion of energy-related (green) clauses in the Service Level Agreements (SLAs), established between the DC and its customers, and the power Supply-Demand Agreements (SDAs), established between DCs and EPs. Collaboration allows a party to request the other to adjust its behaviour so that some energy/power consumption objective is met, and is implemented by the exchange of messages between a DC and its EP or the DC and its customers. Thus, for the EP to avoid resorting to fossil energy sources (e.g. diesel engines) due to a peak in the total energy demanded, the EP can instead request one or more of its customer DCs to temporarily reduce their power consump-tion; if a DC accepts the request, it will adjust the performance of the hosted IT applications to reduce its energy consumption (e.g. by consolidating virtual machines (VM) in fewer physical servers, delaying the execution of tasks, etc.). In case of energy surplus, the performance of the IT services provided by the DC can be upgraded (by increasing the physical resources allocated to them, advancing the execution of scheduled jobs, or accepting workloads from other DCs).. The idea of reducing power usage in a demand-response (DR) fashion when supply is scarce is not new. [6] describes a use case where a company reduces its power demand by automatically adjusting lighting, thermal settings or rack power distribution units (PDUs) upon an EP's request. While this form of collaboration or those in [5] and [7] can effectively lead to an environment friendly DC ecosystem, all the different parties must have an incentive to adopt them -aside from environmental stewardship-, as this may critically impact their businesses.. [5], [6] and [7] suggest the incentives to be financial, based on rewards or discounts. EPs will make discounts to DCs that diminish their power demands. As this may require changing the operating conditions of applications, DCs' customers should agree in advance to reductions in performance and be compensated with lower tariffs accordingly. Otherwise, DCs would have little interest in collaborating with EPs: the economic loss that resulted from compensating customers for SLA violations could outweigh EP's rewards and cause customers to choose other providers. Still, even if DC customers adhered to flexibilize the committed performance levels, finding a suitable reward/pricing scheme is hard given the multiraterality of the DC ecosystem: customers' discounts might not pay off the performance degradation experienced; on the other hand, while a DC would see its energy expenditures reduced, it could still see its profit diminished (due to lower revenues resulting from the use of lower tariffs during energy saving episodes). We conclude that, for any energy saving collaborative framework as those described to succeed, it must permit reaching some equilibrium point where customers are satisfied with the service received (relative to its price), and where DCs and EPs do not see their profits depressed. A second condition is that the technical requirements to implement it must be simple enough for DCs to adopt it. In this regard, we note that, while [5] establishes a framework and methods to deploy such a paradigm in a technically realizable manner, these do not warrant the above requirement by themselves. This paper seeks to contribute in this direction by proposing a service model and pricing scheme that is attractive for users, profitable for DCs and EPs and technically feasible, while promoting energy savings in a collaborative manner. We discuss benefits that its adoption would bring to all the parties and assess its advantages and disadvantages with results obtained with a simulator (contrasted with measurements from real DCs), fed with real and synthetic service demands and load patterns, real server parameters and typical energy costs. This paper is organized as follows. Section 2 briefly describes the components of the DC ecosystem. Section 3 summarizes related work, including ideas in [5] that contextualize and motivate this work. In Section 4 we discuss potential barriers that may preclude the adoption of collaborative measures as the ones discussed. Section 5 presents the motivation, assumptions and idea behind our proposal, expected advantages. Section 6 identifies the major variables that need to be considered to measure such advantages and presents how we study their evaluation. Sections 7 and 8 discuss our experimental work: the tool employed, how it works, how we parameterized it and the results obtained. Section 9 presents general conclusions of this research, recommendations concerning the feasibility of the proposal and future directions. Advances in server and virtualization technologies, along with efficient workload consolidation methods, have greatly contributed to the reduction of the energy consumed by DCs. A step ahead toward a higher energy efficiency and carbon footprint reduction can consist, as recent work suggests, in a concerted approach where DCs adapt their power demands according to a demand-response scheme with their EPs and the performance of IT services is modulated, in a customer-consent manner, according to workload fluctuations, time of day, and the energy EPs can supply.. In this paper we argue that, while such a paradigm seems promising and the benefits to EPs are clear (as it can help EPs mitigate demand peaks and avoid shortages without resorting to non-renewable sources, or fit renewable ones in the energy mix), it will hardly be adopted by DCs or be well-perceived by customers unless some evidence exists that their economic interests are preserved. To overcome this, we propose a service model and pricing scheme that can be attractive for all the parties and is technically realizable given today's monitoring capabilities and the advances of elastic computing.. The idea behind our service type and pricing scheme is simple: dynamically adjust resources (thus power expenditure) depending to services' needs (load), performance bounds (calendars) and the availability of energy; and let customers pay according to the energy spent. By linking energy costs with service tariffs, customers may see their bills lowered while experiencing similar performance due to the elasticity. On the other hand, DCs can retain their profit, better plan their infrastructure (due to the calendars), reduce financial risks, and even enlarge their market share (given the advantages from the customer perspective), while still striving for energy efficiency and a tighter collaboration with EPs in order to offer attractive prices and stay competitive. Thus, the interests of all parties are protected while achieving higher energy efficiency.. Our simulation study suggests that customers may enjoy a performance similar to that in case they were given strict resource guarantees, but at a lower cost and overall power expenditure. Although the simulated scenario focuses on a cloudcomputing environment and the performance score refers to CPU utilization (when other factors may influence), we note that the proposed service type is itself independent of the type of applications and energy-saving strategies used by DCs. Nat-urally, it may not suit all types of applications, and its utility depend on the effectiveness of energy-saving measures. Nevertheless, we envisage that future advances in elastic computing will allow for a rapid and accurate provisioning of applications in multiple dimensions (CPU, memory, bandwidth), in which case the performance experienced by applications may be smoothly adapted, and our proposed service type suit a wide range of IT services. There are diverse solutions to reduce DCs' energy consumption, such as techniques where servers' processor states are aligned with job demands (e.g. DVFS), system-wide approaches that reduce servers' idle powers [13] , per-core power gating [14] , consolidation of servers during low workload periods (e.g. [15] ), virtualization techniques to obtain energy savings [16] , [17] or the use of low-latency power state changes in servers to improve the impact of virtualization [18] . To complement these, there are many contributions that focus on the characterization of workloads in DCs, such as [19] .. [20] considers the adaption of DC's power demand to fluctuations in electricity pricing considering the DC as a whole, disregarding the discrete elements inside, while [21] contemplates the use of on-site energy storage to avoid peak power costs. [3] studies the reduction of DCs' carbon footprints by using on-site renewable energy production. By managing resources across multiple DCs, [22] achieves power savings. Similarly, [23] contemplates the dynamic exchange of workloads among different sites, where services are moved to DCs with higher efficiency -both in terms of performance versus power consumption ratio and also depending on the carbon footprints of the energy generation at their EPs-.. As mentioned, the co-operation paradigm recently proposed in [5] is based on leveraging flexibility and dynamic collaboration among all the DC ecosystem players: the EP, the IT customers and the DC itself. Flexibility is enhanced by adding energy-aware extensions to SLAs -stating the conditions (QoS parameters, guarantee terms and associated tariffs) under which IT services are provided-which then become GreenSLAs. These extensions establish the degree of change in running conditions (e.g. performance or availability) that the DC and its customer agree to accept as a function of the energy context of the ecosystem, together with specific tariffs and guarantee terms. Energy context refers to the state of the ecosystem regarding energy, and it can be either calendar related or dependent on the actual situation of the EP. Calendar-based clauses relate running conditions with the time-of-the-day. An example of a calendar related clause could be that a service enjoys a 99.95% availability for weekdays during working hours and a 95% -99% availability for the rest of the time.. On the other hand, the collaboration paradigm, illustrated in Figure 2 , contemplates interactions between EPs and DCs related to the current balance between the energy demand and production of the EP, according to extensions in the SDAs (called GreenSDAs), such that an EP can issue requests to a DC to reduce or increase the consumed power for a certain time period. If the DC accepts to serve the request, there will be clauses in the GreenSLA that allow the DC to modify its power consumption by changing running conditions of some IT services. An example of such a clause could be that, if a request from an EP to reduce power consumption for a time period T has been accepted by the DC, then a Web hosting service that is running in a high performance condition (say, 12 load-balanced VMs able to handle 1000 requests/s) can be set to run in medium performance (6 load-balanced VMs) during T .. The collaboration between the three DC ecosystem parties will also follow the rules established in the GreenSLAs (between the DC and the IT customers), and the GreenSDAs (between the DC and the EP), together with the associated economic impact for every change in running conditions of the IT services or the consumed power of the DC, respectively. An example of such rules could be that the EP may request the DC to reduce its power consumption for periods no longer than one hour, during which a certain discount in the electricity price will be applied. 4. Current DC service models and barriers potentially hindering collaboration in the DC ecosystem. As discussed in §1, at least two conditions should be met for energy saving collaborative models to be adopted. First, the measures to save energy should not conflict or impair IT customers interests (e.g. businesses), who should still perceive adequate service levels relative to their cost. Second, energy-saving measures and their consequences (e.g. on pricing) should not affect DCs' economic viability (i.e., they should not cause DCs' profits to be reduced). To understand the motivation behind our proposal and its advantages, next we briefly discuss existing service models, pricing schemes, and the effect of energy costs in DC's economies through a simple model.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Contaminated garbage collection We describe a new method for determining when an object can be garbage collected. The method does not require marking live objects. Instead, each object X is dynamically associated with a stack frame M, such that X is collectable when M pops. Because X could have b e e n d e a d earlier, our method is conservative. Our results demonstrate that the method nonetheless identi es a large percentage of collectable objects. The method has been implemented in Sun's Java tm Virtual Machine interpreter, and results are presented based on this implementation. In education, research, and industry, u se of garbage-collected languages such a s J a va and ML remains strong. However, despite many a d v ances, the cost of automatic garbage collection continues to be prohibitive in some areas, notably embedded, real-time, and scienti c applications.. CPU cycles must be devoted to collecting the garbage. Incremental systems a m ortize the cost, and extra processors can hide the cost if those processors have n othing better to d o . The need for collection can occur at unpredictable and inopportune times. Storage becomes fragmented unless objects are moved, but object relocation fools most storage systems. An object can be in cache, but known by its former address. Access of the object at the n e w a d dress results in a fault followed by a f e t c h from slower storage. Traditional garbage collectors marklive o b j e c t s . W h i l e generational collection can limit such marking to a subset of a program's live objects, the marking phase pollutes the cache as the live objects are touched.. Sponsored by the National Science Foundation, under grant NCR 9628218 contact a u thor cytron@cs.WUSTL.edu Permission to make d igital or hard copies o f a l l o r p art of this work for personal or classroom use is granted without f ee provided t h a t c opies are not made or distributed for pro t o r c o m mercial advantage and that copies bear this notice and the full citation on the r st page. T o copy o t h e rwise, o r r e publish, to post on servers or to distribute to lists, requires prior speci c permission and/or a fee. PLDI In this paper, we propose and evaluate t he performance of a new scheme, the contaminated g a r b age (CG) c ollector. This new collector has the following properties:. It can operate in concert with a traditional collector, decreasing the frequency with which the traditional collector must be called. It does not require a \marking" phase, so that data caches remain valid even as objects are collected. It collects a r e a s o n able percentage of dead objects. It correctly identi es dead objects, but objects that it thinks are live m ay in fact be dead. To elaborate o n t h e l a s t p o i n t, CG collection is conservative, though not in the traditional sense of that term. Conservative c o l l e c t ion has been proposed for languages (such a s C ) in which reference variabl e s c a n n o t b e p r e c i s e l y d etermined such collectors are conservative b e c a u se they may be forced to treat a value as a pointer 3]. The CG collector is conservative i n a d i erent w ay a n d for di erent reasons, as we explain shortly.. Our paper is organized as follows: Section 2 explains our approach u sing a simple example. Section 3 describes an implementation of a CG collector, along with complications that arise from multiple threads and native code. Section 4 compares our approach w i t h p revious work. Section 5 presents experiments based on this implementation. Section 6 presents conclusions a n d i d eas for future work in this area. In summary, t h e CG collector operates as follows. We maintain an equilive equivalence relation over a program's heap-allocated objects. Objects in the same block o f t h e i n duced partitionare viewed as having the same lifetime and are dependent on the same frame.. Equilive s e t s g r o w t hrough union operations an equilive set's dependent frame c a n c hange as the program executes, but a l w ays by m oving to an older frame.. When a frame M pops, all equilive sets associated with M contain objects that must be dead. Such o b j e c t s can be safely collected when M pops. If the objects are already in some kind of list L, t h e n t he objects can be returned to the available storage pool by joining L to the free-storage list. This can be accomplished with two storage accesses, which should not disrupt the e ectiveness of the d a t a c a c he. An exception to this policy occurs in an optimization described in Section 3.4. When a new block i s f o r m ed by m erging t wo existing blocks, the new block is dependent o n t he older (lowernumbered) of the e x i s t ing b l o c ks' dependent frames.. The l i v eness of an object X, and therefore X's block, is a ected if a methodreturns X to its caller. The liveness of X's block must be adjusted so that its dependent f r a m e i s p o p pednosooner than its caller's. The re exive a n d transitive a s p e c t s o f e q u ilive are accurate. However, the symmetric property i n troduces conservativeness, as illustrated with the example of D above.. Our approach is therefore conservative|though not because we can't tell what is a reference and w h a t i s n o t 3 ] . The CG collector may o verestimate the lifetime o f a n o b j e c t . For such objects, traditional garbage collection may c o l l e c t the object when we w ould not. We therefore evaluate our approach in Section 5 by s h owing the percentage of objects that are collectable using CG.. Our approach d o e s have the following advantages over traditional collection.. Traditional collection requires marking live objects. While generational collecto r s 1 8 , 1 0 ] c a n l i m it themselves to marking a subset of the live objects, this phase of garbage collection pollutes the cache (and more distant virtual memory components) with objects that are not referenced actively by the running program 9].. Maintaining the e q uilive relation can be accomplished e ciently if the disjoint sets of objects are maintained using Tarjan's union by rank and path compression heuristics 7] . The resulting overhead is a (nearly) constant a m ount o f w ork per storage reference.. 3 Implementation We i m plemented our approach in the context o f S u n 's Java system, JDK 1.1.8. Our changes were con ned to those portions of the Java Virtual Machine (JVM) 11] that deal with object creation, frame creation (in response to method calls), method return, and the base (traditional) garbage collection. Sun's 1.1.8 system o ers the following JVM interpreters. The reference interpreter is written entirely in C. A m ore e cient i n terpreter implements t h e m ost frequently executed portions in (Sparc) assembly language. To facilitate our implementation, w e based our work on the C v ersion. However, the c hanges we m ade are compatible with the architecture of the (speedier) assembly version.. We n ext s k etch o u r basic implementation and describe how w e a c c o m modateinterpreter-generated static references and the more conceptually demanding characteristics of the JVM|namely, m ultiple threads and n ative c o d e. We h a ve p r e s e n ted a simple but conservative a p proach f o r tracking an object's dependent frame. Our experiments show t he following.. A reasonable percentage of objects are collectable by our approach ( Figure 4 and Figure 9 ). Of those objects that are CG-collectable, most occur in blocks with three or fewer objects ( Figure 5 ). For some programs (such as jack and jess), most objects that we can collect are collected within one or two f r a m es of their birth ( Figure 6 ). For other programs ( s u c h a s raytrace and mpegaudio), a m ajority of objects are collected more than 5 frames past their birth frame. Although our approach performs well for the small runs o f t h e S PEC benchmarks, performance is lost on the longer runs. In response to these observations, our plans for the future include the f o l l o wing.. To gain better insight into when and how well objects can be collected, w e plan to identify the point at which an object becomes collectable traditional (exact) garbage collection collects it CG collects it While it appears that a large number of objects can be reclaimed e ciently by our approach, our results suggest the following possibilities for future work.. The operations needed to maintain the equilive sets are su ciently simple that they might be incorporated directly int o a s t orage architecture. The equilive singleton sets could be maintained \by type". Thus, when a frame i s p o p p e d , t h ere would be a c o l l e c t i o n o f f r e e o b j e c t s o f a g i v en type. Instead of returning s u c h objects to a g e n eral free-storage pool, they could be recycled the next time objects of that type are needed. For languages like J a va, where objects of a given type always take the same size (except for arrays), such object recycling could have a big payo . Moreover, this could improve t h e reference locality o f a program. Others 6, 9] have suggested using garbage collection as a time to reorganize (live) storage to improve l o c a l i t y. If CG can recycle the dead storage, then the n e x t i n s t a n tiation of an object type may h a ve i t s data already in cache. On its own, our a p proach n ever improves the d ependent frame o f a n e q u i l i v e b lock. However, it may b e possible that such information could be reset when traditional collection is performed. Such fresh starts may g i v e o u r approach m ore latitude i n nding dead objects. Because many objects appear to be collectable when their birth frame pops, it is worth considering how such objects could be collected sooner. In particular, an object in a size-1 set can be collected once its dependent f r a m e n o l o n ger references the object. This could happen well before the executing method's frame pops. Static analysis 5, 16] may h elp determine w h e r e s u c h variables die. Also, it is possible that an e cient dynamic scheme could detect that such v ariables are dead. Staticanalysis might a l s o h e l p b y d etermining the conditional liveness of objects. If o b j e c t X can be shown to be as live a s o b j e c t Y , and w e can tell that X is dead, then Y must also be dead.. Our treatment o f t h read-shared objects is to consider them live for the program's duration. Instead, a s e t of dependent stack frames could be associated with an equilive b lock. Further investigation is needed to explore the expense and bene ts of a more general approach. Our approach could compliment the train algorithm by collecting objects when methods return. Exact collection might b e r e q uired less frequently. Also, the train algorithm could update our structures when it does run, sharpening t h e e ectiveness of our approach. Wilson presents an excellent s u r v ey of storage allocation 19] and collection 18] techniques. All known methods f o r e x act garbage collection require marking live objects to some e xtent. Generational collection limits the scope of the marking phase to a set of objects that are believedmostly to b e d ead.. One way o f c o m paring our wo r k i s t o e x a m ine h o w v arious a p proaches view the notion of a generation.. Traditional generational collection de nes a generation by the longevity of its objects. This separates newer from older objects, so that garbage collection can concentrate on the newer (presumably shorterlived) objects. More recently, it has been proposed to focus on other than the youngest generation 15]. The train algorithm, discussed below, views objects not only in terms o f t h eir longevity, b u t a l s o i n t e r m s of their interconnection. Objects that reference each other tend to be clustered in the same g e n eration. This nicely accommodates cyclic data structures, as they become f r e e a t t h e s a m e t i m e. Our algorithm attempts to cluster objects, not in terms of their longevity, but in terms o f t h e i r e x pected expiration. When they must die|not how l o n g t hey have lived|is our key concern. We dynamically compute the time a t w h i c h a c l u ster of objects must be dead, based on the references among the objects. We i m plemented our a p proach as described in Section 3.4. We t h en conducted experiments on the approach u sing the programs described in Figure 4 .. The rst program is a student's compiler project (the parsing and semantic analysis phases), written by a Java n ovice. No thought whatsoever was expended on e cient use of objects. The size of this program is in ated: 6088 of the lines were generated by s c a n nerand parser-generating tools. The programs trav and corners compute navigation information (based on shortest-path), using US Census road descriptions 4]. These programs w ere written by a Java expert, hand-optimized to minimize the need for garbage collection. Ttrav is a multithreaded version of trav, designed to operate as an applet. Similarly, Tcorners is a multithreaded version of corners. The applet versions load the d ata in a separate thread, under control of applet buttons that can suspend or resume t h e loading. The bottom set of programs a r e the SPEC suite 8].. Here, they were run on their smallest problem sizes. Figure 4 : Benchmarks Percentage of objects collectable by o u r a p p roach, without and with the optimization described in Section 3.4.

O O O O O O O B O O O O B O O O O O B O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O B O O O O O O O O O O B O O O O O O O B I O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Combinatorial construction of locally testable codes An error correcting code is said to be locally testable if there is a test that checks whether a given string is a codeword, or rather far from the code, by reading only a constant number of symbols of the string. Locally Testable Codes (LTCs) were first systematically studied by Goldreich and Sudan (J. ACM 53(4)) and since then several constructions of LTCs have been suggested.While the best known construction of LTCs by Ben-Sasson and Sudan (STOC 2005) and Dinur (J. ACM 54(3)) achieves very efficient parameters, it relies heavily on algebraic tools and on PCP machinery. In this work we present a new and arguably simpler construction of LTCs that is purely combinatorial, does not rely on PCP machinery and matches the parameters of the best known construction. However, unlike the latter construction, our construction is not entirely explicit. An error correcting code is said to be locally testable if there is a test that checks whether a given string is a codeword, or far from the code, by reading only a constant number of symbols of the string. Somewhat more precisely, a code is locally testable if there exists an algorithm, called the verifier, that when given oracle access to a given string, makes a constant number of queries to the oracle, accepts

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O