12 citations found. Retrieving documents...
David G. Korn and Kiem-Phong Vo. SFIO: Safe/Fast String/File IO. In Proc. of the Summer '91 Usenix Conference, pages 235--256. USENIX, 1991.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Extended Data Formatting Using Sfio - Fowler, Korn, Vo (2000)   (Correct)

....access the format parsing and argument processing code in the formatting functions, each tool must invent its own way to perform these tasks. This unnecessarily duplicates work already done in library functions and does not help to improve interface consistency across tools. The Sfio library [3, 7] was introduced in 1991 as a better alternative to Stdio. In particular, the Sfio data formatting functions outperformed their Stdio counterparts due to faster integer and floating point value conversion algorithms. Although these early Sfio formatting functions addressed the mentioned portability ....

David G. Korn and Kiem-Phong Vo. SFIO: Safe/Fast String/File IO. In Proc. of the Summer '91 Usenix Conference, pages 235--256. USENIX, 1991.


Dynamic Storage Allocation: A Survey and Critical Review - Wilson, Johnstone, Neely.. (1995)   (104 citations)  (Correct)

....pointer (offset) to the beginning of the next block. This avoids the need to store a separate link field, making the minimum object size quite small. We ve never seen this technique described, but would be surprised if it hasn t been used before, perhaps in some of the allocators described in [KV85] If used straightforwardly, such a system is likely to scale very poorly, because live blocks must be traversed during search, but this technique might be useful in combination with some In experiments with both real and synthetic traces, it appears that address ordered first fit may cause ....

....same block again. Worse, it may affect the locality of the program it allocates for, by scattering objects used by certain phases and intermingling them with objects used by other phases. In several experiments using both real traces [WJNB95] and synthetic traces (e.g. Bay77, Wei76, Pag84, KV85] next fit has been shown to cause more other indexing structure. 60 This has also been observed by Ivor Page [Pag82] in randomized simulations, and similar (but possibly weaker) observations were made by Knuth and Shore and others in the late 1960 s and 1970 s. Section 4. 31 fragmentation ....

[Article contains additional citation context not shown here]

David G. Korn and Kiem-Phong Vo. In search of a better malloc. In Proc. USENIX Summer 1985, pages 489--506, Portland, Oregon, June 1985. USENIX Association.


A Framework for Storage Management Evaluation in.. - Humphries, Wolf, Zorn (1997)   (1 citation)  (Correct)

....version of the database application results. 2.1 Related Work Researchers in the area of memory storage management have effectively used the tracedriven approach to instrument systems for performance evaluation. This approach has been used in the studies of malloc algorithms such as in [DDZ 94, KV 85] In order to capture various types of information about the behavior of a program or system, several trace formats have been developed. In the area of database systems, the MaStA I O trace format [SCM 95] was developed to capture information necessary for performance evaluation of I O costs. ....

David G. Korn and Kiem-Phong Vo, In Search of a Better Malloc, Proceedings of the Summer 1985 USENIX Conference, pages 489-506, 1985.


The Slab Allocator: An Object-Caching Kernel Memory Allocator - Bonwick (1994)   (18 citations)  (Correct)

....the arena are somewhat striking: 1) Reclaiming unused memory is trivial. When the slab reference count goes to zero the associated pages can be returned to the VM system. Thus a simple reference count replaces the complex trees, bitmaps, and coalescing algorithms found in most other allocators [Knuth68, Korn85, Standish80]. 2) Allocating and freeing memory are fast, constant time operations. All we have to do is move an object to or from a freelist and update a reference count. 3) Severe external fragmentation (unused buffers on the freelist) is unlikely. Over time, many allocators develop an accumulation of ....

David G. Korn and Kiem-Phong Vo, In Search of a Better Malloc. Proceedings of the Summer 1985 Usenix Conference, pp. 489-506.


Cdt: A Container Data Type Library - Vo (1997)   (3 citations)  (Correct)

....3 presents a performance study showing that Cdt outperforms other common container packages and gives examples of performance tuning using the flexible Cdt interface. Section 4 summarizes and discusses the results. 2 The Cdt library The Cdt interface follows a method and discipline architecture [9, 10, 11] . Briefly, a library in this architecture provides: ffl A handle type to hold resources; ffl A set of abstract operations on handles and resources; ffl A set of methods, each of which encapsulates the semantics and performance characteristics of a particular implementation of operations; and ....

....omitted from Figure 2 are a few inessential grammatical statements and the function readtoken( to parse the input stream into tokens. 2.1 Dictionary data types and operations Lines 1 16 of Figure 2 show how the application imports and defines data types and functions. The header file sfio.h [9] is included for I O functions. The Cdt header file cdt.h declares dictionary data types, values and functions. For example, it defines Dt t, the type of dictionary handles, Dtdisc t, the type for disciplines (Section 2.3) and Dtmethod t, the type for methods (Section 2.2) cdt.h also defines ....

David G. Korn and Kiem-Phong Vo. SFIO: Safe/Fast String/File IO. In Proc. of the Summer '91 Usenix Conference, pages 235--256. USENIX, 1991.


Cdt: A General and Efficient Container Data Type Library - Kiem-Phong Vo   (Correct)

....no separate iterator types [6] needed. Cdt uses splay trees for ordered sets and multisets, hash tables with move to front collision chains for unordered sets and multisets, and doubly linked lists for stacks, queues, and lists. The overall interface follows a method and discipline architecture [4, 11, 12]. Briefly, a library in this architecture provides handles and operations to hold and manipulate resource, methods to parameterize the semantics and performance characteristics of operations, and a discipline structure type that applications can use to define resource attributes and acquisition. ....

....= readtoken(sfstdin) 23. if( tk = dtmatch(dt,s) 24. tk freq = 1; 25. else dtinsert(dt,newtoken(s) 26. 27. for(tk = dtfirst(dt) tk; 28. tk = dtnext(dt,tk) 29. sfprintf(sfstdout, s: t d n , 30. tk str, tk freq) 31. Figure 2: Program to count tokens 1 2: The header file sfio.h [4] declares I O functions. cdt.h is the Cdt public header file and declares necessary types, values and functions. 3 7: Token t is a structure to hold a string token and a frequency count freq. It also embeds the container holder structure in the link field. 8 9: The discipline Tkdisc describes ....

David G. Korn and Kiem-Phong Vo. SFIO: Safe/Fast String/File IO. In Proc. of the Summer '91 Usenix Conference, pages 235--256. USENIX, 1991.


Evaluating Models of Memory Allocation - Zorn, Grunwald (1992)   (6 citations)  (Correct)

....was chosen as a uniformly distributed value over an arbitrary interval. Knuth also varied the distribution of object sizes, including two uniform distributions and one weighted distribution. In his experiments, object interarrival time was assumed to be one time unit. In a later paper, Korn and Vo [10] make similar simplifying assumptions in performing an extensive evaluation of eleven different DMM algorithms. Their model, based on Knuth s, generated sizes and lifetimes uniformly over an arbitrary interval. Their investigation varied the average size and lifetime of objects and observed the ....

....model is intentionally very simple, and we originally viewed it as a small but obviously inaccurate model. Experience has shown that our preconceptions were wrong. Another reason this model was chosen is that some variant of it has been used in several performance studies of allocation algorithms [9, 10, 14]. Given the sample allocation trace above, this model computes: mean size = 2 words, mean IAT = 1.6 ticks, and mean HT = 4.5 ticks. An obvious variant of this model is to record the mean and variance of each observed distribution, and generate samples from three normal distributions 4 based on ....

David G. Korn and Kiem-Phong Vo. In search of a better malloc. In Proceedings of the Summer 1985 USENIX Conference, pages 489--506, 1985.


An Analysis of the Effects of Memory Allocation Policy on Storage.. - Neely (1996)   (2 citations)  (Correct)

....successful, the request can be satisfied from the new memory. Then there is a choice in satisfying subsequent requests of whether to start searching in the old heap area or in the new heap area. An allocator using the wilderness preservation heuristic always starts the search in the old heap area [11]. The idea is to save the largest block of free memory until last in order to prevent fragmentation. This is similar to the strategy implemented by a best fit allocator avoid breaking up large blocks if a smaller one is available. In fact, our implementation of best fit and first fit allocators ....

David G. Korn and Kiem-Phong Vo. In search of a better malloc. In Proc. USENIX Summer 1985, pages 489--506, Portland, Oregon, June 1985. USENIX Association.


An Architecture for Reusable Libraries - Vo (1998)   (Correct)

....resource requirements and management. For the past few years, my colleagues and I have been writing reusable libraries [4] to deal with various aspects of computing, including IO, memory allocation, data compression, and container data types. Some of these libraries, such as Vmalloc, Sfio and Cdt [26, 14, 27], are used world wide in well known applications such as the Korn shell [12] the UWIN [13] environment, and the Perl [29] language. The libraries share some common characteristics: ffl Each library provides a parsimonious and general interface that solves a range of problems traditionally ....

David G. Korn and Kiem-Phong Vo. SFIO: Safe/Fast String/File IO. In Proc. of the Summer '91 Usenix Conference, pages 235--256. USENIX, 1991.


Improving the Cache Locality of Memory Allocation - Grunwald, Zorn, Henderson (1993)   (33 citations)  (Correct)

....features of memory allocators that are both fast and have high reference locality. 2 Previous Work 2.1 Memory Allocation Algorithms General purpose algorithms for dynamic storage allocation have been proposed, analyzed and tuned for many years. Knuth [13] Bozman et al. [3] and Korn and Vo [14] all carefully describe and evaluate various allocation strategies and implementations. Traditionally, these algorithms have sought to minimize CPU overhead and reduce total memory usage. Standish [22] divides algorithms for dynamic storage allocation into three broad categories: sequential fit ....

David G. Korn and Kiem-Phong Vo. In search of a better malloc. In Proceedings of the Summer 1985 USENIX Conference, pages 489--506, 1985.


The Measured Cost of Conservative Garbage Collection - Zorn (1992)   (48 citations)  (Correct)

....a better best fit approach may in fact increase fragmentation due to the algorithm s tendency to increase the occurrence of very small blocks. Empirical comparisons by Korn and Vo, however, suggest that the memory overhead of the Stephenson algorithm is close to that of best fit algorithms [18]. Kingsley s Powers of Two Buddy Algorithm As an alternative to a more conventional first fit algorithm, Chris Kingsley implemented a very fast buddy algorithm that was distributed with the 4.2 BSD Unix release [16] Kingsley s algorithm allocates objects in a limited number of different size ....

.... compares the expected overhead of a mark and sweep algorithm, and concludes that under the best circumstances, garbage collection can be competitive with the other algorithms (an observation confirmed here) A more recent comparison of explicit management algorithms was conducted by Korn and Vo [18]. They implemented and tested 11 different storage management algorithms, including a doubly linked first fit algorithm, the BSD malloc and the Stephenson Cartesian tree algorithm. Their results indicate that the BSD buddy algorithm consistently used the most space and the least time of all the ....

David G. Korn and Kiem-Phong Vo. In search of a better malloc. In Proceedings of the Summer 1985 USENIX Conference, pages 489--506, 1985.


Memory Allocation Costs in Large C and C++ Programs - Detlefs, Dosser, Zorn (1993)   (18 citations)  (Correct)

No context found.

David G. Korn and Kiem-Phong Vo. In search of a better malloc. In Proceedings of the Summer 1985 USENIX Conference, pages 489--506, 1985.

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