110 likes | 209 Views
Performance Characterization of the Pentium III using Web Workloads. http://www.cs.cmu.edu/~bianca/architecture/project.html. Shuchi Chawla Rose Hoberman Bianca Schroeder. Experimental Setup. Hardware, OS etc.. P-III 700MHz processor – 256MB RAM, 256KB L2, 32KB L1 Linux operating system
E N D
Performance Characterization of the Pentium III using Web Workloads http://www.cs.cmu.edu/~bianca/architecture/project.html Shuchi Chawla Rose Hoberman Bianca Schroeder
Experimental Setup • Hardware, OS etc.. • P-III 700MHz processor – 256MB RAM, 256KB L2, 32KB L1 • Linux operating system • Network with 10Mbps links • Web servers – Apache & Flash • Workloads • Internet trace • Static requests • Heavy tailed traffic • To vary loads, we change the inter-arrival time
Commercial grade, freely available source code Multi-threaded server A new process handles every incoming request High performance research server SPED architecture Single process handles all requests Processes spawned on disk accesses An overview of Apache and Flash APACHE FLASH
Some things we measured.. • General performance • Average cycles per instruction (CPI) • %age of instructions issued that were completed • Cache performance • %age of instruction cache misses for L1 & L2 • %age of data cache misses for L1 & L2 • Performance of Branch Prediction Hardware
General performance • On most performance measures, web servers compared as follows with other apps: SPECint > Databases > Apache > Flash • CPI for different apps
Branch mispredictions • Modern architectures achieve over 90% accuracy on benchmarks • Web servers are much worse! • Possible reasons • Non-looping branches • Depend on unpredictable network events • Apache does error checking • Apache: only 80% taken Flash: 69%
Branch misprediction: Effects • Worse for the system if more conditional branches • Only about 74% instructions completed in Apache: the rest are issued but cancelled due to misprediction (62% for Flash) • Effects CPI adversely (refer to slide 5)
Data Cache performance • L1 data misses are low • L2 – pretty bad • Servers maintain frequently accessed tables in L1 • Workloads have many small and a few large files • Small files fit into L1 • Large files don’t fit into even L2
Instruction Cache Performance • Instruction misses have a greater impact on performance • Greater miss penalty • # instruction accesses is more than # data accesses • Performance od L1 is fairly good • L2 performance is again poor
The effect of Workload • We created an increase in workload from generating requests faster • Observations: • Data cache misses decrease!! • Instruction cache misses stay the same • We should try out even larger work loads to get an accurate diagnosis
Future Work • Experiment with larger workloads requiring disk access • Serving data at higher rates >10Mbps • Dynamic requests – using CGI scripts • How do results change with optimized executables?