Distributed Segment Tree Using MapReduce
Seyed Vahid Sanei Mehri, Ehsan Akhtarkavan, Saeed Erfanian
Department of Computer Engineering, Garmsar Branch
Islamic Azad University, Garmsar, Iran
International Journal of Research in Computer Applications & Information Technology
Volume 2, Issue 5, September-October, 2014, pp. 21-26
ISSN Online:2347-5099, Print:2348-0009, DOA : 06062014
© IASTER 2014, www.iaster.com
ABSTRACT
In this paper we aim to propose an efficient method to implementing a distributed segment tree. For this
purpose we use MapReduce which is a powerful tool in parallel data processing to divide the task among
P separate processors. We will exploit parallel processing in order to decrease the time complexity of
segment tree implementation and range queries.
Keywords: Data Structure, Segment Tree, MapReduce, Parallel Processing.
1. INTRODUCTION
Segment tree is one of the most important data structures for facilitating rapid searching in a set of items,
which is widely used in computational geometry, for instance in Klee’s measure problem [1]. Segment
tree is a full binary tree used to maintain intervals of a given set. Actually, each node of the tree maintains
an interval of the given set. Using this innovative data structure, it is possible to query which nodes in the
tree contain a desired range of set in logarithmic time. Every node of segment tree can be updated in
logarithmic time, too. In this paper, we aim to implement a distributed segment tree using MapReduce
model. We will take advantage of parallel processing in MapReduce in order to decrease the time
complexity of segment tree implementation and range queries.
2. SEGMENT TREE
In this section, we aim to introduce the features of (undistributed) segment tree and review time
complexity of segment tree implementation and range queries in the given set. Segment tree is a rooted
full binary tree segment tree with the following properties [2].
1. The segment tree representing the range of length L (henceforth the range is called segment tree range)
has a height 1 log + = L H .
2. Each node on a segment tree represents a node interval ], , [
, , k l k l
t s ( ] log , 0 [ L l and ] 1 2 , 0 [ −
l
k ).
Its length is 1
, , ,
+ − =
k l k l k l
s t l . Clearly, the root node interval equals to the segment tree range and leaf
node interval is one.
3. Each non-leaf node has two children. The left child and the right child represent the intervals