Sampling and Stability in TCP/IP Workloads

Sampling and Stability in TCP/IP Workloads

Sampling and Stability in TCP/IP Workloads Lisa R. Hsu, Ali G. Saidi, Nathan L. Binkert, and Steven K. Reinhardt Advanced Computer Architecture Lab Department of Electrical Engineering and Computer Science The University of Michigan Ann Arbor, MI 48109-2122 {hsul, saidi, binkertn, stever}@eecs.umich.edu Abstract direct execution and dynamic code generation, func- tional simulators can execute code only a few times To overcome the performance cost of simulating slower than hardware [11, 4]. detailed timing models, computer architects often aug- A fundamental assumption underlying this tech- ment these models with fast functional simulation for nique is that the system's state does not have any sig- fast-forwarding, checkpointing, warm-up, or sampling. nificant dependence on the system's timing. Otherwise, Our experience with simulating network-intensive the lack of accurate timing in the functional simulation workloads has shown us that researchers must exercise would result in a system state that is unrealistic for the caution when using such techniques in this environ- configuration being studied. While this assumption ment. Because the TCP/IP protocol is self-tuning, the often holds true, it is not axiomatic. In particular, this difference between the effective performance of the assumption does not hold for self-tuning workloads, functional and detailed models can lead to artificial which adapt their behavior to observed system perfor- results. mance. In this study, we examine the effects of applying In this paper, we examine an important class of self- conventional simulation speedup techniques to two tuning workloads—those based on the TCP/IP network networking benchmarks on the M5 simulator. We find protocol—to understand the impact of this timing that short samples taken immediately after switching to dependence on common program sampling techniques. detailed models may capture only the period of time TCP adapts dynamically to the available end-to-end where TCP is tuning itself to the new model. In some bandwidth by varying the number of outstanding pack- situations, the transition is so disruptive that no mean- ets (known as the “window size”) at the sender. When ingful results can be obtained. However, stable simula- the system under test is a bottleneck, as is not uncom- tion results can be attained with detailed simulations of mon, its performance will determine end-to-end band- moderate length in most cases. width. During functional simulation, TCP will set its window size according to the largely meaningless 1. Introduction effective system performance of the functional model, affecting the architectural state of the system (includ- Detailed timing-accurate computer system simula- ing TCP's self-tuned connection parameters and the tors typically run thousands of times more slowly than occupancy of network buffers). Because of these the hardware they model. As a result, simulation of effects, this state is not a realistic state for the system complete runs of realistic workloads is impractical. In being modeled. After switching to the detailed timing practice, architects simulate one or more small samples model, TCP must adjust its window size accordingly of each workload with the assumption that the data col- before an accurate network bandwidth reflecting actual lected during these samples will be representative of system performance is reached. Note that this effect is the workload as a whole. orthogonal to the issue of behavioral variation along A key requirement for this sampling approach is the the time axis of a program. This tuning period exists ability to create the initial system state for a sample regardless of the point at which the switch from func- interval relatively cheaply. These initial states are typi- tional to detailed simulation occurs. cally generated using functional (non-timing) simula- tion.1 Even the most basic functional simulator is typically orders of magnitude faster than detailed tim- 1. Initial states can also be extracted from actual hardware ing simulation. Using advanced techniques such as systems, but this process is complex, expensive, and rarely used outside of industry. 1 We use functional simulation to generate architec- 2. Discussion and Related Work tural checkpoints of TCP/IP-based workloads as well as to warm up cache state in preparation for detailed This section elaborates on the notion of workload simulation and measurement. In both of these cases, timing dependence discussed in the introduction and the effective performance of the simulated system dif- relates this paper to prior work in the area. fers significantly from the performance seen using Single-threaded applications were the first and are detailed timing simulation. We observe that the behav- still the most prevalent type of workload used in archi- ior of networking workloads depends on whether the tecture studies. Because individual threads in isolation connection bandwidth is limited by sender perfor- have deterministic architectural behavior (including mance or by the network or receiver. We will refer to architectural register and memory contents and com- these scenarios as sender limited and receiver limited, mitted instruction order), and because application-only respectively. simulation does not model potentially non-determinis- • In sender-limited situations, instantaneous perfor- tic interactions with the operating system (such as pre- mance changes are unlikely to cause packet loss. emptive scheduling), the architectural behavior of Instantaneous changes to the sender mean immedi- these workloads is completely unaffected by execution ate changes to send rate, since there is no feedback timing. Only these workloads are truly timing indepen- required. Instantaneous changes to the receiver dent. In this case, the architectural state generated by a may yield different results. If the receiver fast functional simulator for a given program point is increases in performance, there would be no guaranteed to be identical to the architectural state of change since sender determines overall perfor- any (correct) detailed timing simulator at the same pro- mance anyway. If the receiver decreases in perfor- gram point. mance, tuning would only be required if the In contrast, multithreaded applications running on receiver’s performance decreased to the point that multiprocessors or dynamically scheduled onto unipro- it became the bottleneck. cessors (e.g., using SMT) are not fully timing indepen- • In receiver-limited situations, instantaneous dent. System timing effects, such as cache hits and increases in sender performance or decreases in misses, will lead to different rates of progress for dif- receiver performance can lead to packet loss that ferent threads, causing variations in the interleaving of may induce unstable behavior. Though TCP will thread execution. These variations can have subtle eventually recover from packet losses, the recov- architectural effects even in deterministically sched- ery may not occur within a window of time that is uled programs, such as the number of iterations a feasible to simulate. thread sits in a spin loop. More commonly, inter-thread The primary contribution of this paper is that it is the synchronizations are not fully deterministic, and timing first, to our knowledge, to identify and describe the variations that, for example, change the order in which issues that arise due to the interaction of self-tuning threads acquire locks may have significant effects. workloads and functional simulation. We also provide Goldschmidt and Hennessy [7] showed that in some a detailed analysis of the impact of functional simula- situations this timing dependence could lead to incor- tion on TCP-based networking workloads. While TCP rect results from trace-driven simulations, and recom- itself is of great practical importance, these issues may mended the (now widespread) use of execution-driven apply to an increasing number of future workloads, as simulation. Alameldeen and Wood [1] showed that this run-time profile-based software optimization becomes dependence can be particularly severe for complex more widespread. Furthermore, many of the recent multiprocessor server workloads on full-system simu- advances in simulation sampling have relied implicitly lation (i.e., including the operating system), where the on workload timing independence; these techniques combination of different processor interleavings can must be revisited and perhaps revised or even dis- lead to different OS scheduling decisions and different carded when analyzing self-tuning workloads. service orders among client transactions. They recom- The next section presents a more detailed discussion mend combining multiple runs randomized using small of workload timing dependence and its impact on sim- perturbations to gain statistical confidence in the simu- ulation techniques, including coverage of related work. lation results. The following sections describe the TCP protocol and Although the timing dependence of these multipro- our simulation environment, respectively. We then cessor workloads is a significant issue, it is qualita- present the results of our experiments, and finally dis- tively distinct from the timing dependence we explore cuss our conclusions and directions for future work. in this paper. In the former case, timing variations can lead the system down different but equally valid archi- 2 tectural execution paths. Specifically, each of the its behavior to the effective observed performance

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us