0% found this document useful (0 votes)
12 views2 pages

MapReduce Framework Overview

MapReduce is a framework for processing large data sets in parallel across clusters, utilizing a two-step process of mapping and reducing data into key/value pairs. CGL-MapReduce enhances this by using streaming instead of a file system, improving efficiency for scientific data processing. Both frameworks support parallel programming and can handle large data volumes, with CGL-MapReduce facilitating iterative computations more effectively.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views2 pages

MapReduce Framework Overview

MapReduce is a framework for processing large data sets in parallel across clusters, utilizing a two-step process of mapping and reducing data into key/value pairs. CGL-MapReduce enhances this by using streaming instead of a file system, improving efficiency for scientific data processing. Both frameworks support parallel programming and can handle large data volumes, with CGL-MapReduce facilitating iterative computations more effectively.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MAP REDUCE

MapReduce is a framework using which we can write applications to process huge amounts of data,
in parallel, on large clusters of commodity hardware in a reliable manner.

MapReduce is a processing technique and a program model for distributed computing based on java.
The MapReduce algorithm contains two important tasks, namely Map and Reduce. Map takes a set of
data and converts it into another set of data, where individual elements are broken down into tuples
(key/value pairs). Secondly, reduce task, which takes the output from a map as an input and
combines those data tuples into a smaller set of tuples. As the sequence of the name MapReduce
implies, the reduce task is always performed after the map job.

MAP FUCTION IS GIVEN AS:

REDUCE FUNCTION IS GIVEN AS:

Key features

 Supports parallel programming


 Fast
 Can handle a large amount of data

CGL MAP REDUCE:

CGL-MapReduce is another type of MapReduce runtime and was developed by Ekanayake et al.
Unlike MapReduce, CGL-MapReduce uses streaming instead of a file system and eliminates the
overheads associated with file communication, and the intermediate results from the map functions
are directly sent. The application was primarily created and tested for a large amount of scientific data
and was compared with MapReduce. It is shown in the following figure.

1. Map worker: A map worker is responsible for doing map operation.


2. Reduce worker: A reduce worker is responsible for doing reduce operation.

Fig: CGL-MapReduce

3. Content Dissemination Network: Content dissemination network handles all the communication
between the components
4. MRDriver: MRDriver is a master worker and controls the other workers based on the instructions by
the user program. CGL-MapReduce is different from MapReduce, the main difference being the
avoidance of file system and usage of streaming.

a. Initializing stage: The first step involves starting the MapReduce worker nodes and configuration of
the MapReduce task. This is one of the improvements of CGL-MapReduce, which facilitates efficient
iterative MapReduce computations.

b. Map stage: After the initialization step, MRDriver starts the map computation upon the instruction of
the programmer. This is done by passing the variable data to the map tasks. This is relayed to
workers for invoking configured map tasks. It also allows passing the results from one iteration to
another. Finally, the map tasks are transferred directly to reduce workers using dissemination
network.

c. Reduce stage: As soon as all the map tasks are completed, they are transferred to reduce workers,
and these workers start executing tasks after they are initialized by the MRDriver. Output of the
reduce function is directly sent to the user application.

d. Combine stage: In this stage, all the results obtained in the reduce stage are combined. In single-
pass MapReduce computation, then the results are directly combined, and in iterative operation, then
appropriate combination is obtained such that the iteration continues successfully.

e. Termination stage: This is the final stage, and user program gives the command for termination. At
this stage, all the workers are terminated

Key features

•Uses streaming for communication

•Supports parallelization

•Iterative in nature

•Can handle a large amount of data

Common questions

Powered by AI

CGL-MapReduce handles the combining of results in a tailored manner for single-pass versus iterative operations. In single-pass computations, results obtained from the reduce stage are directly combined and sent out as the final output . However, in iterative operations, the combine stage is structured to ensure that the results continue through additional iterations, allowing for the ongoing refinement of data. This iterative process involves the dynamic combination of results to facilitate further computations as required by the operation until termination is initiated .

Parallelization in CGL-MapReduce significantly enhances performance by allowing multiple map and reduce tasks to be executed simultaneously, thereby increasing processing speed and efficiency. This parallel approach efficiently utilizes computational resources across clusters, distributing workloads to prevent bottlenecks typically seen in sequential processing environments. The ability to handle large amounts of data through parallelized streams and reduce operations allows for more robust data processing capabilities, which is highly beneficial for large-scale scientific data tasks where quick and efficient data handling is critical .

The structured stages of CGL-MapReduce offer enhancements over traditional MapReduce by compartmentalizing processes into distinct phases: initialization, map, reduce, combine, and termination. Each stage is designed to streamline computational steps and communication processes. For instance, during the map stage, data is streamed directly to the reduce stage, bypassing file storage, thereby reducing processing time and increasing efficiency . The combine stage in CGL-MapReduce facilitates continuous iteration without the need for redundant data recreation—a significant improvement that enhances iterative computations . These structured stages lead to optimized workload distribution and faster data processing compared to the more monolithic, less flexible process typical of traditional MapReduce frameworks.

CGL-MapReduce facilitates efficient computation through a series of structured stages: initialization, map, reduce, combine, and termination. The initialization stage configures worker nodes and the task, setting the framework for subsequent efficient parallel computations . The map stage streams data directly to reduce tasks using a dissemination network, improving over traditional MapReduce by avoiding file-based intermediation . The reduce stage, supported by MRDriver, ensures results are processed without file I/O overheads. The combine stage adapts to either output directly or iterate for further transformations, enhancing iterative computation capabilities over traditional MapReduce . Termination finalizes processes efficiently by discontinuing worker operations based on user instructions . These structured stages provide improved data handling, reduced latency, and optimized performance in complex data workflows compared to the more static file-based processes of traditional MapReduce .

In CGL-MapReduce, the MRDriver functions as a master worker responsible for initiating and controlling the other workers based on the user program's instructions . It plays a critical role in orchestrating the tasks and ensuring that map operations start efficiently, facilitating the transition to reduce tasks using the content dissemination network. This dissemination network handles all communication between components, allowing seamless data transfer directly between map and reduce tasks without the need for file-based communication, thus improving processing efficiency and reducing overhead .

Using streaming communication in CGL-MapReduce is more advantageous in scenarios where reducing latency and minimizing overhead from file system usage are crucial. For example, applications handling large-scale scientific data benefit from direct streaming since it prevents bottlenecks associated with data storage and retrieval from a file system by keeping data movement through the network as opposed to disk-based storage . Additionally, environments that require real-time data processing or have iterative computational workflows can leverage streaming to enhance processing speed and efficiency by eliminating unnecessary data write-read cycles .

The key differences between MapReduce and CGL-MapReduce focus on their approach to data processing and architecture. MapReduce utilizes a file system to store and communicate data, which involves overhead associated with file communication. In contrast, CGL-MapReduce uses streaming instead of a file system, thereby eliminating such overheads . This change allows CGL-MapReduce to handle data more efficiently, particularly in the context of iterative operations . Additionally, CGL-MapReduce directly streams intermediate map results to reduce tasks via a content dissemination network, which facilitates improved data handling in parallelized environments .

CGL-MapReduce addresses challenges such as file communication overhead and the inefficiencies in iterative data processing typical of traditional MapReduce. By using streaming for data transfer, CGL-MapReduce reduces latency and eliminates the need for intermediate data storage in a file system, which is crucial in large-scale data scenarios like scientific data processing . Additionally, CGL-MapReduce’s capability to efficiently handle iterative computations allows for complex scientific analyses to be executed more rapidly and in a resource-efficient manner, by facilitating seamless data transfer and transformation operations within the computational workflow .

The iterative nature of CGL-MapReduce enhances its processing capabilities by allowing continuous data refinement and passing results from one iteration to the next without returning to the file system for intermediate storage. This continuous flow reduces the overhead related to data I/O operations, making it more efficient for tasks requiring multiple rounds of processing. The iterative architecture enables CGL-MapReduce to efficiently handle computations that require repeated map and reduce tasks, providing significant improvements over the traditional MapReduce, which does not inherently support such flows .

The use of content dissemination networks in CGL-MapReduce improves data processing efficiency by facilitating direct communication between map and reduce tasks, thus bypassing the file system. This method reduces latency and the overhead associated with storing and retrieving intermediate results, enabling faster data processing and increased throughput, especially significant in parallel processing environments and high-volume data scenarios .

You might also like