David M. Nicol

Learn More
The development of techniques for quantitative, model-based evaluation of computer system dependability has a long and rich history. A wide array of model-based evaluation techniques is now available, ranging from combinatorial methods, which are useful for quick, rough-cut analyses, to state-based methods, such as Markov reward models, and detailed,(More)
This paper describes the Scalable Simulation Framework (SSF), a discrete event modeling API designed for the construction and simulation of very large networks. SSF can execute detailed simulations of complex topology networks with a million or more concurrent TCP/IP ows. We describe the overall architecture of SSF, the architecture of the network modeling(More)
This paper analytically studies the performance of a synchronous conservative parallel discrete-event simulation protocol. The class of models considered simulates activity in a physical domain, and possesses a limited ability to predict future behavior. Using a stochastic model, it is shown that as the volume of simulation activity in the model increases(More)
In this paper we introduce a new class of stochastic Petri nets in which one or more places can hold uid rather than discrete tokens. We deene a class of uid stochastic Petri nets in such a way that the discrete and continuous portions may aaect each other. Following this deenition we provide equations for their transient and steady-state behavior. We(More)
The <i>Border Gateway Protocol (BGP)</i> controls inter-domain routing in the Internet. BGP is vulnerable to many attacks, since routers rely on hearsay information from neighbors. <i>Secure BGP (S-BGP)</i> uses DSA to provide route authentication and mitigate many of these risks. However, many performance and deployment issues prevent S-BGP's real-world(More)
Physical systems are inherently parallel; intuition suggests that simulations of these systems may be amenable to parallel execution. The parallel execution of a discrete-event simulation requires careful synchronization of processes in order to ensure the execution's correctness; this synchronization can degrade performance. Largely negative results were(More)