10,283 research outputs found
Sign-Compute-Resolve for Random Access
We present an approach to random access that is based on three elements:
physical-layer network coding, signature codes and tree splitting. Upon
occurrence of a collision, physical-layer network coding enables the receiver
to decode the sum of the information that was transmitted by the individual
users. For each user this information consists of the data that the user wants
to communicate as well as the user's signature. As long as no more than
users collide, their identities can be recovered from the sum of their
signatures. A splitting protocol is used to deal with the case that more than
users collide. We measure the performance of the proposed method in terms
of user resolution rate as well as overall throughput of the system. The
results show that our approach significantly increases the performance of the
system even compared to coded random access, where collisions are not wasted,
but are reused in successive interference cancellation.Comment: Accepted for presentation at 52nd Annual Allerton Conference on
Communication, Control, and Computin
SKIRT: hybrid parallelization of radiative transfer simulations
We describe the design, implementation and performance of the new hybrid
parallelization scheme in our Monte Carlo radiative transfer code SKIRT, which
has been used extensively for modeling the continuum radiation of dusty
astrophysical systems including late-type galaxies and dusty tori. The hybrid
scheme combines distributed memory parallelization, using the standard Message
Passing Interface (MPI) to communicate between processes, and shared memory
parallelization, providing multiple execution threads within each process to
avoid duplication of data structures. The synchronization between multiple
threads is accomplished through atomic operations without high-level locking
(also called lock-free programming). This improves the scaling behavior of the
code and substantially simplifies the implementation of the hybrid scheme. The
result is an extremely flexible solution that adjusts to the number of
available nodes, processors and memory, and consequently performs well on a
wide variety of computing architectures.Comment: 21 pages, 20 figure
- …