3 research outputs found
Recommended from our members
Psi: A Silicon Compiler for Very Fast Protocol Processing
Conventional protocols implementations typically fall short, by a few orders of magnitude, of supporting the speeds afforded by high-speed optical transmission media. This protocol processing bottleneck is a key hurdle in taking advantage of the opportunities presented by high-speed communications. This paper describes PSi, a silicon compiler that transforms formal protocol specifications into efficient VLSI implementations. PSi takes advantage of the parallelisms intrinsic to a given protocol to accomplish very high-speed implementations. Initial application of PSi to the IEEE 802.2 (logical link control) leads to processing rates in the order of 106 packets per second (p/s). The 802.2 was selected as a benchmark of complexity; light-weight protocols can accomplish even higher processing rates, reaching the limits set by chip clock rates (i.e., a packet per cycle). These speeds significantly exceed typical of software implementations (up to a few hundred p/s) or special hardware-assisted implementations (up to a few thousands p/s). More importantly, at these rates when the packet size is 103-4 bits the protocol throughput of 109-10 bits/sec reaches the limiting throughput afforded by memory technology. Thus, the protocol processing bottleneck is pushed to the ultimate bounds set by VLSI technologies
Improving the performance of distributed multi-agent based simulation
This research investigates approaches to improve the performance of multi-agent
based simulation (MABS) applications executed in distributed computing
environments. MABS is a type of micro-level simulation used to study dynamic
systems consisting of interacting entities, and in some cases, the number of
the simulated entities can be very large. Most of the existing publicly
available MABS tools are single-threaded desktop applications that are not
suited for distributed execution. For this reason, general-purpose multi-agent
platforms with multi-threading support are sometimes used for deploying MABS on
distributed resources. However, these platforms do not scale well for large
simulations due to huge communication overheads. In this research, different
strategies to deploy large scale MABS in distributed environments are explored,
e.g., tuning existing multi-agent platforms, porting single-threaded MABS tools
to distributed environment, and implementing a service oriented architecture
(SOA) deployment model.
Although the factors affecting the performance of distributed applications are
well known, the relative significance of the factors is dependent on the
architecture of the application and the behaviour of the execution environment.
We developed mathematical performance models to understand the influence of
these factors and, to analyze the execution characteristics of MABS. These
performance models are then used to formulate algorithms for resource
management and application tuning decisions.
The most important performance improvement solutions achieved in this thesis
include: predictive estimation of optimal resource requirements, heuristics for
generation of agent reallocation to reduce communication overhead and, an
optimistic synchronization algorithm to minimize time management overhead.
Additional application tuning techniques such as agent directory caching and
message aggregations for fine-grained simulations are also proposed. These
solutions were experimentally validated in different types of distributed
computing environments.
Another contribution of this research is that all improvement measures proposed
in this work are implemented on the application level. It is often the case
that the improvement measures should not affect the configuration of the
computing and communication resources on which the application runs. Such
application level optimizations are useful for application developers and users
who have limited access to remote resources and lack authorization to carry out
resource level optimizations