2005 · 26 citations · 0 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureExperimental PerformanceParallel ComputingCache Behavior AnalysisInstruction Set ArchitectureMemory HierarchyMemory Hierarchy DesignMemory Hierarchy OptimizationCache OptimizationCache Size OptimizationData Cache BehaviorMemory Hierarchy PerformanceMemory ScalingPage Size OptimizationPerformance Bottleneck DetectionTranslation Lookaside Buffers
As computer system main memories get larger and processor cycles-per-instruction (CPIs) get smaller, the time spent in handling translation lookaside buffer (TLB) misses could become a performance bottleneck. We explore relieving this bottleneck by (a) increasing the page size and (b) supporting two page sizes. We discuss how to build a TLB to support two page sizes and examine both alternatives experimentally with a dozen uniprogrammed, user-mode traces for the SPARC architecture. Our results show that increasing the page size to 32KB causes both a significant increase in average working set size (e.g., 60%) and a significant reduction in the TLB's contribution to CPI, CPI/sub TLB/, (namely a factor of eight) compared to using 4KB pages. Results for using two page sizes, 4KB and 32KB pages, on the other hand, show a small increase in working set size (about 10%) and variable decrease in CPI/sub TLB/, (from negligible to as good as found with the 32KB page size). CPI/sub TLB/ when using two page sizes is consistently better for fully associative TLBs than for set-associative ones. Our results are preliminary, however, since (a) our traces do not include multiprogramming or operating system behavior, and (b) our page-size assignment policy may not reflect a real operating system's policy.