Yale University Department of Computer Science

Similar documents
Faster randomized consensus with an oblivious adversary

Lecture 3: Nondeterministic Computation

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

Chapter 12. Synchronous Circuits. Contents

ORF 307 Network Flows: Algorithms

CSE 101. Algorithm Design and Analysis Miles Jones Office 4208 CSE Building Lecture 9: Greedy

Encoders and Decoders: Details and Design Issues

ORTHOGONAL frequency division multiplexing

An optimal broadcasting protocol for mobile video-on-demand

Example: compressing black and white images 2 Say we are trying to compress an image of black and white pixels: CSC310 Information Theory.

How to Predict the Output of a Hardware Random Number Generator

Achieving Faster Time to Tapeout with In-Design, Signoff-Quality Metal Fill

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

2 nd Int. Conf. CiiT, Molika, Dec CHAITIN ARTICLES

Here s a question for you: What happens if we try to go the other way? For instance:

Efficient Label Encoding for Range-based Dynamic XML Labeling Schemes

IN 1968, Anderson [6] proposed a memory structure named

UC Berkeley UC Berkeley Previously Published Works

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

COMP sequential logic 1 Jan. 25, 2016

CPSC 121: Models of Computation. Module 1: Propositional Logic

Real-Time Systems Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Post-Routing Layer Assignment for Double Patterning

Solution of Linear Systems

Cryptanalysis of LILI-128

Altera s Max+plus II Tutorial

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

Fault Analysis of Stream Ciphers

Seamless Workload Adaptive Broadcast

Algorithms, Lecture 3 on NP : Nondeterministic Polynomial Time

Research on sampling of vibration signals based on compressed sensing

CSE 352 Laboratory Assignment 3

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED Experiment 2 - Arithmetic Elements

Retiming Sequential Circuits for Low Power

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Part 1: Introduction to Computer Graphics

Power Reduction Approach by using Multi-Bit Flip-Flops

An Experimental Comparison of Fast Algorithms for Drawing General Large Graphs

Find the equivalent decimal value for the given value Other number system to decimal ( Sample)

On the Optimal Compressions in the Compress-and-Forward Relay Schemes

Department of Computer Science, Cornell University. fkatej, hopkik, Contact Info: Abstract:

ELCT201: DIGITAL LOGIC DESIGN

MDPs with Unawareness

Logic Design II (17.342) Spring Lecture Outline

High Performance Microprocessor Design and Automation: Overview, Challenges and Opportunities IBM Corporation

TV Character Generator

Amon: Advanced Mesh-Like Optical NoC

Partitioning a Proof: An Exploratory Study on Undergraduates Comprehension of Proofs

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

CIS 500 Software Foundations Fall Reasoning about evaluation. More on induction. Induction principles. More induction principles

Performance of a Low-Complexity Turbo Decoder and its Implementation on a Low-Cost, 16-Bit Fixed-Point DSP

On the Sensitivity of FPGA Architectural Conclusions to Experimental Assumptions, Tools, and Techniques

Section 6.8 Synthesis of Sequential Logic Page 1 of 8

Heuristic Search & Local Search

A Method to Decompose Multiple-Output Logic Functions

FUNCTIONS OF COMBINATIONAL LOGIC

Sharif University of Technology. SoC: Introduction

Lab experience 1: Introduction to LabView

Part 1: Introduction to computer graphics 1. Describe Each of the following: a. Computer Graphics. b. Computer Graphics API. c. CG s can be used in

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Melodic String Matching Via Interval Consolidation And Fragmentation

Introduction to Artificial Intelligence. Problem Solving and Search

Jazz Melody Generation and Recognition

8 DIGITAL SIGNAL PROCESSOR IN OPTICAL TOMOGRAPHY SYSTEM

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

On the Construction of Lightweight Circulant Involutory MDS Matrices

SA4NCCP 4-BIT FULL SERIAL ADDER

OPERATIONS SEQUENCING IN A CABLE ASSEMBLY SHOP

Tape. Tape head. Control Unit. Executes a finite set of instructions

Registers and Counters

Broadcasting Messages in Fault-Tolerant Distributed Systems: the benefit of handling input-triggered and output-triggered suspicions differently

On the Infinity of Primes of the Form 2x 2 1

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

1608 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 18, NO. 11, NOVEMBER 1999

Introduction to Artificial Intelligence. Problem Solving and Search

Brian Holden Kandou Bus, S.A. IEEE GE Study Group September 2, 2013 York, United Kingdom

An automatic synchronous to asynchronous circuit convertor

Digital Logic. ECE 206, Fall 2001: Lab 1. Learning Objectives. The Logic Simulator

2550 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 6, JUNE 2008

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

Digital Circuit Engineering

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Designing VeSFET-based ICs with CMOS-oriented EDA Infrastructure

Building a Better Bach with Markov Chains

Music and Mathematics: On Symmetry

EET2411 DIGITAL ELECTRONICS

CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

DIFFERENTIATE SOMETHING AT THE VERY BEGINNING THE COURSE I'LL ADD YOU QUESTIONS USING THEM. BUT PARTICULAR QUESTIONS AS YOU'LL SEE

The reduction in the number of flip-flops in a sequential circuit is referred to as the state-reduction problem.

On-Supporting Energy Balanced K-Barrier Coverage In Wireless Sensor Networks

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

Separating Semantic and Circular Security for Symmetric Key Bit Encryption from LWE. Rishab Goyal Venkata Koppula Brent Waters

HRF-xRx RETURN PATH HEADEND SIGNAL ORGANIZATION

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

PLANE TESSELATION WITH MUSICAL-SCALE TILES AND BIDIMENSIONAL AUTOMATIC COMPOSITION

Optimization of FPGA Architecture for Uniform Random Number Generator Using LUT-SR Family

Mathematics, Proofs and Computation

Deep Neural Networks Scanning for patterns (aka convolutional networks) Bhiksha Raj

Error Resilience for Compressed Sensing with Multiple-Channel Transmission

Sequential Logic Notes

Transcription:

Yale University Department of Computer Science P.O. Box 208205 New Haven, CT 06520 8285 Slightly smaller splitter networks James Aspnes 1 Yale University YALEU/DCS/TR-1438 November 2010 1 Supported in part by NSF grant CCF-0916389.

Abstract The classic renaming protocol of Moir and Anderson [4] uses a network of Θ(n 2 ) splitters to assign unique names to n processes with unbounded initial names. We show how to reduce this bound to Θ(n 3/2 ) splitters. 1 Introduction We show how to reduce the Θ(n 2 ) space and output namespace of renaming using a splitter network in the style of Moir and Anderson [4] to Θ(n 3/2 ). The individual time complexity remains Θ(n), which is optimal for deterministic renaming given an unbounded initial namespace [3]. Our construction is based on alternating small Moir-Anderson grids with layers of small binary trees. The resulting renaming algorithm is not even remotely competitive with the tight output namespace and polylogarithmic time complexity of the best currently known randomized renaming algorithm [1], and requires more space, more time, and a larger output namespace than the best currently known deterministic algorithm [3] in the case where the initial names are sub-exponentially large. However, it uses less space than any other currently known algorithm when the initial names are unbounded, and might perhaps be useful as an initial stage before a better algorithm under such circumstances. 1.1 Splitter networks A splitter [4] is a shared-memory object, implemented from two multi-writer atomic registers, with a single operation that returns a value right, down, or stop. Splitters satisfy the following conditions: In any execution of a splitter, at most one process obtains the value stop. If only one process invokes a splitter, that process obtains stop. If at least two processes invoke a splitter, at least one process obtains either stop or right and at least one process obtains either stop or down. We can think of splitters as routing components of a network, where the right and down outputs send processes along virtual wires to further splitters. Figure 1 shows the splitter network used by Moir and Anderson [4]. It consists of two-dimensional triangular grid of ( ) m 2 splitters, containing splitters at all positions (i, j) where 0 i, j n and i + j m, where each process enters the grid through the splitter at (0, 0), and at each splitter (i, j) stops if it receives stop, proceeds to (i + 1, j) if it receives right, and proceeds to (i, j + 1) if it receives down. Moir and Anderson show that in any execution in which m processes follow this procedure, every process eventually receives stop at some splitter, before reaching one of the 2m output wires. A simple explanation of this fact can be obtained by supposing that some process p reaches an output wire, and looking at the path it took to get their (see Figure 2). Each splitter on this path must handle at least two processes (or p would have stopped at that splitter). So some other process leaves on the other output wire, either right or down. If we draw a path from each of these wires that continues right or down to the end of the grid, then along each of these m disjoint paths either some splitter stops a process, or some process reaches a final output wire, each of which is at a distinct splitter. It follows that: 1

Figure 1: A 6 6 Moir-Anderson grid. Figure 2: Path taken by a single process through a 6 6 Moir-Anderson grid (heavy path), and the 6 disjoint paths it spawns (dashed paths). 2

Lemma 1. In an m m Moir-Anderson grid, either all processes stop, or (# of nonempty output wires) + (# of stopped processes) m + 1, and (1) (# of nonempty output splitters) + (# of stopped processes) m. (2) An immediate corollary of the first bound (1) is that an m m Moir-Anderson grid stops any set of m or fewer processes, because otherwise there are not enough to supply the m + 1 processes in the inequality. The second bound (2) will be useful in our improved construction. 2 Blockers Let an (m, k)-blocker be a splitter network with the property that if m processes enter the network at its designated input gate, at least k processes stop somewhere in the network. A single splitter is a (1, 1)-blocker (but is only an (m, 0)-blocker for any m > 1). An m m Moir-Anderson grid is an (m, m)-blocker. We will build an (n, n)-blocker out of O(n 3/2 ) splitters using a sequence of n stages, each of which is an (n, n )-blocker. After each stage, all processes that have not stopped are fed into the single input of the next blocker. The overall structure is thus similar to the cascaded-tree splitter networks considered by [2] but we obtain much lower space complexity by using a combination of Moir-Anderson grids and binary trees in each stage instead of just a single large binary tree. The essential idea of each (n, n )-blocker is to use a Moir-Anderson grid of size 2 n and apply inequality (2) from Lemma 1 to show that at least 2 n processes either stop inside the grid or leave the grid through distinct output splitters. Since there are only n processes, fewer than n output splitters will get more than n processes. Deducting these overloaded splitters from the 2 n total gives at least n output splitters that either (a) get between 1 and n processes, or (b) correspond to a stopped process inside the grid. By attaching a ( n, 1)-blocker to both outputs of all 2 n splitters in the last layer, we stop at least one process for each splitter in class (a), for a total of n stopped processes. We have not yet shown how to build a ( n, 1)-blocker. Here we can just use a binary tree with n splitters: Lemma 2. Any binary tree of m splitters is an (m, 1)-blocker. Proof. By induction on m. A single splitter is a (1, 1)-blocker. Given a binary tree of m splitters accessed by at least one process, either the root node stops a process, or it sends at least one process to each of its two subtrees. Let m 1 and m 2 be the sizes of the two subtrees; by the induction hypothesis, the subtrees are (m 1, 1) and (m 2, 1) blockers, respectively. So for no process to be blocked, we must send at least m 1 + 1 processes to the first subtree and m 2 + 1 processes to the second, for a total of m 1 + m 2 + 2 = m + 1 processes. It follows that the full tree is an (m, 1)-blocker. Figure 3 shows an example of an (n, n )-blocker constructed in this way. This uses ( 2 n ) 2 = (2 + o (1)) n splitters for the Moir-Anderson grid, plus (2 n ) n = (2 + o (1)) n splitters for the output blockers. The depth of the blocker is 2 n + lg n = (2 + o (1)) n. Summarizing: Lemma 3. For any n, there is an (n, n)-blocker with (4+o(1))n splitters and depth (2+o(1)) n. 3

Figure 3: A (9, 9)-blocker, consisting of a 6 6 Moir-Anderson grid with a (3, 1)-blocker on each output wire, implemented as a binary tree of splitters. 4

3 The full splitter network To obtain the full splitter network, we iterate our (n, n )-blocker n times. Since each blocker stops at least n processes, every process stops at some stage. Summing the size and depth of the blockers over all n iterations gives: Theorem 4. For any n, there is a network of (4 + o (1)) n 3/2 splitters with depth (2 + o (1)) n that solves renaming deterministically for n processes. Though we have assumed a known, fixed bound on the number of processes n, it is not hard to see that the algorithm could be made adaptive by stringing together geometrically increasingly large networks, with processes that fail to obtain a name in one network falling through to the next. This would give names in the range O(k 3/2 ) and time complexity O(k), where k is the number of participating processes. 3.1 Conclusions We have shown that it is possible to build a splitter network that assigns names to n processes in O(n) individual work using O(n 3/2 ) space (and names). Because of the lower bound of Chlebus and Kowalski [3], improving the time complexity is not possible using a splitter network, but it may be that further improvements to the structure of the network could reduce the space complexity. References [1] Dan Alistarh, Hagit Attiya, Seth Gilbert, Andrei Giurgiu, and Rachid Guerraoui. Fast randomized test-and-set and renaming. In Nancy A. Lynch and Alexander A. Shvartsman, editors, DISC, volume 6343 of Lecture Notes in Computer Science, pages 94 108. Springer, 2010. [2] Hagit Attiya, Fabian Kuhn, C. Greg Plaxton, Mirjam Wattenhofer, and Roger Wattenhofer. Efficient adaptive collect using randomization. Distributed Computing, 18(3):179 188, 2006. [3] Bogdan S. Chlebus and Dariusz R. Kowalski. Asynchronous exclusive selection. In Rida A. Bazzi and Boaz Patt-Shamir, editors, PODC, pages 375 384. ACM, 2008. [4] Mark Moir and James H. Anderson. Wait-free algorithms for fast, long-lived renaming. Sci. Comput. Program., 25(1):1 39, 1995. 5