2,865 research outputs found
Concurrent Disjoint Set Union
We develop and analyze concurrent algorithms for the disjoint set union
(union-find) problem in the shared memory, asynchronous multiprocessor model of
computation, with CAS (compare and swap) or DCAS (double compare and swap) as
the synchronization primitive. We give a deterministic bounded wait-free
algorithm that uses DCAS and has a total work bound of for a problem with elements and operations
solved by processes, where is a functional inverse of Ackermann's
function. We give two randomized algorithms that use only CAS and have the same
work bound in expectation. The analysis of the second randomized algorithm is
valid even if the scheduler is adversarial. Our DCAS and randomized algorithms
take steps per operation, worst-case for the DCAS algorithm,
high-probability for the randomized algorithms. Our work and step bounds grow
only logarithmically with , making our algorithms truly scalable. We prove
that for a class of symmetric algorithms that includes ours, no better step or
work bound is possible.Comment: 40 pages, combines ideas in two previous PODC paper
LIPIcs
Union-Find (or Disjoint-Set Union) is one of the fundamental problems in computer science; it has been well-studied from both theoretical and practical perspectives in the sequential case. Recently, there has been mounting interest in analyzing this problem in the concurrent scenario, and several asymptotically-efficient algorithms have been proposed. Yet, to date, there is very little known about the practical performance of concurrent Union-Find. This work addresses this gap. We evaluate and analyze the performance of several concurrent Union-Find algorithms and optimization strategies across a wide range of platforms (Intel, AMD, and ARM) and workloads (social, random, and road networks, as well as integrations into more complex algorithms). We first observe that, due to the limited computational cost, the number of induced cache misses is the critical determining factor for the performance of existing algorithms. We introduce new techniques to reduce this cost by storing node priorities implicitly and by using plain reads and writes in a way that does not affect the correctness of the algorithms. Finally, we show that Union-Find implementations are an interesting application for Transactional Memory (TM): one of the fastest algorithm variants we discovered is a sequential one that uses coarse-grained locking with the lock elision optimization to reduce synchronization cost and increase scalability
ConnectIt: A Framework for Static and Incremental Parallel Graph Connectivity Algorithms
Connected components is a fundamental kernel in graph applications due to its
usefulness in measuring how well-connected a graph is, as well as its use as
subroutines in many other graph algorithms. The fastest existing parallel
multicore algorithms for connectivity are based on some form of edge sampling
and/or linking and compressing trees. However, many combinations of these
design choices have been left unexplored. In this paper, we design the
ConnectIt framework, which provides different sampling strategies as well as
various tree linking and compression schemes. ConnectIt enables us to obtain
several hundred new variants of connectivity algorithms, most of which extend
to computing spanning forest. In addition to static graphs, we also extend
ConnectIt to support mixes of insertions and connectivity queries in the
concurrent setting.
We present an experimental evaluation of ConnectIt on a 72-core machine,
which we believe is the most comprehensive evaluation of parallel connectivity
algorithms to date. Compared to a collection of state-of-the-art static
multicore algorithms, we obtain an average speedup of 37.4x (2.36x average
speedup over the fastest existing implementation for each graph). Using
ConnectIt, we are able to compute connectivity on the largest
publicly-available graph (with over 3.5 billion vertices and 128 billion edges)
in under 10 seconds using a 72-core machine, providing a 3.1x speedup over the
fastest existing connectivity result for this graph, in any computational
setting. For our incremental algorithms, we show that our algorithms can ingest
graph updates at up to several billion edges per second. Finally, to guide the
user in selecting the best variants in ConnectIt for different situations, we
provide a detailed analysis of the different strategies in terms of their work
and locality
Radio network algorithms for global communication
Radio networks are a distributed computing model capturing the behavior of devices that communicate via wireless transmissions. Applications of wireless networks have expanded hugely in recent decades due to their convenience and versatility. However, wireless communication presents practical difficulties, particularly in avoiding interference between transmissions. The radio network model provides a theoretical distillation of the behavior of such networks, in order to better understand and facilitate communication.
This thesis concerns fundamental global communication tasks in the radio network model: that is, tasks that require relaying messages throughout the entire network. Examples include broadcasting a message to all devices in a network, or reaching agreement on a single device to act as a coordinator.
We present algorithms to perform global tasks efficiently, and show improved asymptotic running times over a range of environments and model variants. Our results demonstrate an advance over the state of the art in radio network research, and in many cases reach or approach known lower bounds
The Role of Microcredit in Conflict and Displacement Mitigation: A Case Study in Cameroon
This research, generously supported by the Mellon-MIT Inter-University Program on Non-Governmental Organizations (NGOs) and Forced Migration, sought to explore the question of whether the revolving fund of a small credit union in rural Cameroon contributed to the mitigation of conflict and displacement in the immediate area. The starting hypothesis was that the process by which loan recipients implemented their borrowed funds caused them to come into contact with people with whom they had major differences or tensions. This contact, it was argued, provided an opportunity to ameliorate the tension and thus stabilize the village
Thrombolytic removal of intraventricular haemorrhage in treatment of severe stroke: results of the randomised, multicentre, multiregion, placebo-controlled CLEAR III trial
Background:
Intraventricular haemorrhage is a subtype of intracerebral haemorrhage, with 50% mortality and serious disability for survivors. We aimed to test whether attempting to remove intraventricular haemorrhage with alteplase versus saline irrigation improved functional outcome.
Methods:
In this randomised, double-blinded, placebo-controlled, multiregional trial (CLEAR III), participants with a routinely placed extraventricular drain, in the intensive care unit with stable, non-traumatic intracerebral haemorrhage volume less than 30 mL, intraventricular haemorrhage obstructing the 3rd or 4th ventricles, and no underlying pathology were adaptively randomly assigned (1:1), via a web-based system to receive up to 12 doses, 8 h apart of 1 mg of alteplase or 0·9% saline via the extraventricular drain. The treating physician, clinical research staff, and participants were masked to treatment assignment. CT scans were obtained every 24 h throughout dosing. The primary efficacy outcome was good functional outcome, defined as a modified Rankin Scale score (mRS) of 3 or less at 180 days per central adjudication by blinded evaluators. This study is registered with ClinicalTrials.gov, NCT00784134.
Findings:
Between Sept 18, 2009, and Jan 13, 2015, 500 patients were randomised: 249 to the alteplase group and 251 to the saline group. 180-day follow-up data were available for analysis from 246 of 249 participants in the alteplase group and 245 of 251 participants in the placebo group. The primary efficacy outcome was similar in each group (good outcome in alteplase group 48% vs saline 45%; risk ratio [RR] 1·06 [95% CI 0·88–1·28; p=0·554]). A difference of 3·5% (RR 1·08 [95% CI 0·90–1·29], p=0·420) was found after adjustment for intraventricular haemorrhage size and thalamic intracerebral haemorrhage. At 180 days, the treatment group had lower case fatality (46 [18%] vs saline 73 [29%], hazard ratio 0·60 [95% CI 0·41–0·86], p=0·006), but a greater proportion with mRS 5 (42 [17%] vs 21 [9%]; RR 1·99 [95% CI 1·22–3·26], p=0·007). Ventriculitis (17 [7%] alteplase vs 31 [12%] saline; RR 0·55 [95% CI 0·31–0·97], p=0·048) and serious adverse events (114 [46%] alteplase vs 151 [60%] saline; RR 0·76 [95% CI 0·64–0·90], p=0·002) were less frequent with alteplase treatment. Symptomatic bleeding (six [2%] in the alteplase group vs five [2%] in the saline group; RR 1·21 [95% CI 0·37–3·91], p=0·771) was similar.
Interpretation:
In patients with intraventricular haemorrhage and a routine extraventricular drain, irrigation with alteplase did not substantially improve functional outcomes at the mRS 3 cutoff compared with irrigation with saline. Protocol-based use of alteplase with extraventricular drain seems safe. Future investigation is needed to determine whether a greater frequency of complete intraventricular haemorrhage removal via alteplase produces gains in functional status
- …