Person:
Ammar, Mostafa H.

Associated Organization(s)
Organizational Unit
ORCID
ArchiveSpace Name Record

Publication Search Results

Now showing 1 - 10 of 11
  • Item
    Space–Parallel Network Simulations Using Ghosts
    (Georgia Institute of Technology, 2004-05) Riley, George F. ; Jaafar, Talal Mohamed ; Fujimoto, Richard M. ; Ammar, Mostafa H.
    We discuss an approach for creating a federated network simulation that eases the burdens on the simulator user that typically arise from more traditional methods for defining space-parallel simulations. Previous approaches have difficulties that arise from the need for global topology knowledge when forwarding simulated packets between the federates. In all but the simplest cases, proper packet forwarding decisions between federates requires routing tables of size O(mn) (m is the number of nodes modeled in a particular simulator instance, and n is the total number of network nodes in the entire topology) in order to determine how packets should be routed between federates. Further, the benefits of the well-known NIx-Vector routing approach cannot be fully achieved without global knowledge of the overall topology. We seek to overcome these difficulties by utilizing a topology partitioning methodology that uses Ghost Nodes. A ghost node is a simulator object in a federate that represents a simulated network node that is spatially assigned to some other federate, and thus that other federate is responsible for maintaining all state associated with the node. However, ghost nodes do retain topology connectivity information with other nodes, allowing all federate in a space-parallel simulation to obtain a global picture of the network topology. We show with experimental results that the memory overhead associated with the ghosts is minimal relative to the overall memory footprint of the simulation.
  • Item
    Enabling Large-Scale Multicast Simulation by Reducing Memory Requirements
    (Georgia Institute of Technology, 2003-06) Xu, Donghua ; Riley, George F. ; Ammar, Mostafa H. ; Fujimoto, Richard M.
    The simulation of large–scale multicast networks often requires a significant amount of memory that can easily exceed the capacity of current computers, both because of the inherently large amount of state necessary to simulate message routing and because of design oversights in the multicast portion of existing simulators. In this paper we describe three approaches to substantially reduce the memory required by multicast simulations: 1) We introduce a novel technique called “negative forwarding table” to compress mutlicast routing state. 2) We aggregate the routing state objects from one replicator per router per group per source to one replicator per router. 3) We employ the NIx– Vector technique to replace the original unicast IP routing table. We implemented these techniques in the ns2 simulator to demonstrate their effectiveness. Our experiments show that these techniques enable packet level multicast simulations on a scale that was previously unachievable on modern workstations using ns2.
  • Item
    Bootstrapping in Gnutella: A Preliminary Measurement Study
    (Georgia Institute of Technology, 2003) Ammar, Mostafa H. ; Dhamdhere, Amogh Dhananjay ; Raj, Himanshu ; Riley, George F. ; Zegura, Ellen W. ; Karbhari, Pradnya
    To join an unstructured peer-to-peer network like Gnutella, peers have to execute a bootstrapping function in which they discover other on-line peers and connect to them. Until this bootstrapping step is complete, a peer cannot participate in file sharing activities. Once bootstrapping is complete, a peer’s experience is strongly influenced by the choice of neighbor peers resulting from the bootstrapping step. Despite its importance, there has been very little attention devoted to understanding the behavior of this bootstrapping function. In this paper, we study the bootstrapping process of a peer in the Gnutella network. This is a preliminary investigation, consisting of 1) an analysis and performance comparison of bootstrapping algorithms of four Gnutella servent implementations, 2) a measurement-based characterization of the global Gnutella Web Caching System (GWebCaches), a primary component of the current bootstrapping functions, and 3) a study of the behavior and experience of a single GWebCache that was setup locally and made part of the global caching infrastructure. Our study highlights the importance of understanding the performance of the bootstrapping function as an integral part of a peer-to-peer system. We find that 1) there is considerable variation among various servent implementations that correlates to their bootstrapping performance, 2) even though the GWebCache system is designed to operate as a truly distributed system in keeping with the peer-to-peer system philosophy, it actually operates more like a centralized infrastructure function, and 3) the GWebCache system is subject to misreporting of peer and cache availability due to stale data and absence of validity checks.
  • Item
    Exploiting the Predictability of TCP’s Steady-state Behavior to Speed Up Network Simulation
    (Georgia Institute of Technology, 2002-10) He, Qi ; Ammar, Mostafa H. ; Riley, George F. ; Fujimoto, Richard M.
    In discrete-event network simulation, a significant portion of resources and computation are dedicated to the creation and processing of packet transmission events. For large-scale network simulations with a large number of high-speed data flows, the processing of packet events is the most time consuming aspect of the simulation. In this work we develop a technique that saves on the processing of packet events for TCP flows using the well established results showing that the average behavior of a TCP flow is predictable given a steady-state path condition. We exploit this to predict the average behavior of a TCP flow over a future period of time where steady-state conditions hold, thus allowing for a reduction (or elimination) of the processing required for packet events during this period. We consider two approaches to predicting TCP’s steady-state behavior: using throughput formulas or by direct monitoring of a flow’s throughput in a simulation. We design a simulation framework that provides the flexibility to incorporate this method of simulating TCP packet flows. Our goal is 1) to accommodate different network configurations, on/off flow behaviors and interaction between predicted flows and packet-based flows; and 2) to preserve the statistical behavior of every entity in the system, from hosts to routers to links, so as to maintain the accuracy of the network simulation as a whole. In order to illustrate the promise of this idea we implement it in the context of the ns2 simulation system. A set of experiments illustrate the speedup and approximation of the simulation framework under different scenarios and for different network performance metrics.
  • Item
    Distributed Network Simulations Using the Dynamic Simulation Backplane
    (Georgia Institute of Technology, 2001-04) Riley, George F. ; Ammar, Mostafa H. ; Fujimoto, Richard M. ; Xu, Donghua ; Perumalla, Kalyan S.
    Presents an approach for creating distributed, component-based simulations of communication networks by interconnecting models of sub-networks drawn from different network simulation packages. This approach supports the rapid construction of simulations for large networks by reusing existing models and software, and fast execution using parallel discrete event simulation techniques. A dynamic simulation backplane is proposed that provides a common format and protocol for message exchange, and services for transmitting data and synchronizing heterogeneous network simulation engines. In order to achieve plug-and-play interoperability, the backplane uses existing network communication standards and dynamically negotiates among the participant simulators to define a minimal subset of required information that each simulator must supply, as well as other optional information. The backplane then automatically creates a message format that can be understood by all participating simulators and dynamically creates the content of each message by using callbacks to the simulation engines. We describe our approach to interoperability as well as an implementation of the backplane. We present results that demonstrate the proper operation of the backplane by distributing a network simulation between two different simulation packages, ns2 and GloMoSim. Performance results show that the overhead for the creation of the dynamic messages is minimal. Although this work is specific to network simulations, we believe our methodology and approach can be used to achieve interoperability in other distributed computing applications as well.
  • Item
    Split Protocol Stack Network Simulations Using the Dynamic Simulation Backplane
    (Georgia Institute of Technology, 2001) Xu, Donghua ; Riley, George F. ; Ammar, Mostafa H. ; Fujimoto, Richard M.
    We introduce and discuss a methodology for heterogeneous simulations of computer networks using the dynamic simulation backplane. This methodology allows for exchanging of protocol information between simulators across layers of the protocol stack. For example, the simulationist may wish to construct a simulation using the rich set of TCP models found in the ns network simulator, and at the same time using the highly detailed wireless MAC models found in the GloMoSim simulator. The backplane provides an interface between heterogeneous simulators which allows these simulators to exchange meaningful information across layers of the protocol stack, without detailed knowledge of internal representation in the foreign simulator. With this method of heterogeneous simulation, new and experimental protocols can be validated and tested in conjunction with existing and accepted simulations of lower protocol layers. We discuss the particular problems presented by the split protocol stack model, and present our solutions. We give results of our implementation of the split protocol backplane, using the ns simulator for the higher protocol stack layers, and the GloMoSim simulator for the lower layers.
  • Item
    Efficient Routing Using NIx-Vectors
    (Georgia Institute of Technology, 2001) Riley, George F. ; Ammar, Mostafa H. ; Zegura, Ellen W.
    We introduce the concept of Neighbor-Index Vector (NIx-Vector) routing which gives efficient and consistent routing of packets in Internet routers. A NIx-Vector is a compact representation of a routing path, which is small enough to be included in a packet header. We show how, by including the routing information in the packet header, routing decisions can be made in O(1) time at each router, with no caching or state in the routers (other than the existing routing tables). The creation of a NIx-Vector for a source and destination pair requires one round trip time, but once the NIx-Vector is known, it can be retained by the source and reused indefinitely with no further setup time required (or until it becomes no longer valid, which is easily detected). In addition to O(1) routing decisions, the use of NIx-Vectors to record and specify routes has other benefits. NIx-Vectors provide for route pinning which is beneficial for reservation protocols and mitigates the effect of routing flaps on long lived flows. A variation of NIx-Vectors can insure symmetrical routes from a source to a destination and back to the source, which is also beneficial to some reservation protocols. We give a complete description of how NIx-Vectors are created and used in Internet routers; and give empirical data showing the number of bits required to represent NIx-Vectors for typical Internet paths
  • Item
    Network Aware Time Management and Event Distribution
    (Georgia Institute of Technology, 2000-05) Riley, George F. ; Fujimoto, Richard M. ; Ammar, Mostafa H.
    In this paper we discuss new synchronization algorithms for Parallel and Distributed Discrete Event Simulations (PDES) which exploit the capabilities and behavior of the underlying communications network. Previous work in this area has assumed the network to be a Black Box which provides a one-to-one, reliable and in-order message passing paradigm. In our work, we utilize the Broadcast capability of the ubiquitous Ethernet for synchronization computations, and both unreliable and reliable protocols for message passing, to achieve more efficient communications between the participating systems. We describe two new algorithms for computation of a distributed snapshot of global reduction operations on monotonically increasing values. The algorithms require O(N) messages (where N is the num- ber of systems participating in the snapshot) in the normal case. We specifically target the use of this algorithm for distributed discrete event simulations to determine a global lower bound on time-stamp (LBTS), but expect the algorithm has applicability outside the simulation community.
  • Item
    Stateless Routing in Network Simulations
    (Georgia Institute of Technology, 2000) Riley, George F. ; Ammar, Mostafa H. ; Fujimoto, Richard M.
    The memory resources required by network simulations can grow quadratically with size of the simulated network. In simulations that use routing tables at each node to perform per-hop packet forwarding, the storage required for the routing tables is O(N2), where N is the number of simulated network nodes in the topology. Additionally, the CPU time required in the simulation environment to compute and populate these routing tables can be excessive and can dominate the overall simulation tame. We propose a new routing technique, known as Neighbor-Index Vectors, or NIx-Vectors, which eliminates both the storage required for the routing tables and the CPU time required to compute them. We show experimental results using NIx- Vector routing in the popular network simulator ns. With our technique, we achieve a near order of magnitude increase in the maximum size of a simulated network running ns on a single workstation. Further, we demonstate an increase of two orders of magnitude in topology size (networks as large as 250,000 nodes) by using this technique and running the simulation in parallel on a network of workstations.
  • Item
    Efficient Routing using NIx-Vectors
    (Georgia Institute of Technology, 2000) Ammar, Mostafa H. ; Zegura, Ellen W. ; Riley, George F.
    We introduce the concept if NIx-Vector routing which gives efficient and consistent routing of packets in Internet routers. A NIx-Vector is a compact representation of a routing path, which is small enough to be included in a packet header. We show how, by including the routing information in the packet header, routing decisions can be made in O(1) time at each router, with no caching or state in the routers (other than the existing routing tables). The creation of a NIx-Vector for a source and a destination pair requires one round trip time, but once the NIx-Vector is known, it can be retained by the source and reused indefinitely with no further setup time required (or until it becomes no longer valid, which is easily detected.) In addition to O(1) routing decisions, the use of NIx-Vectors to record and specify routes has other benefits. NIx-Vectors provide for route pinning, which is beneficial for reservation protocols and mitigates the effect of routing flaps on long lived flows. A variation of NIx-Vectors can insure symmetrical routes from a source to a destination and back to the source, which is also beneficial to some reservation protocols. Another variation of NIx-Vectors can insure that all packets from the same flow take the same path, even in the presence of redundant paths or links, which will reduce the frequency of pack misordering. Finally, the NIx-Vector concept can be combined with probabilistic packet market to allow for the reconstruction of a complete routing path for packets of unknown origin, which is useful in determining the source of denial of service security attacks. We give a complete description of how NIx-Vectors are created and used, and describe an end-to-end protocol for managing NIx-Vectors. We give empirical data showing the number of bits required to represent NIx-Vectors for typical Internet paths. We give a proposed IPv4 option which will allow for a simple implementation.