107,100 research outputs found
Knuthian Drawings of Series-Parallel Flowcharts
Inspired by a classic paper by Knuth, we revisit the problem of drawing
flowcharts of loop-free algorithms, that is, degree-three series-parallel
digraphs. Our drawing algorithms show that it is possible to produce Knuthian
drawings of degree-three series-parallel digraphs with good aspect ratios and
small numbers of edge bends.Comment: Full versio
Loop pipelining with resource and timing constraints
Developing efficient programs for many of the current parallel computers is not easy due to the architectural complexity of those machines. The wide variety of machine organizations often makes it more difficult to port an existing program than to reprogram it completely. Therefore, powerful translators are necessary to generate effective code and free the programmer from concerns about the specific characteristics of the target machine. This work focuses on techniques to be used by an important class of translators, whose objective is to transform sequential programs into equivalent more parallel programs. The transformations are performed at instruction level in order to exploit low level parallelism and increase memory locality.Most of the current applications are programmed in languages which do not allow us to express parallelism between high-level sentences (as Pascal, C or Fortran). Furthermore, a lot of applications written ten or more years ago are still used today, and it is not feasible to rewrite such applications for many reasons (not only technical reasons, but also economic ones). Translators enable programmers to write the application in a familiar sequential programming language, without concerning their selves with the architecture of the target machine. Current compilers for parallel architectures not only translate a program written on a high-level language to the appropriate machine language, but also perform some transformations in the final code in order to execute the program in a more parallel way. The transformations improve the performance in the execution of the program by making use of the knowledge that the compiler has about the machine architecture. The semantics of the program remain intact after any transformation.Experiments show that limiting parallelization to basic blocks not included in loops limits maximum speedup. This is because loops often comprise a large portion of the parallelism available to be exploited in a program. For this reason, a lot of effort has been devoted in the recent years to parallelize loop execution. Several parallel computer architectures and compilation techniques have been proposed to exploit such a parallelism at different granularities. Multiprocessors exploit coarse grained parallelism by distributing entire loop iterations to different processors. Systems oriented to the high-level synthesis (HLS) of VLSI circuits, superscalar processors and very long instruction word (VLIW) processors exploit fine-grained parallelism at instruction level. This work addresses fine-grained parallelization of loops addressed to the HLS of VLSI circuits. Two algorithms are proposed for resource constraints and for timing constraints. An algorithm to reduce the number of registers required to execute a loop in a given architecture is also proposed.Postprint (published version
Learning-Based Constraint Satisfaction With Sensing Restrictions
In this paper we consider graph-coloring problems, an important subset of
general constraint satisfaction problems that arise in wireless resource
allocation. We constructively establish the existence of fully decentralized
learning-based algorithms that are able to find a proper coloring even in the
presence of strong sensing restrictions, in particular sensing asymmetry of the
type encountered when hidden terminals are present. Our main analytic
contribution is to establish sufficient conditions on the sensing behaviour to
ensure that the solvers find satisfying assignments with probability one. These
conditions take the form of connectivity requirements on the induced sensing
graph. These requirements are mild, and we demonstrate that they are commonly
satisfied in wireless allocation tasks. We argue that our results are of
considerable practical importance in view of the prevalence of both
communication and sensing restrictions in wireless resource allocation
problems. The class of algorithms analysed here requires no message-passing
whatsoever between wireless devices, and we show that they continue to perform
well even when devices are only able to carry out constrained sensing of the
surrounding radio environment
Uncertainty in Multi-Commodity Routing Networks: When does it help?
We study the equilibrium behavior in a multi-commodity selfish routing game
with many types of uncertain users where each user over- or under-estimates
their congestion costs by a multiplicative factor. Surprisingly, we find that
uncertainties in different directions have qualitatively distinct impacts on
equilibria. Namely, contrary to the usual notion that uncertainty increases
inefficiencies, network congestion actually decreases when users over-estimate
their costs. On the other hand, under-estimation of costs leads to increased
congestion. We apply these results to urban transportation networks, where
drivers have different estimates about the cost of congestion. In light of the
dynamic pricing policies aimed at tackling congestion, our results indicate
that users' perception of these prices can significantly impact the policy's
efficacy, and "caution in the face of uncertainty" leads to favorable network
conditions.Comment: Currently under revie
Route Planning in Transportation Networks
We survey recent advances in algorithms for route planning in transportation
networks. For road networks, we show that one can compute driving directions in
milliseconds or less even at continental scale. A variety of techniques provide
different trade-offs between preprocessing effort, space requirements, and
query time. Some algorithms can answer queries in a fraction of a microsecond,
while others can deal efficiently with real-time traffic. Journey planning on
public transportation systems, although conceptually similar, is a
significantly harder problem due to its inherent time-dependent and
multicriteria nature. Although exact algorithms are fast enough for interactive
queries on metropolitan transit systems, dealing with continent-sized instances
requires simplifications or heavy preprocessing. The multimodal route planning
problem, which seeks journeys combining schedule-based transportation (buses,
trains) with unrestricted modes (walking, driving), is even harder, relying on
approximate solutions even for metropolitan inputs.Comment: This is an updated version of the technical report MSR-TR-2014-4,
previously published by Microsoft Research. This work was mostly done while
the authors Daniel Delling, Andrew Goldberg, and Renato F. Werneck were at
Microsoft Research Silicon Valle
- …