SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
International Journal of Computer and Technology (IJCET), ISSN 0976 – 6367(Print),
International Journal of Computer Engineering Engineering
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME
and Technology (IJCET), ISSN 0976 – 6367(Print)
ISSN 0976 – 6375(Online) Volume 1                                      IJCET
Number 2, Sept - Oct (2010), pp. 57-68                              ©IAEME
© IAEME, http://www.iaeme.com/ijcet.html

      A COMPREHENSIVE STUDY OF NON-BLOCKING
                          JOINING TECHNIQUES
                                    Glory Birru
                           Computer science and engineering
                           Karunya University, Tamil Nadu
                            E-Mail: Glory.Birru@live.com

                                     Silja Varghese
                           Computer science and engineering
                            Karunya University, Tamil Nadu
                          E-Mail: varghesesilja287@gmail.com

                                  Ms. G. Hemalatha
                            Assistant Professor, CSE Dept
                         Karunya University, Coimbatore, India
                          E-Mail: hema_latha207@yahoo.com

ABSTRACT:
       The huge amount of the available data requires that the data be stored at different
locations with the least amount of memory requirement and easy retrieval. This gave
birth to databases and DBMS. The retrieval is simple and quick when the data is stored at
a single location (logical or physical); it becomes complex or non-trivial when the data is
not at one place. The technique of getting this data from different locations (here tables)
together for use is called joining. Joining has been used since the development of
databases; many techniques have since been introduced, some with the modification to
existing ones and some with a different approach altogether. In a real-time query
execution environment, when the number of tuples is large, it is the join that takes the
maximum amount of time and CPU usage.
       In this paper we will explain and compare the non-blocking joining techniques
and their approaches. The joining techniques are compared based on their execution time,
flushing policy, the memory requirements, I/O complexity and other factors that make
one algorithm more preferable than the other in the appropriate environment. The ability



                                            57
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


of the techniques to handle the multiple inputs, continuous tuples to give excellent results
for the resources available is of much significance.
Keywords: Blocking, Non-blocking, CPU usage, Memory usage, Execution time.
INTRODUCTION:
        The state-of-the-art joining techniques all have the basic assumption that the
tuples or relations to be joined are available in the memory before the joining begins; this
assumption though simple cannot always be met. The availability of large amount of real-
time necessitates that the joining is done as the tuples arrive at real time. This introduces
the concept of blocking and non-blocking joining algorithms where the first one requires
all the input before hand while the later does not. The blocking algorithms though
popular cannot be used in real-time environments, thus the non-blocking algorithms came
into existence. This paper explains some of the non-blocking techniques for joining the
tuples in a relation.
1. SYMMETRIC HASH JOIN
        Symmetric hash join algorithm is a non blocking algorithm. The symmetric hash
join operator maintains two hash tables, one for each relation. Each hash table uses a
different hash function. It supports the traditional demand-pull pipeline interface. Read a
tuple from the inner relation and insert it into the inner relation's hash table, using the
inner relation's hash function. Then, use the new tuple to probe the outer relation's hash
table for matches. To probe, use the outer relation's hash function. When probing with the
inner tuple finds no more matches, read a tuple from the outer relation. Insert it into the
outer relation's hash table using the outer relation's hash function. Then, use the outer
tuple to probe the inner relation's hash table for matches, using the inner table's hash
function. These two steps are repeated until there are no more tuples to be read from
either of the two input relations.




                                     Figure 1 Symmetric hash joins


                                                 58
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


        SHJ aims at producing its output tuples as early as possible in the process of
calculating the join, without decreasing the performance of the join operation itself.
2. XJOIN: A REACTIVELY-SCHEDULED PIPELINED JOIN
OPERATOR
        XJoin is a non-blocking join operator based on Symmetric hash Join algorithm.
Xjoin is optimized to produce initial results quickly and hide inter mitten delays in data
arrival by reactively scheduling background processing. XJoin is based on two
fundamental principles:
1. It is optimized for producing results incrementally as they become available.

2. It allows progress to be made even when one or more sources experience delays.
Algorithm Details:
        XJoin works in three stages. The first and second stages run while there are still
tuples coming from either source, and the third stage is a cleanup executed after all the
tuples have been received. The first stage hashes tuples into partitions and then probes the
complementary memory partition for a match. If the memory allocated to the join has
been exhausted, tuples are flushed to disk to make room for more incoming tuples.




                                    Figure 2 handling the partitions
        If both sources become blocked, the first stage yields to the second. This stage
chooses a disk partition, reads the tuples it contains into memory and probes the
corresponding memory partition of the other relation. The tuples in this disk partition
cannot be discarded at this point because they may still join with inputs that have not yet



                                                 59
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


arrived. The second and third stages avoid producing spurious duplicates though keeping
timestamps of when the second stage was run for a particular disk partition.




                            Figure 3 Memory to memory joins
        Thus, if a tuple in a disk partition is repeatedly run against the same tuples in a
memory partition, timestamps show that the two have already matched and the match is
dropped. The third stage is a cleanup stage. For each set of partitions, it loads all of one
into memory and then streams the corresponding disk and memory partitions by it. Once
all the partitions have been processed, the join is complete. XJoin proceeds in 3 stages
(separate threads)
MEMORY OVERFLOW HANDLING:
        XJoin flushes largest bucket from only one source. Flush the largest single
partition. Flushing policy affects the duplicate detection strategy of the join algorithm.
Also affects its performance in two ways:
   Join output rate - The number of results generated as input is being received. This
depends on the tuples in memory.
  Overall execution time - The total time may change depending on the cost of flushing
and post-join cleanup.
3. PROGRESSIVE MERGE JOIN: GENERIC APPROACH AND
NON-BLOCKING SORT-BASED JOIN ALGORITHM
        Progressive Merge Join (PMJ) is derived from sort-merge join.PMJ computes the
results already during the sorting phase. It does so by sorting both input sets
simultaneously and by joining data items that are in main memory at the same time. The
first data item can be produced earlier than completion of sorting.


                                                 60
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


PMJ ALGORITHM
        PMJ consists of two phases. In first phase, PMJ starts reading as much data as
possible from two input sets into available memory. Both subsets are then sorted using an
internal algorithm like Quicksort. The sorted sequences are joined using an in memory
join algorithm. After that, both sequences are temporarily written to external memory.
PMJ continues with loading subsets in memory from the remaining input, sorting and
joining these subsets until the input is completely processed. In the second phase, PMJ
generates longer runs by merging the sequences that were temporarily written to external
memory.
MEMORY OVERFLOW HANDLING:
        In PMJ, memory overflow is handled by flushing policy. It flushes the whole
memory by flushing large buckets into disk. Due to this kind of flushing, I/O
performance of PMJ is better.
4. HASH MERGE JOIN: A NON-BLOCKING JOIN ALGORITHM
FOR PRODUCING FAST AND EARLY JOIN RESULTS.
        Hash Merge Join algorithm deals with data items from remote sources via
unpredictable, slow, or bursty network traffic. The HMJ algorithm is designed with two
goals in mind: (1) Minimize the time to produce the first few results, and (2) Produce join
results even if the two sources of the join operator occasionally get blocked
HMJ ALGORITHM
        The Hash-merge join algorithm has two phases: The hashing and merging phases.
The hashing phase employs an in-memory hash-based join algorithm that produces join
results as quickly as data arrives. Once the memory gets filled, certain parts of the
memory are flushed into disk storage to free memory space for the newly incoming
tuples. If one of the sources is blocked for any reason, e.g., due to slow or bursty network
traffic, the hashing phase can still produce join results from the unblocked source. If the
two input sources are blocked, the HMJ algorithm starts its merging phase. In the
merging phase, previously flushed parts in disk are joined together using a sort-merge-
like join algorithm. Thus, the HMJ algorithm can produce join results even if the two
sources are blocked. Once the blocking of any of the two sources is resolved, the HMJ


                                                 61
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


algorithm switches back to the hashing phase. The HMJ algorithm switches back and
forth between the two phases until all data items are received from remote sources. Then,
the whole memory is flushed into disk storage and the merging phase takes place to
produce the final part of the join result. The hash merge join algorithm can be
diagrammatically shown as in figure.




                                   Figure 4 Hash Merge Join
MEMORY OVERFLOW HANDLING
        In HMJ algorithm, adaptive flushing policy is used to handle the memory
overflow. The adaptive flushing policy aims to balance the memory to have
similar number of tuples from each source. In adaptive flushing policy we can set
the acceptable bucket size. This policy flushes partition pairs. It needs to choose
two victim buckets; one from each source, with the same hash value. By flushing a
pair of partitions, timestamps are not required to prevent duplicates. A flushed
partition is sorted before being written to disk as the blocking phase performs a
modified progressive merge join to produce results when both sources are blocked.
5. RPJ: PRODUCING FAST JOIN RESULTS ON STREAMS
THROUGH RATE-BASED OPTIMIZATION
        Rate based Progressive Join(RPJ) maximizes the output rate by optimizing its
execution according to the characteristics of join relations, for example, data distribution,
tuple arrival pattern etc. The objectives are to



                                                 62
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


(i) Generate the first result as early as possible (soon after data trans-mission begins), and

(ii) Output the remaining results at a fast rate (as tuples continuously arrive).
        The existing algorithms consider that the memory is not large enough to
accommodate all the tuples received from the input streams, such that part of the data
must be mi-grated to the disk.
RPJ ALGORITHM
        During the online phase, it performs as HMJ. When memory is full, it applies
flushing policy. When both relations become blocked, RPJ begins its reactive phase,
which combines the XJoin and HMJ reactive phases. The tuples from one of the disk
buckets of either relation can join with the corresponding memory bucket of the opposite
relation, as in case of HMJ and PMJ. The algorithm chooses the task that has the highest
output rate. During its cleanup phase RPJ joins the disk buckets. The duplicate avoidance
strategy is similar with that one applied by join. The algorithm can be depicted as in
figure 5.




                              Figure 5 Rate based progressive join
MEMORY OVERFLOW HANDLING
        RPJ uses optimal flushing policy for memory overflow handling. Here when
memory is full, it tries to estimate which tuples have the smallest chance to participate in
joins. Its flushing policy is based on the estimation of the probability of a new incoming
tuple to belong to relation and to be a part of bucket. Once all probabilities are calculated,
the flushing policy is applied. If the victim tuple does not contain enough tuples, the next
smallest probability is chosen, all the tuples that are flushed together from the same
relation and they form the sorted “segment” as in HMJ.



                                                 63
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


6. MAXIMIZING THE OUTPUT RATE OF MULTI-WAY JOIN
QUERIES OVER STREAMING INFORMATION SOURCES
        The complementary approach of allowing non-binary trees; that is, by
generalizing existing streaming binary join algorithms to produce a multi-way streaming
join operator, which we call MJoin, that works over more than two inputs is explored.
Using a single multi-way join, an arrival from any input source can be used to generate
and propagate results in a single step, without having to pass these results through a
multi-stage binary execution pipeline. Furthermore, since the operator is completely
symmetric with respect to its inputs, there is no need to restructure a query plan in
response to changing input arrival rates.
MULTI-WAY JOIN ALGORITHM
        The algorithm first creates as many hash tables as there are inputs. When a new
tuple arrives at an input, it is inserted into the corresponding hash table and used to probe
the remaining hash tables. This generates every possible result tuple that can be produced
by joining the new arrival with the memory resident tuples of the other relations. Not all
hash tables will be probed for every arrival, as the sequence of probes stops whenever a
probe of a hash table finds no matches (since in this case it cannot produce answer
tuples.) For instance, for the second probe operation to execute, the first one has to
produce matches. The sequence is organized in such a way so that the most selective
predicates are evaluated first and it is different for each input. This ensures that the
smallest number of temporary tuples is generated.
MEMORY OVERFLOW HANDLING
        The technique “coordinated flushing” can improve the output rate in the presence
of overflow and addresses the problem of deciding how best to partition a large multi-
way join into set of one or more MJoin operators. Using coordinated flushing, when a
new tuple arrives on any input stream, if it falls into an in-memory partition, it is
immediately probed in the in-memory partitions of the other streams; if it falls into a disk
resident partition, then it is added to an output buffer for that partition and not probed in
the other streams’.




                                                 64
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


7. EARLY HASH JOIN: A CONFIGURABLE ALGORITHM FOR
THE EFFICIENT AND EARLY PRODUCTION OF JOIN RESULTS.
        Early hash join is a hash-based join algorithm specifically designed for interactive
query processing that has a fast response time like other early join algorithms with an
overall execution time that is significantly shorter. It is a customizable hash join
algorithm, which produces results early without a major penalty in total execution time.
Early hash join reduces the total execution time and number of I/O operations by biasing
the reading strategy and flushing policy to the smaller relation.
EARLY HASH JOIN (EHJ) ALGORITHM
        The early hash join (EHJ) algorithm allows the optimizer to dynamically
customize its performance to tradeoff between early production of results and minimal
total execution time. Early hash join is based on symmetric hash join. It uses one hash
table for each input. A hash table consists of P partitions. Each partition consists of B
buckets. A bucket can store a linked list of pages, where each page can store a fixed
number of tuples. When a tuple from an input arrives, it is first used to probe the hash
table for the other input to generate matches. Then, it is placed in the hash table for its
input. In this first in-memory phase, alternate reading is used by default as it was shown
to be the best fixed reading strategy. However, it is possible to select different reading
strategies (that favor R) if the bias is to minimize total execution time. At any time, the
user/optimizer can change the reading policy and know the expected output rate. Once
memory is full; the algorithm enters its second phase (called the flushing phase).
        In the flushing phase, the algorithm uses biased flushing to favor buffering as
much of R in memory as possible. By default, it increases the reading rate to favor
reading more of R. This reduces the expected output rate, but decreases the total
execution time. In both phases, the optimizations to discard tuples when performing one-
to-many joins and many to- many joins once all of R has been read are performed. Note
that for one-to-many joins if a tuple from R matches tuple(s) in S in the hash table, then
those tuples must be deleted from the hash table. For mediator joins, a concurrent
background process can be activated if the inputs are slow. After all of R and S have been
read, the algorithm performs a cleanup join to generate all possible join results.



                                                 65
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


MEMORY OVERFLOW HANDLING:
        Biased flushing policy favors flushing partitions of S before partitions of R, and
transitions the algorithm into a form of dynamic hash join. The biased flushing policy
uses these rules to select a victim partition whenever memory must be freed:
1. Select the largest, non-frozen partition of S.

2. If no such partition of S exists, then select the smallest, non-frozen partition of R.
        Once a partition is flushed, all buckets of its hash table are removed and are
replaced by a single page buffer. This partition is considered frozen (non-replacement)
and cannot buffer any tuples in memory (except for the single page buffer) and cannot be
probed. If a tuple hashes to this partition, it is placed in the page buffer which is flushed
when filled. If a tuple in the other input hashes to this partition index, then no probe is
performed.
READING STRATEGY
        The reading policies are configurable by the optimizer, and can also be changed
interactively as the join is progressing or after a certain number of output results have
been generated. During the flushing phase, a 5:1 reading strategy is used to continue to
produce results while lowering overall execution time. It is also possible to minimize
total execution time by reading all of R once memory is full. These settings are chosen
because in interactive querying the priority of the first few results is much higher than
later query results. Further, early hash join can behave exactly as dynamic hash join by
using a reading policy that reads all of R before any of S.
CONCLUSION:
        With the increase in number of the users of World Wide Web and various real-
world applications there is a huge amount of data that is available that requires
processing. Joining the tuples in a relation has now become a common carry out in most
of the applications; it has now taken a more significant place in a transaction.
        Responding to the queries at real-time necessitates the speeding up of the query
processing of which joining takes the maximum time. Hence speeding of the joining of
relations has become of prime importance. This paper surveys some of these techniques.
The Table1 below shows the comparison of these techniques. Reducing the speed of a


                                                 66
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


join query execution is an issue that is still open for improvement. As obserevd from the
studied techniques for the joining of tuples in a relation, it is evident that to reduce the
use of CPU we need to use more memory and to save memory we have to increase the
number of required CPU or the number of input output operations required. The best
technique of joins depends on the environment of the application of the joins and the
resource that is more valuable. The future work can also be done for performing join
operations on streams of continuous inputs instead of relations.
        Table 1 Comparison of the non-blocking joining techniques.
          SHJ      Xjoin        PMJ       HMJ       RPJ     MJoin                            EHJ
FLUSHING No        Flush        Flush     Adaptiv Optim Coordinat                            Biased
POLICY    Flushin Largest       All       e         al      ed                               Flushi
          g                                                                                  ng
I/O       Not      High         Less      Less      Less    Reduced                          Moder
COMPLEXI applica                                            By                               ate
TY        ble                                               Reading
                                                            Strategy
DUPLICAT No        Time         Additio No          Time Time                                Time
E         Duplica Stamp         nal       Duplica Stamp Stamps                               Stamp
HANDLING tes                    Check     tes                                                s
RANGE     Not      Not          Not       Not       Not     Not                              Allow
PREDICAT Allowe Allowed         Allowe Allowe Allow Allowed                                  ed
ES        d                     d         d         ed
MEMORY    High     Comparati Not          Less      Less    Optimum                          Efficie
REQUIREM           vely Less    Efficien                                                     nt Use
ENT                             t                                                            Of
                                                                                             Availa
                                                                                             ble
                                                                                             Memo
                                                                                             ry
EXECUTIO          High        High           Less        Lower       Lowe      High          Fast
N TIME                                       I/O so      than        r than    since         but
                                             less        XJoin       XJoin     recomput      more
                                             executi     and         and       aion          than
                                             on time     PMJ         HMJ       required      DHJ
REFERENCES:
1. J. Dittrich, B. Seeger, and D. Taylor. “Progressive merge join: A generic and non-
    blocking sort-based join algorithm”. In Proceedings of VLDB, 2002.

2. T.Urhan and M. J. Franklin. “XJoin: A Reactively-Scheduled Pipelined Join
    Operator”. IEEE Data Eng. Bull., 23(2), 2000.



                                                 67
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print),
ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME


3. M. F. Mokbel, M. Lu, and W. G. Aref. “Hash-Merge Join: A Nonblocking Join
    Algorithm for Producing Fast and Early Join Results”. In CDE Conf., 2004.

4. Y. Tao, M. L. Yiu, D. Papadias, M. Hadjieleftheriou, and N. Mamoulis. “RPJ:
    Producing Fast Join Results on Streams Through Rate-based Optimization”. In
    Proceedings of ACM SIGMOD Conference, 2005.

5. S. D. Viglas, J. F. Naughton, and J. Burger. “Maximizing the output rate of multi-way
    join queries over streaming information sources”. In VLDB ’2003: Proceedings of the
    29th international conference on Very large data bases, pages 285–296. VLDB
    Endowment, 2003.

6. Rahman, Nurazzah Abd Saad, Tareq Salahi. “Early Hash Join: A Configurable
    Algorithm for the Efficient and Early Production of Join Results” .ITSim 2008.
    International Symposium on 28 Aug. 2008




                                                 68

Más contenido relacionado

La actualidad más candente

Dynamic thresholding on speech segmentation
Dynamic thresholding on speech segmentationDynamic thresholding on speech segmentation
Dynamic thresholding on speech segmentationeSAT Publishing House
 
The Application of Wavelet Neural Network in the Settlement Monitoring of Subway
The Application of Wavelet Neural Network in the Settlement Monitoring of SubwayThe Application of Wavelet Neural Network in the Settlement Monitoring of Subway
The Application of Wavelet Neural Network in the Settlement Monitoring of SubwayTELKOMNIKA JOURNAL
 
Paper id 21201488
Paper id 21201488Paper id 21201488
Paper id 21201488IJRAT
 
AN ENHANCED CHAOTIC IMAGE ENCRYPTION
AN ENHANCED CHAOTIC IMAGE ENCRYPTIONAN ENHANCED CHAOTIC IMAGE ENCRYPTION
AN ENHANCED CHAOTIC IMAGE ENCRYPTIONijcseit
 
Improving of artifical neural networks performance by using gpu's a survey
Improving of artifical neural networks performance by using gpu's  a surveyImproving of artifical neural networks performance by using gpu's  a survey
Improving of artifical neural networks performance by using gpu's a surveycsandit
 
IMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEY
IMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEYIMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEY
IMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEYcsandit
 
Intrusion Detection Model using Self Organizing Maps.
Intrusion Detection Model using Self Organizing Maps.Intrusion Detection Model using Self Organizing Maps.
Intrusion Detection Model using Self Organizing Maps.Tushar Shinde
 
ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...
ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...
ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...IJCNCJournal
 
Improved Parallel Algorithm for Time Series Based Forecasting Using OTIS-Mesh
Improved Parallel Algorithm for Time Series Based Forecasting Using OTIS-MeshImproved Parallel Algorithm for Time Series Based Forecasting Using OTIS-Mesh
Improved Parallel Algorithm for Time Series Based Forecasting Using OTIS-MeshIDES Editor
 
proposal_pura
proposal_puraproposal_pura
proposal_puraErick Lin
 
A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...
A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...
A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...sipij
 
Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147Editor IJARCET
 

La actualidad más candente (15)

Dynamic thresholding on speech segmentation
Dynamic thresholding on speech segmentationDynamic thresholding on speech segmentation
Dynamic thresholding on speech segmentation
 
40120140507007
4012014050700740120140507007
40120140507007
 
The Application of Wavelet Neural Network in the Settlement Monitoring of Subway
The Application of Wavelet Neural Network in the Settlement Monitoring of SubwayThe Application of Wavelet Neural Network in the Settlement Monitoring of Subway
The Application of Wavelet Neural Network in the Settlement Monitoring of Subway
 
Paper id 21201488
Paper id 21201488Paper id 21201488
Paper id 21201488
 
6119ijcsitce01
6119ijcsitce016119ijcsitce01
6119ijcsitce01
 
AN ENHANCED CHAOTIC IMAGE ENCRYPTION
AN ENHANCED CHAOTIC IMAGE ENCRYPTIONAN ENHANCED CHAOTIC IMAGE ENCRYPTION
AN ENHANCED CHAOTIC IMAGE ENCRYPTION
 
Improving of artifical neural networks performance by using gpu's a survey
Improving of artifical neural networks performance by using gpu's  a surveyImproving of artifical neural networks performance by using gpu's  a survey
Improving of artifical neural networks performance by using gpu's a survey
 
IMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEY
IMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEYIMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEY
IMPROVING OF ARTIFICIAL NEURAL NETWORKS PERFORMANCE BY USING GPU’S: A SURVEY
 
Intrusion Detection Model using Self Organizing Maps.
Intrusion Detection Model using Self Organizing Maps.Intrusion Detection Model using Self Organizing Maps.
Intrusion Detection Model using Self Organizing Maps.
 
ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...
ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...
ON THE PERFORMANCE OF INTRUSION DETECTION SYSTEMS WITH HIDDEN MULTILAYER NEUR...
 
Improved Parallel Algorithm for Time Series Based Forecasting Using OTIS-Mesh
Improved Parallel Algorithm for Time Series Based Forecasting Using OTIS-MeshImproved Parallel Algorithm for Time Series Based Forecasting Using OTIS-Mesh
Improved Parallel Algorithm for Time Series Based Forecasting Using OTIS-Mesh
 
proposal_pura
proposal_puraproposal_pura
proposal_pura
 
50120140506013 2
50120140506013 250120140506013 2
50120140506013 2
 
A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...
A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...
A ROBUST CHAOTIC AND FAST WALSH TRANSFORM ENCRYPTION FOR GRAY SCALE BIOMEDICA...
 
Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147Volume 2-issue-6-2143-2147
Volume 2-issue-6-2143-2147
 

Destacado (9)

Ijcet 06 08_003
Ijcet 06 08_003Ijcet 06 08_003
Ijcet 06 08_003
 
Ijecet 06 08_001
Ijecet 06 08_001Ijecet 06 08_001
Ijecet 06 08_001
 
Ijciet 06 07_004
Ijciet 06 07_004Ijciet 06 07_004
Ijciet 06 07_004
 
Ijecet 06 08_001
Ijecet 06 08_001Ijecet 06 08_001
Ijecet 06 08_001
 
Ijmet 06 08_011
Ijmet 06 08_011Ijmet 06 08_011
Ijmet 06 08_011
 
Ijm 06 07_002
Ijm 06 07_002Ijm 06 07_002
Ijm 06 07_002
 
Ijm 06 08_001
Ijm 06 08_001Ijm 06 08_001
Ijm 06 08_001
 
Ijcet 06 08_002
Ijcet 06 08_002Ijcet 06 08_002
Ijcet 06 08_002
 
Ijciet 06 07_002
Ijciet 06 07_002Ijciet 06 07_002
Ijciet 06 07_002
 

Similar a A comprehensive study of non blocking joining techniques

Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016ijcsbi
 
Survey on Artificial Neural Network Learning Technique Algorithms
Survey on Artificial Neural Network Learning Technique AlgorithmsSurvey on Artificial Neural Network Learning Technique Algorithms
Survey on Artificial Neural Network Learning Technique AlgorithmsIRJET Journal
 
Synchronizing Parallel Tasks Using STM
Synchronizing Parallel Tasks Using STMSynchronizing Parallel Tasks Using STM
Synchronizing Parallel Tasks Using STMIJERA Editor
 
Ca31317323
Ca31317323Ca31317323
Ca31317323IJMER
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
A comparative analysis of minimum process coordinated checkpointing algorithm...
A comparative analysis of minimum process coordinated checkpointing algorithm...A comparative analysis of minimum process coordinated checkpointing algorithm...
A comparative analysis of minimum process coordinated checkpointing algorithm...IAEME Publication
 
A comparative analysis of minimum process coordinated checkpointing
A comparative analysis of minimum process coordinated checkpointingA comparative analysis of minimum process coordinated checkpointing
A comparative analysis of minimum process coordinated checkpointingiaemedu
 
A comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinatedA comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinatediaemedu
 
A comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinatedA comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinatediaemedu
 
Distribution systems efficiency
Distribution systems efficiencyDistribution systems efficiency
Distribution systems efficiencyAlexander Decker
 
Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...
Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...
Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...IJECEIAES
 
Dynamic Load Calculation in A Distributed System using centralized approach
Dynamic Load Calculation in A Distributed System using centralized approachDynamic Load Calculation in A Distributed System using centralized approach
Dynamic Load Calculation in A Distributed System using centralized approachIJARIIT
 
Parametric comparison based on split criterion on classification algorithm
Parametric comparison based on split criterion on classification algorithmParametric comparison based on split criterion on classification algorithm
Parametric comparison based on split criterion on classification algorithmIAEME Publication
 
Efficient text compression using special character replacement
Efficient text compression using special character replacementEfficient text compression using special character replacement
Efficient text compression using special character replacementiaemedu
 
Cloud Module 3 .pptx
Cloud Module 3 .pptxCloud Module 3 .pptx
Cloud Module 3 .pptxssuser41d319
 
Computer Applications: An International Journal (CAIJ)
Computer Applications: An International Journal (CAIJ)Computer Applications: An International Journal (CAIJ)
Computer Applications: An International Journal (CAIJ)caijjournal
 

Similar a A comprehensive study of non blocking joining techniques (20)

50120130406041 2
50120130406041 250120130406041 2
50120130406041 2
 
Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016
 
Survey on Artificial Neural Network Learning Technique Algorithms
Survey on Artificial Neural Network Learning Technique AlgorithmsSurvey on Artificial Neural Network Learning Technique Algorithms
Survey on Artificial Neural Network Learning Technique Algorithms
 
Synchronizing Parallel Tasks Using STM
Synchronizing Parallel Tasks Using STMSynchronizing Parallel Tasks Using STM
Synchronizing Parallel Tasks Using STM
 
Ca31317323
Ca31317323Ca31317323
Ca31317323
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
A comparative analysis of minimum process coordinated checkpointing algorithm...
A comparative analysis of minimum process coordinated checkpointing algorithm...A comparative analysis of minimum process coordinated checkpointing algorithm...
A comparative analysis of minimum process coordinated checkpointing algorithm...
 
A comparative analysis of minimum process coordinated checkpointing
A comparative analysis of minimum process coordinated checkpointingA comparative analysis of minimum process coordinated checkpointing
A comparative analysis of minimum process coordinated checkpointing
 
A comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinatedA comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinated
 
A comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinatedA comparative analysis of minimum process coordinated
A comparative analysis of minimum process coordinated
 
Distribution systems efficiency
Distribution systems efficiencyDistribution systems efficiency
Distribution systems efficiency
 
Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...
Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...
Comparative Study of Neural Networks Algorithms for Cloud Computing CPU Sched...
 
Dynamic Load Calculation in A Distributed System using centralized approach
Dynamic Load Calculation in A Distributed System using centralized approachDynamic Load Calculation in A Distributed System using centralized approach
Dynamic Load Calculation in A Distributed System using centralized approach
 
Parametric comparison based on split criterion on classification algorithm
Parametric comparison based on split criterion on classification algorithmParametric comparison based on split criterion on classification algorithm
Parametric comparison based on split criterion on classification algorithm
 
Efficient text compression using special character replacement
Efficient text compression using special character replacementEfficient text compression using special character replacement
Efficient text compression using special character replacement
 
Cloud Module 3 .pptx
Cloud Module 3 .pptxCloud Module 3 .pptx
Cloud Module 3 .pptx
 
Artificial Neural Networks
Artificial Neural NetworksArtificial Neural Networks
Artificial Neural Networks
 
P2-Artificial.pdf
P2-Artificial.pdfP2-Artificial.pdf
P2-Artificial.pdf
 
50120130406023
5012013040602350120130406023
50120130406023
 
Computer Applications: An International Journal (CAIJ)
Computer Applications: An International Journal (CAIJ)Computer Applications: An International Journal (CAIJ)
Computer Applications: An International Journal (CAIJ)
 

Más de IAEME Publication

IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdfIAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdfIAEME Publication
 
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...IAEME Publication
 
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURSA STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURSIAEME Publication
 
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURSBROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURSIAEME Publication
 
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONSDETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONSIAEME Publication
 
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONSANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONSIAEME Publication
 
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINOVOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINOIAEME Publication
 
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...IAEME Publication
 
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMYVISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMYIAEME Publication
 
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...IAEME Publication
 
GANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICEGANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICEIAEME Publication
 
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...IAEME Publication
 
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...IAEME Publication
 
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...IAEME Publication
 
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...IAEME Publication
 
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...IAEME Publication
 
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...IAEME Publication
 
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...IAEME Publication
 
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...IAEME Publication
 
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENTA MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENTIAEME Publication
 

Más de IAEME Publication (20)

IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdfIAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME_Publication_Call_for_Paper_September_2022.pdf
 
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
 
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURSA STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
 
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURSBROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
 
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONSDETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
 
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONSANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
 
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINOVOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
 
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
 
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMYVISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
 
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
 
GANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICEGANDHI ON NON-VIOLENT POLICE
GANDHI ON NON-VIOLENT POLICE
 
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
 
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
 
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
 
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
 
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
 
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
 
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
 
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
 
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENTA MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
 

A comprehensive study of non blocking joining techniques

  • 1. International Journal of Computer and Technology (IJCET), ISSN 0976 – 6367(Print), International Journal of Computer Engineering Engineering ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME and Technology (IJCET), ISSN 0976 – 6367(Print) ISSN 0976 – 6375(Online) Volume 1 IJCET Number 2, Sept - Oct (2010), pp. 57-68 ©IAEME © IAEME, http://www.iaeme.com/ijcet.html A COMPREHENSIVE STUDY OF NON-BLOCKING JOINING TECHNIQUES Glory Birru Computer science and engineering Karunya University, Tamil Nadu E-Mail: Glory.Birru@live.com Silja Varghese Computer science and engineering Karunya University, Tamil Nadu E-Mail: varghesesilja287@gmail.com Ms. G. Hemalatha Assistant Professor, CSE Dept Karunya University, Coimbatore, India E-Mail: hema_latha207@yahoo.com ABSTRACT: The huge amount of the available data requires that the data be stored at different locations with the least amount of memory requirement and easy retrieval. This gave birth to databases and DBMS. The retrieval is simple and quick when the data is stored at a single location (logical or physical); it becomes complex or non-trivial when the data is not at one place. The technique of getting this data from different locations (here tables) together for use is called joining. Joining has been used since the development of databases; many techniques have since been introduced, some with the modification to existing ones and some with a different approach altogether. In a real-time query execution environment, when the number of tuples is large, it is the join that takes the maximum amount of time and CPU usage. In this paper we will explain and compare the non-blocking joining techniques and their approaches. The joining techniques are compared based on their execution time, flushing policy, the memory requirements, I/O complexity and other factors that make one algorithm more preferable than the other in the appropriate environment. The ability 57
  • 2. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME of the techniques to handle the multiple inputs, continuous tuples to give excellent results for the resources available is of much significance. Keywords: Blocking, Non-blocking, CPU usage, Memory usage, Execution time. INTRODUCTION: The state-of-the-art joining techniques all have the basic assumption that the tuples or relations to be joined are available in the memory before the joining begins; this assumption though simple cannot always be met. The availability of large amount of real- time necessitates that the joining is done as the tuples arrive at real time. This introduces the concept of blocking and non-blocking joining algorithms where the first one requires all the input before hand while the later does not. The blocking algorithms though popular cannot be used in real-time environments, thus the non-blocking algorithms came into existence. This paper explains some of the non-blocking techniques for joining the tuples in a relation. 1. SYMMETRIC HASH JOIN Symmetric hash join algorithm is a non blocking algorithm. The symmetric hash join operator maintains two hash tables, one for each relation. Each hash table uses a different hash function. It supports the traditional demand-pull pipeline interface. Read a tuple from the inner relation and insert it into the inner relation's hash table, using the inner relation's hash function. Then, use the new tuple to probe the outer relation's hash table for matches. To probe, use the outer relation's hash function. When probing with the inner tuple finds no more matches, read a tuple from the outer relation. Insert it into the outer relation's hash table using the outer relation's hash function. Then, use the outer tuple to probe the inner relation's hash table for matches, using the inner table's hash function. These two steps are repeated until there are no more tuples to be read from either of the two input relations. Figure 1 Symmetric hash joins 58
  • 3. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME SHJ aims at producing its output tuples as early as possible in the process of calculating the join, without decreasing the performance of the join operation itself. 2. XJOIN: A REACTIVELY-SCHEDULED PIPELINED JOIN OPERATOR XJoin is a non-blocking join operator based on Symmetric hash Join algorithm. Xjoin is optimized to produce initial results quickly and hide inter mitten delays in data arrival by reactively scheduling background processing. XJoin is based on two fundamental principles: 1. It is optimized for producing results incrementally as they become available. 2. It allows progress to be made even when one or more sources experience delays. Algorithm Details: XJoin works in three stages. The first and second stages run while there are still tuples coming from either source, and the third stage is a cleanup executed after all the tuples have been received. The first stage hashes tuples into partitions and then probes the complementary memory partition for a match. If the memory allocated to the join has been exhausted, tuples are flushed to disk to make room for more incoming tuples. Figure 2 handling the partitions If both sources become blocked, the first stage yields to the second. This stage chooses a disk partition, reads the tuples it contains into memory and probes the corresponding memory partition of the other relation. The tuples in this disk partition cannot be discarded at this point because they may still join with inputs that have not yet 59
  • 4. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME arrived. The second and third stages avoid producing spurious duplicates though keeping timestamps of when the second stage was run for a particular disk partition. Figure 3 Memory to memory joins Thus, if a tuple in a disk partition is repeatedly run against the same tuples in a memory partition, timestamps show that the two have already matched and the match is dropped. The third stage is a cleanup stage. For each set of partitions, it loads all of one into memory and then streams the corresponding disk and memory partitions by it. Once all the partitions have been processed, the join is complete. XJoin proceeds in 3 stages (separate threads) MEMORY OVERFLOW HANDLING: XJoin flushes largest bucket from only one source. Flush the largest single partition. Flushing policy affects the duplicate detection strategy of the join algorithm. Also affects its performance in two ways: Join output rate - The number of results generated as input is being received. This depends on the tuples in memory. Overall execution time - The total time may change depending on the cost of flushing and post-join cleanup. 3. PROGRESSIVE MERGE JOIN: GENERIC APPROACH AND NON-BLOCKING SORT-BASED JOIN ALGORITHM Progressive Merge Join (PMJ) is derived from sort-merge join.PMJ computes the results already during the sorting phase. It does so by sorting both input sets simultaneously and by joining data items that are in main memory at the same time. The first data item can be produced earlier than completion of sorting. 60
  • 5. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME PMJ ALGORITHM PMJ consists of two phases. In first phase, PMJ starts reading as much data as possible from two input sets into available memory. Both subsets are then sorted using an internal algorithm like Quicksort. The sorted sequences are joined using an in memory join algorithm. After that, both sequences are temporarily written to external memory. PMJ continues with loading subsets in memory from the remaining input, sorting and joining these subsets until the input is completely processed. In the second phase, PMJ generates longer runs by merging the sequences that were temporarily written to external memory. MEMORY OVERFLOW HANDLING: In PMJ, memory overflow is handled by flushing policy. It flushes the whole memory by flushing large buckets into disk. Due to this kind of flushing, I/O performance of PMJ is better. 4. HASH MERGE JOIN: A NON-BLOCKING JOIN ALGORITHM FOR PRODUCING FAST AND EARLY JOIN RESULTS. Hash Merge Join algorithm deals with data items from remote sources via unpredictable, slow, or bursty network traffic. The HMJ algorithm is designed with two goals in mind: (1) Minimize the time to produce the first few results, and (2) Produce join results even if the two sources of the join operator occasionally get blocked HMJ ALGORITHM The Hash-merge join algorithm has two phases: The hashing and merging phases. The hashing phase employs an in-memory hash-based join algorithm that produces join results as quickly as data arrives. Once the memory gets filled, certain parts of the memory are flushed into disk storage to free memory space for the newly incoming tuples. If one of the sources is blocked for any reason, e.g., due to slow or bursty network traffic, the hashing phase can still produce join results from the unblocked source. If the two input sources are blocked, the HMJ algorithm starts its merging phase. In the merging phase, previously flushed parts in disk are joined together using a sort-merge- like join algorithm. Thus, the HMJ algorithm can produce join results even if the two sources are blocked. Once the blocking of any of the two sources is resolved, the HMJ 61
  • 6. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME algorithm switches back to the hashing phase. The HMJ algorithm switches back and forth between the two phases until all data items are received from remote sources. Then, the whole memory is flushed into disk storage and the merging phase takes place to produce the final part of the join result. The hash merge join algorithm can be diagrammatically shown as in figure. Figure 4 Hash Merge Join MEMORY OVERFLOW HANDLING In HMJ algorithm, adaptive flushing policy is used to handle the memory overflow. The adaptive flushing policy aims to balance the memory to have similar number of tuples from each source. In adaptive flushing policy we can set the acceptable bucket size. This policy flushes partition pairs. It needs to choose two victim buckets; one from each source, with the same hash value. By flushing a pair of partitions, timestamps are not required to prevent duplicates. A flushed partition is sorted before being written to disk as the blocking phase performs a modified progressive merge join to produce results when both sources are blocked. 5. RPJ: PRODUCING FAST JOIN RESULTS ON STREAMS THROUGH RATE-BASED OPTIMIZATION Rate based Progressive Join(RPJ) maximizes the output rate by optimizing its execution according to the characteristics of join relations, for example, data distribution, tuple arrival pattern etc. The objectives are to 62
  • 7. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME (i) Generate the first result as early as possible (soon after data trans-mission begins), and (ii) Output the remaining results at a fast rate (as tuples continuously arrive). The existing algorithms consider that the memory is not large enough to accommodate all the tuples received from the input streams, such that part of the data must be mi-grated to the disk. RPJ ALGORITHM During the online phase, it performs as HMJ. When memory is full, it applies flushing policy. When both relations become blocked, RPJ begins its reactive phase, which combines the XJoin and HMJ reactive phases. The tuples from one of the disk buckets of either relation can join with the corresponding memory bucket of the opposite relation, as in case of HMJ and PMJ. The algorithm chooses the task that has the highest output rate. During its cleanup phase RPJ joins the disk buckets. The duplicate avoidance strategy is similar with that one applied by join. The algorithm can be depicted as in figure 5. Figure 5 Rate based progressive join MEMORY OVERFLOW HANDLING RPJ uses optimal flushing policy for memory overflow handling. Here when memory is full, it tries to estimate which tuples have the smallest chance to participate in joins. Its flushing policy is based on the estimation of the probability of a new incoming tuple to belong to relation and to be a part of bucket. Once all probabilities are calculated, the flushing policy is applied. If the victim tuple does not contain enough tuples, the next smallest probability is chosen, all the tuples that are flushed together from the same relation and they form the sorted “segment” as in HMJ. 63
  • 8. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME 6. MAXIMIZING THE OUTPUT RATE OF MULTI-WAY JOIN QUERIES OVER STREAMING INFORMATION SOURCES The complementary approach of allowing non-binary trees; that is, by generalizing existing streaming binary join algorithms to produce a multi-way streaming join operator, which we call MJoin, that works over more than two inputs is explored. Using a single multi-way join, an arrival from any input source can be used to generate and propagate results in a single step, without having to pass these results through a multi-stage binary execution pipeline. Furthermore, since the operator is completely symmetric with respect to its inputs, there is no need to restructure a query plan in response to changing input arrival rates. MULTI-WAY JOIN ALGORITHM The algorithm first creates as many hash tables as there are inputs. When a new tuple arrives at an input, it is inserted into the corresponding hash table and used to probe the remaining hash tables. This generates every possible result tuple that can be produced by joining the new arrival with the memory resident tuples of the other relations. Not all hash tables will be probed for every arrival, as the sequence of probes stops whenever a probe of a hash table finds no matches (since in this case it cannot produce answer tuples.) For instance, for the second probe operation to execute, the first one has to produce matches. The sequence is organized in such a way so that the most selective predicates are evaluated first and it is different for each input. This ensures that the smallest number of temporary tuples is generated. MEMORY OVERFLOW HANDLING The technique “coordinated flushing” can improve the output rate in the presence of overflow and addresses the problem of deciding how best to partition a large multi- way join into set of one or more MJoin operators. Using coordinated flushing, when a new tuple arrives on any input stream, if it falls into an in-memory partition, it is immediately probed in the in-memory partitions of the other streams; if it falls into a disk resident partition, then it is added to an output buffer for that partition and not probed in the other streams’. 64
  • 9. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME 7. EARLY HASH JOIN: A CONFIGURABLE ALGORITHM FOR THE EFFICIENT AND EARLY PRODUCTION OF JOIN RESULTS. Early hash join is a hash-based join algorithm specifically designed for interactive query processing that has a fast response time like other early join algorithms with an overall execution time that is significantly shorter. It is a customizable hash join algorithm, which produces results early without a major penalty in total execution time. Early hash join reduces the total execution time and number of I/O operations by biasing the reading strategy and flushing policy to the smaller relation. EARLY HASH JOIN (EHJ) ALGORITHM The early hash join (EHJ) algorithm allows the optimizer to dynamically customize its performance to tradeoff between early production of results and minimal total execution time. Early hash join is based on symmetric hash join. It uses one hash table for each input. A hash table consists of P partitions. Each partition consists of B buckets. A bucket can store a linked list of pages, where each page can store a fixed number of tuples. When a tuple from an input arrives, it is first used to probe the hash table for the other input to generate matches. Then, it is placed in the hash table for its input. In this first in-memory phase, alternate reading is used by default as it was shown to be the best fixed reading strategy. However, it is possible to select different reading strategies (that favor R) if the bias is to minimize total execution time. At any time, the user/optimizer can change the reading policy and know the expected output rate. Once memory is full; the algorithm enters its second phase (called the flushing phase). In the flushing phase, the algorithm uses biased flushing to favor buffering as much of R in memory as possible. By default, it increases the reading rate to favor reading more of R. This reduces the expected output rate, but decreases the total execution time. In both phases, the optimizations to discard tuples when performing one- to-many joins and many to- many joins once all of R has been read are performed. Note that for one-to-many joins if a tuple from R matches tuple(s) in S in the hash table, then those tuples must be deleted from the hash table. For mediator joins, a concurrent background process can be activated if the inputs are slow. After all of R and S have been read, the algorithm performs a cleanup join to generate all possible join results. 65
  • 10. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME MEMORY OVERFLOW HANDLING: Biased flushing policy favors flushing partitions of S before partitions of R, and transitions the algorithm into a form of dynamic hash join. The biased flushing policy uses these rules to select a victim partition whenever memory must be freed: 1. Select the largest, non-frozen partition of S. 2. If no such partition of S exists, then select the smallest, non-frozen partition of R. Once a partition is flushed, all buckets of its hash table are removed and are replaced by a single page buffer. This partition is considered frozen (non-replacement) and cannot buffer any tuples in memory (except for the single page buffer) and cannot be probed. If a tuple hashes to this partition, it is placed in the page buffer which is flushed when filled. If a tuple in the other input hashes to this partition index, then no probe is performed. READING STRATEGY The reading policies are configurable by the optimizer, and can also be changed interactively as the join is progressing or after a certain number of output results have been generated. During the flushing phase, a 5:1 reading strategy is used to continue to produce results while lowering overall execution time. It is also possible to minimize total execution time by reading all of R once memory is full. These settings are chosen because in interactive querying the priority of the first few results is much higher than later query results. Further, early hash join can behave exactly as dynamic hash join by using a reading policy that reads all of R before any of S. CONCLUSION: With the increase in number of the users of World Wide Web and various real- world applications there is a huge amount of data that is available that requires processing. Joining the tuples in a relation has now become a common carry out in most of the applications; it has now taken a more significant place in a transaction. Responding to the queries at real-time necessitates the speeding up of the query processing of which joining takes the maximum time. Hence speeding of the joining of relations has become of prime importance. This paper surveys some of these techniques. The Table1 below shows the comparison of these techniques. Reducing the speed of a 66
  • 11. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME join query execution is an issue that is still open for improvement. As obserevd from the studied techniques for the joining of tuples in a relation, it is evident that to reduce the use of CPU we need to use more memory and to save memory we have to increase the number of required CPU or the number of input output operations required. The best technique of joins depends on the environment of the application of the joins and the resource that is more valuable. The future work can also be done for performing join operations on streams of continuous inputs instead of relations. Table 1 Comparison of the non-blocking joining techniques. SHJ Xjoin PMJ HMJ RPJ MJoin EHJ FLUSHING No Flush Flush Adaptiv Optim Coordinat Biased POLICY Flushin Largest All e al ed Flushi g ng I/O Not High Less Less Less Reduced Moder COMPLEXI applica By ate TY ble Reading Strategy DUPLICAT No Time Additio No Time Time Time E Duplica Stamp nal Duplica Stamp Stamps Stamp HANDLING tes Check tes s RANGE Not Not Not Not Not Not Allow PREDICAT Allowe Allowed Allowe Allowe Allow Allowed ed ES d d d ed MEMORY High Comparati Not Less Less Optimum Efficie REQUIREM vely Less Efficien nt Use ENT t Of Availa ble Memo ry EXECUTIO High High Less Lower Lowe High Fast N TIME I/O so than r than since but less XJoin XJoin recomput more executi and and aion than on time PMJ HMJ required DHJ REFERENCES: 1. J. Dittrich, B. Seeger, and D. Taylor. “Progressive merge join: A generic and non- blocking sort-based join algorithm”. In Proceedings of VLDB, 2002. 2. T.Urhan and M. J. Franklin. “XJoin: A Reactively-Scheduled Pipelined Join Operator”. IEEE Data Eng. Bull., 23(2), 2000. 67
  • 12. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 – 6367(Print), ISSN 0976 – 6375(Online) Volume 1, Number 2, Sept – Oct (2010), © IAEME 3. M. F. Mokbel, M. Lu, and W. G. Aref. “Hash-Merge Join: A Nonblocking Join Algorithm for Producing Fast and Early Join Results”. In CDE Conf., 2004. 4. Y. Tao, M. L. Yiu, D. Papadias, M. Hadjieleftheriou, and N. Mamoulis. “RPJ: Producing Fast Join Results on Streams Through Rate-based Optimization”. In Proceedings of ACM SIGMOD Conference, 2005. 5. S. D. Viglas, J. F. Naughton, and J. Burger. “Maximizing the output rate of multi-way join queries over streaming information sources”. In VLDB ’2003: Proceedings of the 29th international conference on Very large data bases, pages 285–296. VLDB Endowment, 2003. 6. Rahman, Nurazzah Abd Saad, Tareq Salahi. “Early Hash Join: A Configurable Algorithm for the Efficient and Early Production of Join Results” .ITSim 2008. International Symposium on 28 Aug. 2008 68