English
Related papers

Related papers: Optimal Shuffle Code with Permutation Instructions

200 papers

Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to increase instruction-level parallelism) are essential tasks for generating efficient assembly code in a…

Programming Languages · Computer Science 2019-06-10 Roberto Castañeda Lozano , Christian Schulte

Frequently, randomly organized data is needed to avoid an anomalous operation of other algorithms and computational processes. An analogy is that a deck of cards is ordered within the pack, but before a game of poker or solitaire the deck…

Data Structures and Algorithms · Computer Science 2008-11-24 William F. Gilreath

We consider the data shuffling problem in a distributed learning system, in which a master node is connected to a set of worker nodes, via a shared link, in order to communicate a set of files to the worker nodes. The master node has access…

Information Theory · Computer Science 2020-06-24 Adel Elmahdy , Soheil Mohajer

Data shuffling between distributed cluster of nodes is one of the critical steps in implementing large-scale learning algorithms. Randomly shuffling the data-set among a cluster of workers allows different nodes to obtain fresh data…

Information Theory · Computer Science 2018-01-08 Mohamed A. Attia , Ravi Tandon

Shuffling is the process of rearranging a sequence of elements into a random order such that any permutation occurs with equal probability. It is an important building block in a plethora of techniques used in virtually all scientific…

Data Structures and Algorithms · Computer Science 2023-02-08 Manuel Penschuck

Distributed learning platforms for processing large scale data-sets are becoming increasingly prevalent. In typical distributed implementations, a centralized master node breaks the data-set into smaller batches for parallel processing…

Information Theory · Computer Science 2016-10-03 Mohamed Attia , Ravi Tandon

This article introduces an algorithm, MergeShuffle, which is an extremely efficient algorithm to generate random permutations (or to randomly permute an existing array). It is easy to implement, runs in $n\log_2 n + O(1)$ time, is in-place,…

Data Structures and Algorithms · Computer Science 2015-08-14 Axel Bacher , Olivier Bodini , Alexandros Hollender , Jérémie Lumbroso

Today's data centers have an abundance of computing resources, hosting server clusters consisting of as many as tens or hundreds of thousands of machines. To execute a complex computing task over a data center, it is natural to distribute…

Information Theory · Computer Science 2017-02-24 Qian Yu , Songze Li , Mohammad Ali Maddah-Ali , A. Salman Avestimehr

Register allocation is a much studied problem. A particularly important context for optimizing register allocation is within loops, since a significant fraction of the execution time of programs is often inside loop code. A variety of…

Programming Languages · Computer Science 2014-06-04 Lukasz Domagala , Fabrice Rastello , Sadayappan Ponnuswany , Duco Van Amstel

Memoryless computation is a new technique to compute any function of a set of registers by updating one register at a time while using no memory. Its aim is to emulate how computations are performed in modern cores, since they typically…

Computational Complexity · Computer Science 2013-10-23 Peter J. Cameron , Ben Fairbairn , Maximilien Gadouleau

Patients with motor control difficulties often "type" on a computer using a switch keyboard to guide a scanning cursor to text elements. We show how to optimize some parts of the design of switch keyboards by casting the design problem as…

Human-Computer Interaction · Computer Science 2015-03-18 Xiao Zhang , Kan Fang , Gregory Francis

Codes are widely used in many engineering applications to offer robustness against noise. In large-scale systems there are several types of noise that can affect the performance of distributed machine learning algorithms -- straggler nodes,…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-30 Kangwook Lee , Maximilian Lam , Ramtin Pedarsani , Dimitris Papailiopoulos , Kannan Ramchandran

This paper introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit…

Programming Languages · Computer Science 2019-06-21 Roberto Castañeda Lozano , Mats Carlsson , Gabriel Hjort Blindell , Christian Schulte

We consider the distributed computing framework of MapReduce, which consists of three phases, the Map phase, the Shuffle phase and the Reduce phase. For this framework, we propose the use of binary matrices (with $0,1$ entries) called…

Information Theory · Computer Science 2020-02-03 Shailja Agrawal , Prasad Krishnan

Network switches and routers need to serve packet writes and reads at rates that challenge the most advanced memory technologies. As a result, scaling the switching rates is commonly done by parallelizing the packet I/Os using multiple…

Networking and Internet Architecture · Computer Science 2016-05-17 Rami Cohen , Yuval Cassuto

Researchers have recently proposed several systems that ease the process of performing Bayesian probabilistic inference. These include systems for automatic inference algorithm synthesis as well as stronger abstractions for manual algorithm…

Programming Languages · Computer Science 2018-05-07 Eric Atkinson , Cambridge Yang , Michael Carbin

A promising research area that has recently emerged, is on how to use index coding to improve the communication efficiency in distributed computing systems, especially for data shuffling in iterative computations. In this paper, we posit…

Information Theory · Computer Science 2018-05-04 Linqi Song , Christina Fragouli , Tianchu Zhao

The structure of all the permutations of a sequence can be represented as a permutohedron, a graph where vertices are permutations and two vertices are linked if a swap of adjacent elements in the permutation of one of the vertices produces…

Computation and Language · Computer Science 2026-05-14 Ramon Ferrer-i-Cancho

This paper studies the computation-communication tradeoff in a heterogeneous MapReduce computing system where each distributed node is equipped with different computation capability. We first obtain an achievable communication load for any…

Information Theory · Computer Science 2019-08-20 Fan Xu , Meixia Tao

The aggressive application of scalar replacement to array references substantially reduces the number of memory operations at the expense of a possibly very large number of registers. In this paper we describe a register allocation…

Programming Languages · Computer Science 2011-11-09 Nastaran Baradaran , Pedro C. Diniz
‹ Prev 1 2 3 10 Next ›