17 research outputs found
DIstributed VIRtual System (DIVIRS) Project
The development of Prospero moved from the University of Washington to ISI and several new versions of the software were released from ISI during the contract period. Changes in the first release from ISI included bug fixes and extensions to support the needs of specific users. Among these changes was a new option to directory queries that allows attributes to be returned for all files in a directory together with the directory listing. This change greatly improves the performance of their server and reduces the number of packets sent across their trans-pacific connection to the rest of the internet. Several new access method were added to the Prospero file method. The Prospero Data Access Protocol was designed, to support secure retrieval of data from systems running Prospero
A Symmetric Approach to Compilation and Decompilation
Just as specializing a source interpreter can achieve compilation from a source language to a target language, we observe that specializing a target interpreter can achieve compilation from the target language to the source language. In both cases, the key issue is the choice of whether to perform an evaluation or to emit code that represents this evaluation. We substantiate this observation by specializing two source interpreters and two target interpreters. We first consider a source language of arithmetic expressions and a target language for a stack machine, and then the lambda-calculus and the SECD-machine language. In each case, we prove that the target-to-source compiler is a left inverse of the source-to-target compiler, i.e., it is a decompiler. In the context of partial evaluation, compilation by source-interpreter specialization is classically referred to as a Futamura projection. By symmetry, it seems logical to refer to decompilation by target-interpreter specialization as a Futamura embedding
Mapping household direct energy consumption in the United Kingdom to provide a new perspective on energy justice
Targets for reductions in carbon emissions and energy use are often framed solely in terms of percentage reductions. However, the amount of energy used by households varies greatly, with some using considerably more than others and, therefore, potentially being able to make a bigger contribution towards overall reductions. Using two recently released UK datasets based on combined readings from over 70 million domestic energy meters and vehicle odometers, we present exploratory analyses of patterns of direct household energy usage. Whilst much energy justice work has previously focussed on energy vulnerability, mainly in low consumers, our findings suggest that a minority of areas appear to be placing much greater strain on energy networks and environmental systems than they need. Households in these areas are not only the most likely to be able to afford energy efficiency measures to reduce their impacts, but are also found to have other capabilities that would allow them to take action to reduce consumption (such as higher levels of income, education and particular configurations of housing type and tenure). We argue that these areas should therefore be a higher priority in the targeting of policy interventions
An Optimal Algorithm For Mutual Exclusion In . . .
An algorithm is proposed that creates mutual exclu-sion in a computer network whose nodes communicate only by messages and do not share memory. The algo-rithm sends only 2*(N- 1) messages, where N is the number of nodes in the network per critical section invocation. This number of messages i at a minimum if parallel, distributed, symmetric control is used; hence, the algorithm is optimal in this respect. The time needed to achieve mutual exclusion is also minimal under some general assumptions. As in Lamport's "bakery algorithm, " unbounded se-quence numbers are used to provide first-come first-served priority into the critical section. It is shown that the number can be contained in a fixed amount of memory by storing it as the residue of a modulus. The number of messages required to implement he exclusion can be reduced by using sequential node-by-node processing, by using broadcast message techniques, or by sending infor-mation through timing channels. The "readers and writers " problem is solved by a simple modification of the algorithm and the modifications necessary to make the algorithm robust are described. Key Words and Phrases: concurrent programming, critical section, distributed algorithm, mutual exclusion
Editor An Optimal Algorithm for Mutual Exclusion in Computer Networks
An algorithm is proposed that creates mutual exclu-sion in a computer network whose nodes communicate only by messages and do not share memory. The algo-rithm sends only 2*(N- 1) messages, where N is the number of nodes in the network per critical section invocation. This number of messages is at a minimum if parallel, distributed, symmetric control is used; hence, the algorithm is optimal in this respect. The time needed to achieve mutual exclusion is also minimal under some general assumptions. As in Lamport's "bakery algorithm, " unbounded se-quence numbers are used to provide first-come first-served priority into the critical section. It is shown that the number can be contained in a fixed amount of memory by storing it as the residue of a modulus. The number of messages required to implement the exclusion can be reduced by using sequential node-by-node processing, by using broadcast message techniques, or by sending infor-mation through timing channels. The "readers and writers " problem is solved by a simple modification of the algorithm and the modifications necessary to make the algorithm robust are described. Key Words and Phrases: concurrent programming, critical section, distributed algorithm, mutual exclusion