Supporting dynamic data structures on distributed-memory machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Performance Evaluation of Complex Systems: Techniques and Tools, Performance 2002, Tutorial Lectures
Software prefetching for mark-sweep garbage collection: hardware analysis and software redesign
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Automatic pool allocation: improving performance by controlling data structure layout in the heap
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Transparent pointer compression for linked data structures
Proceedings of the 2005 workshop on Memory system performance
Research ethics and computer science: an unconsummated marriage
SIGDOC '06 Proceedings of the 24th annual ACM international conference on Design of communication
IEEE Transactions on Computers
Heap analysis in the presence of collection libraries
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
MPADS: memory-pooling-assisted data splitting
Proceedings of the 7th international symposium on Memory management
Sharing analysis of arrays, collections, and recursive structures
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Hybrid analytical modeling of pending cache hits, data prefetching, and MSHRs
Proceedings of the 41st annual IEEE/ACM International Symposium on Microarchitecture
Cache index-aware memory allocation
Proceedings of the international symposium on Memory management
Hybrid analytical modeling of pending cache hits, data prefetching, and MSHRs
ACM Transactions on Architecture and Code Optimization (TACO)
Hardware performance monitoring for the rest of us: a position and survey
NPC'11 Proceedings of the 8th IFIP international conference on Network and parallel computing
Hi-index | 0.00 |
In the past couple of years, a number of software and architectural techniques have been proposed for improving the performance of linked data structrues. These research ideas are often evaluated using the Olden benchmark suite [1]. Frequently, in such experients, the largest speed-up is attained for the benchmark called health. This article demonstrates that this benchmark is a micro-benchmark for enormous linked lists traversals, and not a good one at that. Given that linked lists of such size are not an efficient data structure, it is unlikely that this benchmark corresponds to any real program. Hence the benchmark should not be used. To demonstrate the inherent inefficiency in its use of linked data structures, the health program was modified algorithmically to generate the same output, while improving the execution time by over a factor of 200 on a 500Mhz Pentium II Xeon.