iii In the present computing environment, clients are connected by a local area network or a wide area network to servers, which are built from either an individual machine or a cluster of machines. Current technology trends indicate an widening gap between processor and disk speed, implying that memory needs to be managed more e#ciently in order to support high performance networked servers. This dissertation provides solutions to four important problems in memory management for networked servers: server caching, application data locality, volatile memory and shared memory design tradeo#s. First, this dissertation characterizes the access behavior of server caches, identifies the key properties a good server cache replacement algorithm should have, proposes a new replacement algorithm, and shows that it performs better than all tested alternative algorithms. Second, this dissertation presents a run-time scheduling approach called fine-grained thread scheduling to improve data locality for both sequential and parallel applications. Third, this dissertation introduces a fast, automatic failover approach using e#cient memory mirroring in cluster based servers. Finally, this dissertation investigates the tradeo #s between coherence granularity and coherence protocols for software distributed shared memory systems. The main conclusion of this work is that using innovative methods to manage memory can significantly improve the performance of a fault tolerant networked server. To achieve this requires studying memory system behavior, understanding performance bottlenecks, investigating di#erent approaches, taking advantage of new hardware, and designing new algorithms. iv
|
1137
|
Transaction Processing: Concepts and Techniques
– Gray, Reuter
- 1993
|
|
847
|
Memory coherence in shared virtual memory systems
– Li, Hudak
- 1989
|
|
801
|
How to Make a Multiprocessor Computer that Correctly Executes Multiprocess Programs
– Lamport
- 1979
|
|
645
|
Distributed Operating Systems
– Tanenbaum
- 1995
|
|
537
|
Cache Memories
– Smith
- 1982
|
|
530
|
Implementation and performance of Munin
– Carter, Bennett, et al.
- 1991
|
|
487
|
The cache performance and optimizations of blocked algorithms
– LAM, ROTHBERG, et al.
- 1991
|
|
477
|
TreadMarks: Distributed shared memory on standard workstations and operating systems
– Keleher, Dwarkadas, et al.
- 1994
|
|
387
|
A study of replacement algorithms for virtual storage computers. IBMSystems Journal
– Belady
- 1966
|
|
360
|
The Midway distributed shared memory system
– Bershad, Zekauskas, et al.
- 1993
|
|
333
|
The SGI Origin: A ccNUMA Highly Scalable Server
– Laudon, Lenoski
- 1997
|
|
329
|
A Survey of Rollback-Recovery Protocols in Message-Passing Systems
– Elnozahy, Alvisi, et al.
- 1999
|
|
323
|
Tempest and Typhoon: User-Level Shared Memory
– Reinhardt, Larus, et al.
- 1994
|
|
291
|
High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet
– Pakin, Lauria, et al.
- 1995
|
|
251
|
Strategies for cache and local memory management by global program transformation
– Gannon, Jalby, et al.
- 1988
|
|
240
|
UNIX Disk Access Patterns
– Ruemmler, Wilkes
- 1993
|
|
212
|
The LRU-k Page Replacement Algorithm for Database Disk Buffering
– O’Neil, O’Neil, et al.
- 1993
|
|
209
|
Libckpt: Transparent checkpointing under Unix
– Plank, Beck, et al.
- 1995
|
|
205
|
Operating system support for database management
– Stonebraker
- 1981
|
|
202
|
Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory
– Scales, Gharachorloo, et al.
- 1996
|
|
194
|
Recovery in distributed systems using optimistic message logging and checkpointing
– Johnson, Zwaenepoel
- 1990
|
|
194
|
Evaluation techniques for storage hierarchies
– Mattson, Gecsei, et al.
|
|
188
|
Compiler optimizations for improving data locality
– Carr, McKinley, et al.
- 1994
|
|
174
|
Characterizing reference locality in the WWW
– Almeida, Bestavros, et al.
- 1996
|
|
173
|
The working set model for program behavior
– DENNING
- 1968
|
|
168
|
Tile size selection using cache organization and data layout
– Coleman, McKinley
- 1995
|
|
160
|
Operating Systems Theory
– Coffman, Denning
- 1973
|
|
137
|
Performance evaluation of two home-based lazy release consistency protocols for shared memory virtual memory systems
– Zhou, Iftode, et al.
- 1996
|
|
136
|
Automatic Compiler-Inserted I/O Prefetching for Out-of-Core Applications
– Mowry, Demke, et al.
- 1996
|
|
133
|
Scope consistency: A bridge between release consistency and entry consistency
– Iftode, Singh, et al.
- 1996
|
|
129
|
Data-centric multi-level blocking
– Kodukula, Ahmed, et al.
- 1997
|
|
123
|
Hypervisor-based Fault-tolerance
– Bressoud, Schneider
- 1995
|
|
121
|
Adaptive software cache management for distributed shared memory architectures
– Bennett, Carter, et al.
- 1990
|
|
112
|
A Message System Supporting Fault Tolerance
– Borg, Baumbach, et al.
- 1983
|
|
110
|
Data cache management using frequency-based replacement
– Robinson, Devarakonda
- 1990
|
|
107
|
Analysis of cache invalidation patterns in multiprocessors
– Weber, Gupta
- 1989
|
|
101
|
Input-Output Characteristics of Scalable Parallel Applications
– Crandall, Aydt, et al.
- 1995
|
|
99
|
The Relative Importance of Concurrent Writers and Weak Consistency Models
– Keleher
- 1996
|
|
93
|
Improving Release-Consistent Shared Virtual Memory Using Automatic Update
– Iftode, Dubnicki, et al.
- 1996
|
|
92
|
PUBLISHING: A Reliable Broadcast Communication Mechanism
– Powell, Presotto
- 1983
|
|
91
|
Virtual memory
– Denning
- 1970
|
|
88
|
Multi-level caching in distributed file systems - or - your cache ain’t nuthin’ but trash
– Muntz, Honeyman
- 1992
|
|
88
|
eNVy: A non-volatile, main memory storage system
– WU, ZWAENEPOEL
- 1994
|
|
82
|
SoftFLASH: Analyzing the Performance of Clustered Distributed Virtual Shared Memory
– Erlichson, Nuckolls, et al.
- 1996
|
|
81
|
Amortized eciency of list update and paging rules
– Sleator, E
- 1985
|
|
78
|
Global memory management in client-server DBMS architectures
– Franklin, Carey, et al.
- 1992
|
|
67
|
A pipelined shared resource MIMD computer
– Smith
- 1978
|
|
66
|
Free transactions with Rio Vista
– Lowell, Chen
- 1997
|
|
65
|
Lazy consistency for software distributed shared memory
– KELEHER, COX, et al.
- 1992
|
|
60
|
Application restructuring and performance portability across shared virtual memory and hardwarecoherent multiprocessors
– Jiang, Shan, et al.
- 1997
|