Online Safety Community

Evaluating Performance of Distributed Systems with MapReduce

MapReduce in Geographically Distributed Environments

The performance of MAPREDUCE across geographically distributed environments is highly dependent upon the amount of network utilization and the quality of the network bandwidth and latency. Different MapReduce configurations are best suited for different data distribution models. In order to select the appropriate model, it is important to understand the characteristics of the workload of the MapReduce job which you are attempting to complete.

Cardosa, describe three different workload data aggregation schemes for MapReduce jobs (Michael Cardosal, 2011). The first, “High Aggregation”, occurs when the output of the MapReduce process is magnitudes of order smaller than the input. Jobs like these are where input data is categorized and counted and large amounts of matches will be reduced to simple category counts. Examples include MapReduce grep, where word or HREF counts are performed across large amounts of distributed data. The input is a large list of files, and the output is a much smaller list of word counts. The second MapReduce workload scheme mentioned, “Net Zero Aggregation”, occurs when the output from a MapReduce process is approximately equal to the input. Sort is a good example of “Net Zero Aggregation”. With a sort job, the output file structure is typically the same size as the input. The final MapReduce workload scheme discussed, “Ballooning Data”, occurs when the output of the MapReduce function produces more records and data than what was input. An example of this would be a MapReduce job which converts compact formats such as GIF to larger data formats such as JPEG . The amount of data produced is an important factor to consider when architecting a MapReduce solution. In their study, Michael Cardosa, et. al. found that when workloads are highly aggregated, a geographically distributed environment works well. For zero aggregation or ballooning data, centralizing the data before applying map reduce is preferred.

Text Mining Applications with Map Reduce

MapReduce is gaining attention from the scientific community in the area of natural language processing (Atilla Soner Balkir, 2011). Natural language processing models often involve optimization algorithms across large amounts of data. A constraint with natural language processing has always been high speed access to large members of frequently changing parameter values. In information retrieval, the number of times an index term occurs in a document is called its term frequency. The discovery of recurrent phrases automatically from text in a quick turnaround is key to the natural language application as a key phrase can help identify the intent of the user. Balkir, et al. used MapReduce, implemented with Hadoop, to develop a model for chunking up sentences into smaller phrases to help identify recurrent phrases. Their approach speeds up by 6 times the performance required to identify and match these phrases against large, distributed data banks. The use of MapReduce will continue to drive advances in natural language processing, speech recognition, and other forms of artificial intelligence.

Software Quality Assurance

Another application of MapReduce involves analytics of software repositories. Weiyi et al. proposed a study on the use of the model in mining software repositories (Weiyi Shang, 2010). The field of Mining Software Repositories involves analyzing source code, deployment logs, and bug repositories, to find statistical correlations that can be used to identify and address issues in the code such as potential security flaws. To illustrate their approach, they created a MapReduce program to count the number of source code lines. This process was required to evaluate each line of a program to determine if it was an actual instruction or a comment. This type of program had a 20 fold improvement in performance on extremely large repositories over traditional approaches. They conclude that automated software engineering tools play an important role in the analysis of software repositories.

Personalized Page Rank

One of the most well known graph computation problems is computing personalized page ranks (Haveliwala, 2002). Personalized page rank algorithms are used by search providers such as Microsoft, Yahoo and Google to provide the most attractive search results for a given user based on their observed preferences and tendencies. They are also used in link prediction and recommendation engines. The two approaches for computing personalized page ranks are linear algebraic techniques and Monte Carlo simulations. MapReduce can handle this scenario, when there are lower level issues such as job distribution, data storage, and flow, fault tolerance and computational abstraction. In their research, Haveliwala, et. al. showed how MapReduce combined with advanced statistical modeling techniques could provide end search users a personalized experience, considering their intent to reply back with results that were relevant. For example, user who enters the phrase “Recommended Restaurants” will want results that are relevant to their general local.


As the cost of data farms and utility compute environments decreases, the amount of data that organizations collect and analyze for insights will continue to rise exponentially. In order to process large amounts of data, the simplified MapReduce programming model provides an easy approach. MapReduce is a programming pattern that takes advantage of large utility compute farms with many distributed nodes. MapReduce greatly simplifies the programming paradigm for developers to process large amounts of distributed data. While many proprietary MapReduce implementations  exist, The Apache Hadoop provides an open source implementation that supports MapReduce, distributed file system, and a variety of other functions.

We’ve shown how MapReduce functions, its pros and cons and performance considerations, and some popular implementations, GFS and Hadoop. We’ve also shown how organizations are using MapReduce for problems such as personalized page rank, software quality assurance and text mining. As more data is collected, MapReduce will continue to provide a method of analyzing these large data in a simplified manner.

Views: 23


You need to be a member of Online Safety Community to add comments!

Join Online Safety Community

Take our poll!

Take our poll!

Latest Activity

Training Doyens posted events
1 hour ago
Nicola Mills posted a blog post

3 ways to ensure food safety

We all love to do a bit of cooking. It truly is an art and nothing beats the satisfaction of seeing a mix and match of various, unappealing and unexciting raw ingredients transform into a beautiful, appetising, delicious dish, which fills the air with rich and potent smells, and which fills your mouth with a stunning taste, and your heart with warmth.However, whilst cooking can be a dream, it can also become a nightmare. Disgusting food, salmonella, and terrible illness all lurk around the…See More
2 hours ago
Jesse Allred posted a blog post


When assessing safety needs for your business you’ve probably heard of the International Fire Code (IFC) or the National Fire Protection Association (NFPA), but have you decided how to implement either of them? The IFC is currently adopted 42 US states, as well as Puerto Rico, Guam, and the District of Columbia. The…See More
16 hours ago
Training Doyens posted an event

Moving From An Operational Manager to A Strategic Leader at 26468 E Walker Dr, Aurora, Colorado 80016

May 8, 2018 from 1pm to 2:30pm
OVERVIEWGain the insights and skills to know where your business stands today and where it’s heading tomorrow.In today’s unpredictable business environment, strategic leadership is not just for top management alone. It’s for:Managers who want to increase their competitive advantage by anticipating their customers’ priorities, needs and expectationsManagers who want to distinguish operational data from strategic data, creatively develop sources of information and increase their staffs’…See More


Python Condition Objects Tutorial in 2018

If you have knowledge of other programming languages, then you would know the importance of conditional statements. Conditional statements are required for taking decisions. Whenever we operate the…Continue

Tags: course, certification, training, languages, programming

Started by Elena Lauren Apr 2.

Automation Anywhere. How do I pick a value from dropdown 1 Reply

Automation Anywhere. How do I pick a value from dropdown. I tried 'set text' from a copied variable. Its very slow, and also doesnt…Continue

Tags: anywhere, automation

Started by emmablisa. Last reply by venkatesh Mar 29.

Agile overcome common software security challenges

Paradoxically, security is a negative goal. To secure something, you must understand how insecure it is. Start by trying to break it or by figuring out how other people might break it. The same is…Continue

Tags: agile, scrum, security

Started by nicolewells Mar 23.

Understanding Data Parallelism in MapReduce

In order to understand the goals of MapReduce, it is important to realize for which scenarios MapReduce is optimized. The MapReduce programming model is created for processing data which requires…Continue

Tags: program, Implementation, Mapreduce

Started by gracylayla Mar 14.

TensorFlow serving vs TensorFlow service

I have a question regarding the difference between TensorFlow Serving versus TensorFlow service. (Sorry that I'm not familiar with this at all.)I found TensorFlow serving's definition, which is "…Continue

Tags: training, online, tensorflow

Started by emmablisa Feb 27.



© 2018   Created by Safety Community.   Powered by

Badges  |  Report an Issue  |  Terms of Service