ACM Computing Surveys (CSUR)
Automatic segmentation of cyclic program structures based on connectivity and processor timing
Communications of the ACM
Sorting in a paging environment
Communications of the ACM
Organizing matrices and matrix operations for paged memory systems
Communications of the ACM
The working set model for program behavior
Communications of the ACM
Operating system principles
A tool for automatic program restructuring
ACM '73 Proceedings of the ACM annual conference
ACM '66 Proceedings of the 1966 21st national conference
A study of the effect of user program optimization in a paging system
SOSP '67 Proceedings of the first ACM symposium on Operating System Principles
Static grouping of small objects to enhance performance of a paged virtual memory
ACM Transactions on Computer Systems (TOCS)
Performance measurement of paging behavior in multiprogramming systems
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
An Analysis of Some Problems in Managing Virtual Memory Systems with Fast Secondary Storage Devices
IEEE Transactions on Software Engineering
Efficient Branch-and-Bound Algorithms on a Two-Level Memory System
IEEE Transactions on Software Engineering
Compile-Time Program Restructuring in Multiprogrammed Virtual Memory Systems
IEEE Transactions on Software Engineering
A structured approach to program optimization
IEEE Transactions on Software Engineering
Program optimization for instruction caches
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
Achieving high instruction cache performance with an optimizing compiler
ISCA '89 Proceedings of the 16th annual international symposium on Computer architecture
Profile guided code positioning
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Effective “static-graph” reorganization to improve locality in garbage-collected systems
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Ordering functions for improving memory reference locality in a shared memory multiprocessor system
MICRO 25 Proceedings of the 25th annual international symposium on Microarchitecture
Reducing branch costs via branch alignment
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
SPAID: software prefetching in pointer- and call-intensive environments
Proceedings of the 28th annual international symposium on Microarchitecture
A Hypergraph Framework for Optimal Model-Based Decomposition ofDesign Problems
Computational Optimization and Applications
Performance Analysis of Cache Memories
Journal of the ACM (JACM)
Procedure placement using temporal-ordering information
ACM Transactions on Programming Languages and Systems (TOPLAS)
Characteristics of program localities
Communications of the ACM
Code layout optimizations for transaction processing workloads
ISCA '01 Proceedings of the 28th annual international symposium on Computer architecture
Managing Locality Sets: The Model and Fixed-Size Buffers
IEEE Transactions on Computers
Bibliography on paging and related topics
ACM SIGOPS Operating Systems Review
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Paging on an object-oriented personal computer
SIGMETRICS '83 Proceedings of the 1983 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Methodology and empirical results of program behaviour measurements
PERFORMANCE '80 Proceedings of the 1980 international symposium on Computer performance modelling, measurement and evaluation
Program restructuring for block structured languages
PERFORMANCE '80 Proceedings of the 1980 international symposium on Computer performance modelling, measurement and evaluation
A study of program locality and lifetime functions
SOSP '75 Proceedings of the fifth ACM symposium on Operating systems principles
Metric (Extended Abstract): A kernel instrumentation system for distributed environments
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Automatic and general solution to the adaptation of programs in a paging environment
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Effect of program localities on memory management strategies
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Applying program restructuring to dataflow environments
SAC '86 Proceedings of the 1986 workshop on Applied computing
An experiment in program restructuring for performance enhancement
ICSE '76 Proceedings of the 2nd international conference on Software engineering
A measure of program locality and its application
SIGMETRICS '84 Proceedings of the 1984 ACM SIGMETRICS conference on Measurement and modeling of computer systems
A simple reference string sampling method
ACM '80 Proceedings of the ACM 1980 annual conference
Profile guided code positioning
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Profile-directed restructuring of operating system code
IBM Systems Journal
Linux Kernel Compaction through Cold Code Swapping
Transactions on High-Performance Embedded Architectures and Compilers II
Tailoring programs to models of program behavior
IBM Journal of Research and Development
Studying microarchitectural structures with object code reordering
Proceedings of the Workshop on Binary Instrumentation and Applications
Parallel developments in programming languages and operating systems
Computer Languages
Hi-index | 48.24 |
A new approach to program locality improvement via restructuring is described. The method is particularly suited to those systems where primary memory is managed according to a working set strategy. It is based on the concept of critical working set, a working set which does not contain the next memory reference. The data the method operates upon are extracted from a trace of the program to be restructured. It is shown that, except in some special cases, the method is not optimum. However, the experimental results obtained by using the method to restructure an interactive text editor and the file system module of an operating system have shown its substantial superiority over the other methods proposed in the literature.