95 citations found. Retrieving documents...
A. W. Appel and K. Li. Virtual memory primitives for user programs. ACM SIGPLAN Notices, 26(4):96--107, 1991.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Reducing Pause Time of Conservative Collectors - Endo, Taura (2002)   (2 citations)  (Correct)

....collector. 6. RELATED WORK Incremental concurrent mark sweep collectors have been widely explored [11, 12, 13, 17, 27] Most previous work While protecting pages inherently requires synchronization among processors, we may unprotect pages wkhout synchro nization by lazily synchronizing TLBs [1]. deltablue [lavg.g.p. Imax.g.p. 3max. l.p. espresso 4 . E 3 o m cube Iavg.g.p. max.g.p. 3max.l.p. O m m Figure 4: The pause time in the sequential benchmarks. The graphs show the average global pauses, the maximum global pauses, and the maximum local pauses for each ....

A. W. Appel and K. Li. Virtual memory primitives for user programs. In Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 96 107, 1991.


Mondrian Memory Protection - Witchel, Cates, Asanovic (2002)   (21 citations)  (Correct)

....and discount all other instructions, the translation implementation still saves 46 of the reference time of a copying implementation. 6. OTHER USES FOR FINE GRAINED PROTECTION AND TRANSLATION We believe that fine grained protection offers exciting opportunities for application developers. Appel [3] surveys some applications that make use of page based virtual memory. Many of these same ideas could perform better with finer grain protection and with cheap inter protection domain calls. Fine grained protection can provide support for fast memory bounds checking. Buffer overruns in unsafe ....

A. W. Appel and K. Li. Virtual memory primitives for user programs. In Proceedings of ASPLOS-IV, April 1991.


Piglet: A Low-Intrusion Vertical Operating System - Muir, Smith (2000)   (1 citation)  (Correct)

....which are embedded within the OS. 2.2 Vertical OS Structure The bene ts of separating resource management mechanisms and policies have been clearly demonstrated for many di erent classes of resource. Application speci c management of virtual memory has been extensively researched: Appel and Li [Appel91] provide general considerations for implementing application level VM primitives while Hand [Hand99] and Engler [Engler95] describe speci c implementations. User level network protocols are another area which has been covered by many groups: Cornell s U Net [vonEicken95] and the Virtual ....

A. W. Appel and K. Li; \Virtual memory primitives for user programs", 4th International Conference on Architecture Support for Programming Languages and Operating Systems (October 1991), pp.95-109.


Exterminate All Operating System Abstractions - Engler, Kaashoek (1995)   (27 citations)  (Correct)

.... the history of computer science there has been a fairly constant opinion that current operating systems are inadequate [4, 7, 9, 11, 15, 18] The literature is rife with specific examples that describe the cost of the inappropriate, inefficient abstractions peddled by operating systems [2, 4, 12, 13, 18, 23, 24]. This situation has persisted for the last three decades, and has survived numerous assaults (object oriented operating systems and micro kernels are two of the more popular movements) As a general rule, a concept that cannot be realized after such a long period of time should be reexamined. ....

....abstractions; unfortunately, such emulation is typically clumsy, complicated, and prohibitively expensive. For example, once the application has no access to the raw disk interface, database records must be emulated on top of files. The list of such examples is painfully long and continues to grow [2, 4, 13, 18, 23, 24]. In short, operating systems are complex, fragile, inflexible, and slow, because they have dabbled in the practice of providing a general purpose virtual machine. The operating system is basically hardware masquerading as software: it cannot be changed, all applications must use it, and the ....

A.W. Appel and K. Li. Virtual memory primitives for user programs. In Proceedings of the Fourth International Conference on ASPLOS, pages 96--107, Santa Clara, CA, April 1991.


The Design, Implementation, and Evaluation of Jade - Rinard, Lam (1998)   (Correct)

....of the current Jade communication strategy, they all have drawbacks. Page based approaches require the implementation to interact with the paging system of the resident operating system. In many operating systems the implementations of the user level fault handling primitives are inefficient [Appel and Li 1991], and some operating systems do not provide these primitives at all. On the other hand, using a strategy that dynamically checked each access would impose substantial overhead on each access to a shared object. ACM Transactions on Programming Languages and Systems, Vol. 20, No. 1, January 1998. ....

Appel, A. and Li, K. 1991. Virtual memory primitives for user programs. In Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York.


Limitations of Page Table Translation Schemes - Liedtke (1995)   (Correct)

.... et al. 1994] Mungi [Heiser et al. 1993] Monads [Rosenberg et al. 1989] and [Carter et al. 1992] Page table mechanisms: Organick 1972; Cocke 1981; Huck and Hays 1993] TLBs and caches: Koldinger et al. 1992; Kaiser and Czaja 1992; Nagle et al. 1993; Chiueh and Katz 1992] User level mapping: [Appel and Li 1991; Hosking and Moss 1993] OO systems: Jul et al. 1988; Krakowiak et al. 1990] 7 Conclusions Besides that we never can be sure to consider all relevant factors in such an examination, there are remarkable factors of uncertainty: research is required to find out whether appropriate TLBs and ....

Appel, A. W. and Li, K. 1991. Virtual memory primitives for user programs. In 4th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Santa Clara, CA, pp. 73--80.


MMU Impacts On System Architecture (Extended Abstract) - Liedtke (1994)   (Correct)

....research [26, 22, 21, 23] deals with these questions. It is yet too early for definite answers, but we are not pessimistic. 5 Related Work 64 bit systems: Opal [4] Mungi [34, 7] Monads [33] and [2] Page table mechanisms: 31, 6, 10] TLBs and caches: 16, 15, 30, 5] User level mapping: [1, 9]. OO systems: 13, 17] 6 Conclusions Besides that we never can be sure to consider all relevant factors in such an examination, there are remarkable factors of uncertainty: research is required to find out 7 whether appropriate TLBs and caches can be build and whether OS book keeping can be ....

A. W. Appel and K. Li. Virtual memory primitives for user programs. In 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 73--80, Santa Clara, CA, April 1991.


Address Space Sparsity and Fine Granularity - Liedtke (1995)   (9 citations)  (Correct)

....hardware, e.g. base address caches [5] or a virtually tagged cache supporting synonyms [14, 15] Therefore, this section is highly speculative: imagine that unrestricted aliasing is sufficiently cheap. What can we do with this mechanism Experiments with user level mapping are described in [1, 7]. Since, with guarded page tables, the obtainable granularity is in the magnitude of a program variable, we should even explore techniques to replace references by mapping, perhaps even parameter passing by mapping. For example, a compiler could assemble statically determinable sets of parameters ....

A. W. Appel and K. Li. Virtual memory primitives for user programs. In 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 73--80, Santa Clara, CA, April 1991.


The SawMill Framework for Virtual Memory Diversity - Aron, Park, Jaeger.. (2001)   (2 citations)  (Correct)

....an incremental strategy. 5 Performance Analysis We have implemented a prototype that consists of a main memory manager and an anonymous memory manager. The managers implement identify, attach open, detach close, and interrogate. Table 1 compares the time to execute the Appel Li VM primitives [2]. The times for OSF 1, Mach and SPIN taken from [3] were measured on a 133MHz DEC Alpha. The numbers for SawMill were measured on a 100MHz Pentium which is roughly comparable to a 133MHz DEC Alpha. The times for SPIN correspond to kernel extensions invoking the virtual memory system and would be ....

A. Appel and K. Li. Virtual memory primitives for user programs. In ASPLOS. ACM, April 1991.


Parallel Pointer-Based Join Algorithms in Memory Mapped .. - Buhr, Goel, Nishimura, .. (1996)   (1 citation)  (Correct)

....an essential property in a database system. With singlelevel stores becoming more common, it is our hope that future research and development in operating system architecture will make it feasible for database applications to exercise more control over the replacement strategies used (see [7]) There is scope for further improvement in the design of our model, especially in the modelling of the underlying paging behaviour. Future work will involve extending our model to other memory mapped environments allowing us to perform comparative studies. It will also be an interesting exercise ....

Appel, A. W. and Li, K. Virtual Memory Primitives for User Programs. In ACM ASPLOS, pp. 96--107, Apr. 1991.


Trends in Operating System Design: Towards a Customisable.. - Hulse, Dearle (1998)   (1 citation)  (Correct)

....hardware to provide high level abstractions such as processes and file systems that enable application developers to build systems both efficiently and portably. Although high level abstractions like this are suitable for many systems, there are also systems for which they are not appropriate [4, 6, 25, 43, 46]. This would be acceptable if the developers of these systems could simply ignore the abstractions that are unsuitable and create their own from scratch. However, since the operating system defines a high level virtual machine, applications are effectively forced to use the abstractions provided. ....

A.W. Appel and K. Li. "Virtual Memory Primitives for User Programs", in Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Santa Clara, California, pp. 96-107, 1991.


Swap Compression: Resurrecting Old Ideas - Cortes, Becerra, Cervera (2000)   (3 citations)  (Correct)

....the application knows about its access patterns. This knowledge could be used to improve the 18 performance of the mechanism. RELATED WORK Not much research has been done in the area of memory and swap compression. To our knowledge, the idea was first proposed in 1991 in two different papers [20, 21], but Andrew W. Appel did not pursue the issue further and Paul R. Wilson did not come back to the idea until 1999 [6] as we describe later in this section. Fred Douglis was the first one to postulate the benefits of a compression cache [7] Furthermore, he built and evaluated a prototype. His ....

Appel, A. W., and Li, K. Virtual memory primitives for user programs. In Proceedings of the International Conference on Architectural Support for Programming Languages nad Operating Systems (April 1991), ACM.


Concurrent, Atomic Garbage Collection - Detlefs (1991)   (2 citations)  (Correct)

....switching between the mutator and collector tasks, and handling protection exceptions might substantially increase running time when concurrency is used. This concern is especially important because the generality of the Mach virtual memory interface seems to have a performance cost; Li and Appel [Appel Li 90] have preliminary measurements indicating that Mach page protection primitives may be as much as 10 times more expensive than comparable operations in other operating systems running on the same platform. We have run similar tests with somewhat better results, estimating the cost of protecting or ....

....an external pager [Young 90] We briefly examined this approach, but settled on 180 Section 12.2.2 the use of the existing user level calls for simplicity and also because the external pager approach is less likely to be supported in other systems. Appel and Li recently suggested another approach [Appel Li 90] They propose mapping the virtual memory pages that make up the heap into two different regions of the address space, one used by mutator threads and one by the collector. This separation of address space allows a collector thread in the same process as mutator threads to have access to heap ....

Appel, Andrew W. and Li, Kai. Virtual memory primitives for user programs. 1990. In preparation.


Application-Controlled Demand Paging for Out-of-Core.. - Cox, Ellsworth (1997)   (32 citations)  (Correct)

....features have unfortunately not found their way into commercial operating systems. Appel and Li have demonstrated by operating system modification that application control over write back policies can improve performance by discarding dirty data that really are garbage or that can be rederived [3]. Just such control would be desirable for visualization where data can be re read from disk. Cao et al. have explored application control over file caching [7, 8] Their focus has primarily been on efficient implementation and on global performance. In the visualization domain, Song has ....

A. Appel and K. Li, "Virtual Memory Primitives for User Programs," Proceedings of the 4 th Symposium on Architectural Support for Programming Languages and Operating Systems, Santa Clara CA, April 1991.


Encrypting Virtual Memory - Provos (2000)   (13 citations)  (Correct)

.... Fred Douglis compression cache compresses memory pages to avoid costly disk accesses [10] 3 Virtual Memory System One purpose of virtual memory is to increase the size of the address space visible to processes by caching frequently accessed subsets of the address space in physical memory [2]. Data that does not t in physical memory is saved on secondary storage known as the backing store. Paged out memory is restored to physical memory when a process needs to access it again [7] In many operating systems, the virtual memory pager daemon is responsible for reading and writing pages ....

....a severe impact on system performance. In general, it is not desirable to prevent the system from swapping memory to the disk. Instead, encryption can be used to protect con dential data when it is written to secondary storage by the pager. A user program could install its own encrypting pager [2]. This would lead to greater complexity, require modi cation of applications and poses dicult decisions about which cryptosystem to use. If a cryptographic le system like CFS [4] were available, the virtual memory pager could be con gured to swap to a le that resided on an encrypted le system. ....

A. Appel and K. Li. Virtual Memory Primitives for User Programs. In Proceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems, April 1991.


Supporting Dynamic Data Structures on Distributed.. - Rogers, CARLISLE.. (1995)   (98 citations)  (Correct)

....idle until another (or the same) thread migrates to it. Recall that we view a memory address as consisting of a pair of a processor name and a local address. This information can be encoded as a single address, and the address translation hardware can be used to detect non local references [Appel and Li 1991]. When Processor P executes a load or store instruction that refers to Q s memory, the instruction traps to a library routine. The trap handler is responsible for packaging up the thread s state information and sending it to Processor Q. Notice that if the entire stack is sent with the thread, ....

....accounts for 24 to 80 of the overhead. It may be possible to reduce this overhead by using the address translation hardware and a user level trap handler to detect and manage non local references. The effectiveness of such a scheme will depend heavily on the cost of servicing a user level trap [Appel and Li 1991]. We are currently experimenting with an implementation of Olden built on top of the Tempest Blizzard system from the Wisconsin Wind Tunnel 10 We have measured the cost of sending a 250 byte message, which is the average size of a migration message, as 496s on the iPSC 860 and 546s on the CM 5. ....

Appel, A. and Li, K. 1991. Virtual memory primitives for user programs. In Proceedings of the Fourth International Conference on Architectura l Support for Programming Languages and Operating Systems, pp. 96--107.


AVM: Application-Level Virtual Memory - Dawson Engler Sandeep (1995)   (24 citations)  (Correct)

....to modify or replace. Other microkernels [12, 17, 21] have chosen to implement a very restricted virtual memory system in order to make the system fast and simple. These systems do not support VM techniques such as copy on write, which can improve applicationperformance by an order of magnitude [2, 11, 14]. In summary, current VM systems are either complicated and unwieldy, or naive and rudimentary; both approaches penalize applications. To remedy the situation, this paper proposes a novel organization of the VM system, application level VM (AVM) which allows applications to set policies by ....

....the hardware does not have to support scatter gather functionality. Control of page size. On machines that support variable page size mappings [19, 20] AVM can exploit application specific knowlege to determine appropriate page sizes (e.g. many of the applications discussed in Appel et al. [2] benefit from smaller page sizes) DMA. Avoidance of the memory subsystem during bulk data transfers can improve performance by eliminating the effects of both cache and TLB misses, and pollution. This optimization can aid many operations such as networking and garbage collection, and more common ....

[Article contains additional citation context not shown here]

A.W. Appel and K. Li. Virtual memory primitives for user programs. In Proceedings of the Fourth International Conference on ASPLOS, pages 96--107, Santa Clara, CA, April 1991.


I R I S a - Campus Universitaire De (1995)   (Correct)

....addition, it was shown that the time overhead due to checkpointing increases almost linearly with the number of checkpoints saved in an application. This allows the application programmer to choose the checkpointing interval according to its applications needs of reliability. As already stated in [28], we found during the implementation of the checkpointing protocol that today operating systems, even based on the micro kernel technology, do not offer enough support for implementing incremental checkpointing, since they do not offer primitives for reading the pages dirty bits or acting on sets ....

A. W. Appel and K. Li. Virtual memory primitives for user programs. In Proc. of 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 96--107, April 1991. PI n924 26 Gilbert Cabillic, Gilles Muller, Isabelle Puaut Irisa


Garbage Collection Without Paging - Matthew Hertz Yi   (Correct)

No context found.

A. W. Appel and K. Li. Virtual memory primitives for user programs. ACM SIGPLAN Notices, 26(4):96--107, 1991.


Low-Overhead Interactive Debugging via Dynamic.. - Marc Corliss Christopher (2005)   (1 citation)  (Correct)

No context found.

A. W. Appel and K. Li. Virtual memory primitives for user programs. In Proc. of 4th Intl. Conf. on Architectural Support for Programming Languages and Operating Systems, pages 96--107, Apr. 1991.


Tools for the Development of Application-Specific - Virtual Memory Management   (Correct)

No context found.

Appel, A. W. and Li, K. Virtual Memory Primitives for User Programs. In Proceedings of the 4th ACM Symposium on Architectural Support for Programming Languages and Operating Systems, Santa Clara, California, April 1991.


Garbage Collection without Paging - Hertz, Feng, Berger (2005)   (Correct)

No context found.

A. W. Appel and K. Li. Virtual memory primitives for user programs. ACM SIGPLAN Notices, 26(4):96--107, 1991.


Transparent Operating System Support for Superpages - Navarro (2002)   (4 citations)  (Correct)

No context found.

A. W. Appel and K. Li. Virtual memory primitives for user programs. In Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 96--107. ACM Press, 1991.


A Generational and Conservative Copying Collector for Hybrid.. - Onodera (1993)   (1 citation)  (Correct)

No context found.

A. W. Appel and K. Li, `Virtual memory primitives for user programs', Proc. Fourth International Conference of Architectural Support for Programming Languages and Operating Systems, 1991, pp. 96--107.


Trap-driven Memory Simulation - Uhlig (1995)   (2 citations)  (Correct)

No context found.

Appel, A. and Li, K. Virtual memory primitives for user programs. In Pro- 171 ceedings of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems, Santa Clara, California, ACM, 96-107, 1991.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC