7,920 research outputs found
A cluster based communication architecture for distributed applications in mobile ad hoc networks
Thesis (Master)--Izmir Institute of Technology, Computer Engineering, Izmir, 2006Includes bibliographical references (leaves: 63-69)Text in English; Abstract: Turkish and Englishx, 85 leavesIn this thesis, we aim to design and implement three protocols on a hierarchical architecture to solve the balanced clustering, backbone formation and distributed mutual exclusion problems for mobile ad hoc network(MANET)s. Our ¯rst goal is to cluster the MANET into balanced partitions. Clustering is a widely used approach to ease implemen-tation of various problems such as routing and resource management in MANETs. We propose the Merging Clustering Algorithm(MCA) for clustering in MANETs that merges clusters to form higher level of clusters by increasing their levels. Secondly, we aim to con-struct a directed ring topology across clusterheads which were selected by MCA. Lastly, we implement the distributed mutual exclusion algorithm based on Ricart-Agrawala algo-rithm for MANETs(Mobile RA). Each cluster is represented by a coordinator node on the ring which implements distributed mutual exclusion algorithm on behalf of any member in the cluster it represents. We show the operations of the algorithms, analyze their time and message complexities and provide results in the simulation environment of ns2
On Precoding for Constant K-User MIMO Gaussian Interference Channel with Finite Constellation Inputs
This paper considers linear precoding for constant channel-coefficient
-User MIMO Gaussian Interference Channel (MIMO GIC) where each
transmitter- (Tx-), requires to send independent complex symbols
per channel use that take values from fixed finite constellations with uniform
distribution, to receiver- (Rx-) for . We define the
maximum rate achieved by Tx- using any linear precoder, when the
interference channel-coefficients are zero, as the signal to noise ratio (SNR)
tends to infinity to be the Constellation Constrained Saturation Capacity
(CCSC) for Tx-. We derive a high SNR approximation for the rate achieved by
Tx- when interference is treated as noise and this rate is given by the
mutual information between Tx- and Rx-, denoted as . A set of
necessary and sufficient conditions on the precoders under which
tends to CCSC for Tx- is derived. Interestingly, the precoders designed for
interference alignment (IA) satisfy these necessary and sufficient conditions.
Further, we propose gradient-ascent based algorithms to optimize the sum-rate
achieved by precoding with finite constellation inputs and treating
interference as noise. Simulation study using the proposed algorithms for a
3-user MIMO GIC with two antennas at each node with for all , and
with BPSK and QPSK inputs, show more than 0.1 bits/sec/Hz gain in the ergodic
sum-rate over that yielded by precoders obtained from some known IA algorithms,
at moderate SNRs.Comment: 15 pages, 9 figure
A Template for Implementing Fast Lock-free Trees Using HTM
Algorithms that use hardware transactional memory (HTM) must provide a
software-only fallback path to guarantee progress. The design of the fallback
path can have a profound impact on performance. If the fallback path is allowed
to run concurrently with hardware transactions, then hardware transactions must
be instrumented, adding significant overhead. Otherwise, hardware transactions
must wait for any processes on the fallback path, causing concurrency
bottlenecks, or move to the fallback path. We introduce an approach that
combines the best of both worlds. The key idea is to use three execution paths:
an HTM fast path, an HTM middle path, and a software fallback path, such that
the middle path can run concurrently with each of the other two. The fast path
and fallback path do not run concurrently, so the fast path incurs no
instrumentation overhead. Furthermore, fast path transactions can move to the
middle path instead of waiting or moving to the software path. We demonstrate
our approach by producing an accelerated version of the tree update template of
Brown et al., which can be used to implement fast lock-free data structures
based on down-trees. We used the accelerated template to implement two
lock-free trees: a binary search tree (BST), and an (a,b)-tree (a
generalization of a B-tree). Experiments show that, with 72 concurrent
processes, our accelerated (a,b)-tree performs between 4.0x and 4.2x as many
operations per second as an implementation obtained using the original tree
update template
Assurance of Distributed Algorithms and Systems: Runtime Checking of Safety and Liveness
This paper presents a general framework and methods for complete programming
and checking of distributed algorithms at a high-level, as in pseudocode
languages, but precisely specified and directly executable, as in formal
specification languages and practical programming languages, respectively. The
checking framework, as well as the writing of distributed algorithms and
specification of their safety and liveness properties, use DistAlgo, a
high-level language for distributed algorithms. We give a complete executable
specification of the checking framework, with a complete example algorithm and
example safety and liveness properties.Comment: Small fixes to improve property specifications, including
improvements not in the RV 2020 final versio
Fast and Compact Distributed Verification and Self-Stabilization of a DFS Tree
We present algorithms for distributed verification and silent-stabilization
of a DFS(Depth First Search) spanning tree of a connected network. Computing
and maintaining such a DFS tree is an important task, e.g., for constructing
efficient routing schemes. Our algorithm improves upon previous work in various
ways. Comparable previous work has space and time complexities of bits per node and respectively, where is the highest
degree of a node, is the number of nodes and is the diameter of the
network. In contrast, our algorithm has a space complexity of bits
per node, which is optimal for silent-stabilizing spanning trees and runs in
time. In addition, our solution is modular since it utilizes the
distributed verification algorithm as an independent subtask of the overall
solution. It is possible to use the verification algorithm as a stand alone
task or as a subtask in another algorithm. To demonstrate the simplicity of
constructing efficient DFS algorithms using the modular approach, We also
present a (non-sielnt) self-stabilizing DFS token circulation algorithm for
general networks based on our silent-stabilizing DFS tree. The complexities of
this token circulation algorithm are comparable to the known ones
MADESE : a simulation environment for mobile agent
Version of RecordPublishe
Porting Decision Tree Algorithms to Multicore using FastFlow
The whole computer hardware industry embraced multicores. For these machines,
the extreme optimisation of sequential algorithms is no longer sufficient to
squeeze the real machine power, which can be only exploited via thread-level
parallelism. Decision tree algorithms exhibit natural concurrency that makes
them suitable to be parallelised. This paper presents an approach for
easy-yet-efficient porting of an implementation of the C4.5 algorithm on
multicores. The parallel porting requires minimal changes to the original
sequential code, and it is able to exploit up to 7X speedup on an Intel
dual-quad core machine.Comment: 18 pages + cove
Recommended from our members
Applications of lattice theory to model checking
textSociety is increasingly dependent on the correct operation of concurrent and distributed software systems. Examples of such systems include computer networks, operating systems, telephone switches and flight control systems. Model checking is a useful tool for ensuring the correctness of such systems, because it is a fully automatic technique whose use does not require expert knowledge. Additionally, model checking allows for the production of error trails when a violation of a desired property is detected. Error trails are an invaluable debugging aid, because they provide the programmer with the sequence of events that lead to an error. Model checking typically operates by performing an exhaustive exploration of the state space of the program. Exhaustive state space exploration is not practical for industrial use in the verification of concurrent systems because of the well-known phenomenon of state space explosion caused by the exploration of all possible interleavings of concurrent events. However, the exploration of all possible interleavings is not always necessary for verification. In this dissertation, we show that results from lattice theory can be applied to ameliorate state space explosion due to concurrency, and to produce short error trails when an error is detected. We show that many CTL formulae exhibit lattice-theoretic structure that can be exploited to avoid exploring multiple interleavings of a set of concurrent events. We use this structural information to develop efficient model checking techniques for both implicit (partial order) and explicit (interleaving) models of the state space. For formulae that do not exhibit the required structure, we present a technique called predicate filtering, which uses a weaker property with the desired structural characteristics to obtain a reduced state space which can then be exhaustively explored. We also show that lattice theory can be used to obtain a path of shortest length to an error state, thereby producing short error trails that greatly ease the task of debugging. We provide experimental results from a wide range of examples, showing the effectiveness of our techniques at improving the efficiency of verifying and debugging concurrent and distributed systems. Our implementation is based on the popular model checker SPIN, and we compare our performance against the state-of-the-art state space reduction strategies implemented in SPIN.Electrical and Computer Engineerin
- …