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, et.al 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.

Summary

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: 25

Comment

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

swetha posted a blog post

Nebosh IGC Training course - Chennai

Nebosh course in Chennai can be obtained by the safety individual who is doing work, fresher or any engaged indiviuals. The Nebosh course period is 18 days. As we are offering both class room teaching as well as e-learning training with comprehensive of book resources. If you want to perceive a profession in Health and safety sector GWG will give you a best Nebosh training in Chennani.We are…See More
17 hours ago
Training Doyens posted events
18 hours ago
Tom Clark posted a blog post

5 Reasons Why Teens Get Addicted to Alcohol and Drugs

Teenage can be considered as the most difficult period of life. During the teenage years, boys and girls become so desperate that they can do anything they wish. It is basically a vulnerable time when teens try to navigate the bridge between adulthood and childhood. Teens are the most rebellious and as per the study, this is the reason why they get involved in anti-social activities. Not only that, they often become addicted to drug and alcohol because of their rebellious nature.Now this is not…See More
yesterday
Jam Blanco posted a blog post

Response to Marine Oil Spills

Oil spills can wreak havoc on the environment and cause irreversible damage if they aren’t controlled in a timely manner. However, emergency responders need to be trained to react to emergencies quickly and efficiently to prevent more damage. The type of training they receive should depend on their proximity to the spill and whether they need to stop, contain or recover oil from release.For instance, workers who are assigned as early responders to an oil spill should be given more training…See More
yesterday

Forum

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.

Badge

Loading…

© 2018   Created by Safety Community.   Powered by

Badges  |  Report an Issue  |  Terms of Service