Cloud Computing Project
-
Upload
devendra-singh-parmar -
Category
Technology
-
view
4.499 -
download
2
description
Transcript of Cloud Computing Project
![Page 1: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/1.jpg)
Page Rank Implementation
CLOUD COMPUTING PROJECT
-Team 3
By: - Devendra Singh Parmar
![Page 2: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/2.jpg)
Project Abstract
Instructor: Prof. Reddy RajaMentor: Ms M.Padmini
To Implement PageRank Algorithm using Map-Reduce for Wikipedia and verify it for smaller data-sets
![Page 3: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/3.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 4: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/4.jpg)
Motivation
-> Need for PageRank:
The Search engines store billions of web pages which overall contain trillions of web url links. So, there is a need for an algorithm that gives the most relevant pages specific to a query.
-> Need for Distributed Environment( Map-Reduce and Distributed Storage)
• Trillions of links implies huge data storage required. (if each url requires 0.5K, then we need over 400TB just to store URLs!) • Large data set implies large computations
Thus, we handle above issues in our project by using a distributed cluster
![Page 5: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/5.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 6: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/6.jpg)
Introduction
PageRank is a link analysis algorithm, named after Larry Page, used by the Google Internet search engine that assigns a numerical weighting to each element of a hyperlinked set of documents, such as the Worldwide Web, with the purpose of "measuring" its relative importance within the set
The numerical weight that it assigns to any given element E is also called the PageRank of E and denoted by PR(E).
![Page 7: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/7.jpg)
Algorithm
Google figures that when one page links to another page, it is effectively casting a vote for the other page. The more votes that are cast for a page, the more important the page must be. Also, the importance of the page that is casting the vote determines how important the vote itself is. Google calculates a page's importance from the votes cast for it. How important each vote is also taken into account when a page's PageRank is calculated.
![Page 8: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/8.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 9: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/9.jpg)
The PageRank Equation
Simple Iterative Algorithm
For kth iteration PageRank of ith page is given by:
Here,
![Page 10: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/10.jpg)
The PageRank Equation(Issues and Enhancement)
Problems:
• Rank Sinks or Dangling Pages• Cycles
Solution:
![Page 11: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/11.jpg)
PageRank Equation(Enhancement)
Solution for Cycles and If a random surfer gets bored
Here ‘d ‘ is known as damping factor . It represents the probability, at any step, that the person will continue surfing . The value of ‘d’ is typically kept 0.85
![Page 12: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/12.jpg)
PageRank Equation (finally)
![Page 13: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/13.jpg)
In other words
In a simpler way:- a page's PageRank = 0.15 /N+ 0.85 * (a "share" of the PageRank of every page that links to it) "share" = the linking page's PageRank divided by the number of outbound links on the page. And N= the number of documents in collection
The equation of PageRank shows clearly how a page's PageRank is arrived at. But what isn't immediately obvious is that it can't work if the calculation is done just once.
![Page 14: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/14.jpg)
PageRank Equation-as per the published paper :“The Anatomy of a Large-Scale Hyper textual Web Search Engine”-Sergey Brin and Lawrence Page
We assume page A has pages T1...Tn which point to it (i.e., are citations). The parameter d is a damping factor which can be set between 0 and 1. We usually set d to 0.85.. Also C(A) is defined as the number of links going out of page A. The PageRank of a page A is given as follows:
PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))
->Note that the PageRanks form a probability distribution over web pages, so the sum of all web pages’ PageRanks will be one.
![Page 15: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/15.jpg)
IssuesIn the Original Formula
Formula given in the in Page and Brin's paper does not supports the statement that "the sum of all PageRanks is one“
Hence to support the statement the formula is modified as:
PR(A) = (1-d)/N + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))
where N= the number of documents in collection
![Page 16: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/16.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 17: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/17.jpg)
Brief Description of Project
Input: Data Set containing multiple records where each record contains the Url of the Page(from Url) followed by the url of a page to which it is pointing to(ToUrl).
FromUrl
Wiki_Votes.txt
ToUrl
![Page 18: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/18.jpg)
Brief Description of Project(Contd.)
Output:The output file consist of records containing the url of the page(from Url), the page rank value of the page(PRValue) and the list of urls to which the page points to(ToUrlList).
FinalOutput.txt
fromUrl ToUrlListPRValue
![Page 19: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/19.jpg)
Brief Description of ProjectModules
Module1: Converter
Module2: PageRank Calculator
Module3: Output Analyzer
WebGraph
Converter
PageRank
Calculator
Iterateuntil convergence
Output Analyzer
Search Engine
...
CreateIndex
![Page 20: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/20.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 21: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/21.jpg)
Module1: ConverterInput-Output
Converter (Initializing with PR= 1/N )FromUrl PRValue
List:
![Page 22: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/22.jpg)
Module1: ConverterIssues
Self Loops:
-handled by checking the FromUrl with ToUrl before sending it to the reduce function
Dangling Pages:
-handled by initializing their PRValue with 1/N and the List of ToUrls is left blank.
![Page 23: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/23.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 24: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/24.jpg)
Module2: PageRank CalculatorInput-Output
PageRank Calculator (User can give Precision)
![Page 25: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/25.jpg)
Module2: PageRank CalculatorMap: Input: index.html PRValue OutList: <
1.html 2.html... > Output 1. Output for each outlink: key: “1.html” value: PRValue/ ListLength (Vote Share) 2. ToUrl itself key: index.html value: <OutList>
Reduce Input:
Key: “1.html” Value: 0.5 23
Value: 0.24 2……. Value : UrlList <OutLink>
Output: Key: “1.html” Value: “<new pagerank> <OutList>
1.html 2.html...”
Start with the initial PageRank and Outlinks of a document.
n
i i
i
tC
tPRd
N
dxPR
1 )(
)()1()(
![Page 26: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/26.jpg)
Module2: PageRank CalculatorMap: Input: index.html PRValue OutList: <
1.html 2.html... > Output 1. Output for each outlink: key: “1.html” value: PRValue/ ListLength (Vote Share) 2. ToUrl itself key: index.html value: <OutList>
Reduce Input:
Key: “1.html” Value: 0.5 23
Value: 0.24 2……. Value : UrlList <OutLink>
Output: Key: “1.html” Value: “<new pagerank> <OutList>
1.html 2.html...”
n
i i
i
tC
tPRd
N
dxPR
1 )(
)()1()(
For each Outlink, output the PageRank’s share of the Inlinks, and List of outlinks.
![Page 27: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/27.jpg)
Module2: PageRank CalculatorMap: Input: index.html PRValue OutList: <
1.html 2.html... > Output 1. Output for each outlink: key: “1.html” value: PRValue/ ListLength (Vote Share) 2. ToUrl itself key: index.html value: <OutList>
Reduce Input:
Key: “1.html” Value: 0.5 23
Value: 0.24 2……. Value : UrlList <OutLink>
Output: Key: “1.html” Value: “<new pagerank> <OutList>
1.html 2.html...”
n
i i
i
tC
tPRd
N
dxPR
1 )(
)()1()(
Now the reducer has a Url of document, all the inlinks to that document and their corresponding PageRank’s share and List of outlinks.
![Page 28: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/28.jpg)
Module2: PageRank CalculatorMap: Input: index.html PRValue OutList: <
1.html 2.html... > Output 1. Output for each outlink: key: “1.html” value: PRValue/ ListLength (Vote Share) 2. ToUrl itself key: index.html value: <OutList>
Reduce Input:
Key: “1.html” Value: 0.5 23
Value: 0.24 2……. Value : UrlList <OutLink>
Output: Key: “1.html” Value: “<new pagerank> <OutList>
1.html 2.html...”
n
i i
i
tC
tPRd
N
dxPR
1 )(
)()1()(
Compute the new PageRank and output in the same format as the input.
![Page 29: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/29.jpg)
Module2: PageRank CalculatorMap: Input: index.html PRValue OutList: <
1.html 2.html... > Output 1. Output for each outlink: key: “1.html” value: PRValue/ ListLength (Vote Share) 2. ToUrl itself key: index.html value: <OutList>
Reduce Input:
Key: “1.html” Value: 0.5 23
Value: 0.24 2……. Value : UrlList <OutLink>
Output: Key: “1.html” Value: “<new pagerank> <OutList>
1.html 2.html...”
n
i i
i
tC
tPRd
N
dxPR
1 )(
)()1()(Now iterate until
convergence (determined by the precision value).
![Page 30: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/30.jpg)
Module2: PageRank Calculator IssuesCatch22 Situation
Suppose we have 2 pages, A and B, which link to each other, and neither have any other links of any kind. This is what happens:-
Step 1: Calculate page A's PageRank from the value of its inbound links
Step 2: Calculate page B's PageRank from the value of its inbound links
we can't work out A's PageRank until we know B's PageRank, and we can't work out B's PageRank until we know A's PageRank. Thus the PageRank of A and B will be inaccurate.
![Page 31: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/31.jpg)
Module2: PageRank Calculator IssuesCatch22 situation (solution)
This problem is overcome by repeating the calculations many times. Each time produces slightly more accurate values. In fact, total accuracy can never be achieved because the calculations are always based on inaccurate values.The number of iterations should be sufficient to reach a point where any further iterations wouldn't produce enough of a change to the values to matter.
=> Use “delta function” which will keep track of changes in the PageRank of all the pages and if the change in PageRank of all the pages is less than the value specified by the user the iterations can be stopped.
![Page 32: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/32.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications
![Page 33: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/33.jpg)
Module 3: Output AnalyzerInput-Output
Input
Analyzer ( If user want Top 3)
Output
![Page 34: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/34.jpg)
Agenda
Motivation Introduction to Algorithm PageRank Equation Analysis Brief Description of Project Module1 Module2 Module3 Applications Questions
![Page 35: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/35.jpg)
Applications and ExtensionsA simple model of Search Engine. (Implemented)
The application utilizes: 1. The PageRank calculated by the PageRank
Calculator2. The output generated by a map-reduce
module that finds out the number of times a pattern (as per the user’s query) matches in each of the files present in data set.
And outputs:The list of pages which are relevant to the query made in the order of their importance.
(DEMO)
![Page 36: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/36.jpg)
Applications and ExtensionsOther Applications:
• PageRank-based mechanism to rank knowledge items used in E-Learning.
• GeneRank (based on PageRank) ranks the genes analyzed in the microarray to see the relationship between the cell’s function and gene expression.
• Can be used to sort the items present in the side menu in various blogs and sites depending on their importance.
![Page 37: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/37.jpg)
References
http://infolab.stanford.edu/pub/papers/google.pdf ( research paper by Brin and Page)
http://www.ams.org/featurecolumn/archive/pagerank.html
http://en.wikipedia.org/wiki/PageRank
http://www.webworkshop.net/pagerank.html#how_is_pagerank_calculated
![Page 38: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/38.jpg)
Questions
![Page 39: Cloud Computing Project](https://reader033.fdocuments.us/reader033/viewer/2022061300/54c8b0a74a7959da358b45c7/html5/thumbnails/39.jpg)
Thank You