google inc all the world’s information a data playground

70
Google Inc All the World’s Information A Data Playground

Upload: hamish

Post on 21-Mar-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Google Inc All the World’s Information A Data Playground. Where there’s electricity…. …There’s Google. photographs. research. Google’s mission is to …. addresses. health. sports. movies. books. tickets. reviews. news. pets. email. education. food. business. quotes. maps. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Google Inc  All the World’s Information A Data Playground

Google Inc All the World’s Information

A Data Playground

Page 2: Google Inc  All the World’s Information A Data Playground

2

Where there’s electricity……There’s Google

Page 3: Google Inc  All the World’s Information A Data Playground

catalogs

photographs

booksnews

products

movies

art

reviews

quotes

research

business

emaileducation

healthsports

people

addresses

catalogs maps

food

historycareer

autos

ticketspets

Google’s mission is to …

Page 4: Google Inc  All the World’s Information A Data Playground

food

Organize all the world’s information andmake it universally accessible and useful

www.google.com/bangalore

Page 5: Google Inc  All the World’s Information A Data Playground

Google computing evolves…

Page 6: Google Inc  All the World’s Information A Data Playground

Stanford

Graduate student project

Page 7: Google Inc  All the World’s Information A Data Playground

The Garage

Page 8: Google Inc  All the World’s Information A Data Playground

Lego Disc Case (Version 0.1)

Page 9: Google Inc  All the World’s Information A Data Playground

Two guys with a plan

Larry and Sergey built their own computers and everything that ran on them

Google - Version 0.1 Google - Version 1

Page 10: Google Inc  All the World’s Information A Data Playground

Hardware Evolution: Spring 2000

Page 11: Google Inc  All the World’s Information A Data Playground

Hardware Evolution: Late 2000

Page 12: Google Inc  All the World’s Information A Data Playground

Three Days Later…

Page 13: Google Inc  All the World’s Information A Data Playground

Google today• Current Index: Billions of web pages,

2 Billion images, 1 Billion usenet articles and other files• Employees: >5,000• Search and Content Partners: 1000s worldwide

(including AOL, Disney, NEC, and The New York Times)• Market Share: 55+ percent of Internet search referrals*• Advertising: Thousands of advertisers. 80% of Internet users in the US

are reached by Google’s ad network. • Office Locations: More than 20 offices worldwide including Mountain

View, New York, London, Tokyo, Zurich, Paris, Milan, and Bangalore• International: 104 interface languages and 113 international domains* ComScore, Oct. 2005.

•“Most Intelligent Agent on the Internet”

Page 14: Google Inc  All the World’s Information A Data Playground

Lots of fun technology…

Page 15: Google Inc  All the World’s Information A Data Playground

The Science of Spam…

Page 16: Google Inc  All the World’s Information A Data Playground

Spam

Spamming Google’s ranking is profitable– 80+% of users use search engines to find sites– 50+% of the world’s searches come to Google– Users follow search results; money follows users, which implies: Ranking

high on Google makes you money

Page 17: Google Inc  All the World’s Information A Data Playground

Do the math…

Spamming Google’s ranking is profitable500 million searches/day globally x 25% are commercially viable, say x 5 cents/click = $20 Billion a year / result click position

A new industry: Search Engine Optimization

Page 18: Google Inc  All the World’s Information A Data Playground

P

Pagerank: Intuition

How good is page P?

Page 19: Google Inc  All the World’s Information A Data Playground

P

B1 B2 B3B4

Pagerank: Intuition

Intrinsic value of P+

Referred value from pages that point to P

Page 20: Google Inc  All the World’s Information A Data Playground

BACK(P)B

BoutdegreeBValueValue(P) )(/ )(

P

B1 B2 B3B4

Intrinsic Value of P

Referred Value of P

Measure value of page P

Page 21: Google Inc  All the World’s Information A Data Playground

BACK(P)B

BoutdegreeBPagerankN

PPagerank )(/ )()(

P

B1 B2 B3B4

Probability of reaching P by a random jump

Probability of surfing to P over a link

where N is the total number of pages on the web.

Pagerank: Random Surfer Model

Page 22: Google Inc  All the World’s Information A Data Playground

Mathematical interpretation

Consider the web graph as a matrix– One row in matrix for each web page– Order is 8 billion– Entries denote transition probabilities

PageRank calculates the dominant eigenvector of the matrix

[Brin98] Sergey Brin and Larry Page. The anatomy of a large-scale hypertextual web search engine. Proc. of 7th International WWW Conference, pp. 107-117. 1998.

Page 23: Google Inc  All the World’s Information A Data Playground

This is tough - Practical issues

• How do you represent 80B URLs?• How do you sort 80B URL tuples?• How do you distribute the PR vectors for iterations i and

i+1?• How do you distribute the link data?• How to do this hourly (can we)?

Page 24: Google Inc  All the World’s Information A Data Playground

The Science of Scale…

Page 25: Google Inc  All the World’s Information A Data Playground

11

Hardware, networkingBuilding a basic computing platform with low cost

Distributed systemsBuilding reliable systems out of many individual computers

Algorithms, data structures Processing data efficiently, and in new and interesting ways

Machine learning, information retrievalImproving quality of search results by analyzing (lots of) data

User interfacesDesigning effective interfaces for search and other products

Many others…

Dealing with scale

Page 26: Google Inc  All the World’s Information A Data Playground

11

Single high-end 8-way Intel server: IBM eserver xSeries 440 8 2-GHz Xeon, 64 GB RAM, 8 TB of disk $758,000

Commodity machines: Rack of 88 machines 176 2-GHz Xeons, 176 GB RAM, ~7 TB of disk $278,000

1/3X price, 22X CPU, 3X RAM, 1X disk

Sources: racksaver.com, TPC-C performance results, both from late 2002Sources: racksaver.com, TPC-C performance results, both from late 2002

Why use commodity PCs

Page 27: Google Inc  All the World’s Information A Data Playground

• Performance is up• Performance/server price is up• Performance/Watt is stagnant

0

2

4

6

8

10

12

14

16

18

20

A B CThree Hardware Platform Generations

Performance

Performance

Performance/WattPerformance/server price

Power Trends: 3 Generations of Google Servers

Page 28: Google Inc  All the World’s Information A Data Playground

• Example: high-volume dual-CPU Xeon server– System power ~250W– Cooling 1W takes about 1W ~500W– 4-year power cost >50% of hardware cost!– Ignoring:

• Cost of power distribution/UPS/Backup generator equipment

• Power distribution efficiencies• Forecasted increases in the cost of energy

Power vs Hardware costs today

Page 29: Google Inc  All the World’s Information A Data Playground

0

2000

4000

6000

8000

10000

12000

0 1 2 3 4 5

Time (years)

Pric

e ($

)

Hardware Power (20% growth) Power (30% growth)Power (40% growth) Power (50% growth)

Power costsdominate

Extrapolating: The next 5 years

Page 30: Google Inc  All the World’s Information A Data Playground

• Cost of provisioning Gigabit networking– To a single server (NIC): $6– To a server rack (40 servers): ~$50/port– To a Google cluster (thousands of servers): priceless…

• Large gap in cost-efficiency improvements of servers and large networking switches

• Networking industry by enlarge is not motivated to address our requirements

• We are working on solutions that:– Provides tens of Terabits/sec bisection bandwidth for our clusters– Don’t break the bank

The problem of utilization: Networking

Page 31: Google Inc  All the World’s Information A Data Playground

11

Stuff breaks 1 computer: expect 3 year life 1000 computers: lose 1/day At Google scale, many machines will fail every day

Have to deal with failures in software Replication and redundancy Needed for capacity anyway

Fault-tolerant software, parallel makes cheap hardware practical

What about failures?

Page 32: Google Inc  All the World’s Information A Data Playground

Similar to index in the back of a book (but big!) Building takes several days on hundreds of machines Billions of web documents Images: 2000 M images File types: More than 35M non-HTML documents (PDF,

Microsoft Word, etc.) Usenet: 1000M messages from >35K newsgroups

An Example: The Index

Page 33: Google Inc  All the World’s Information A Data Playground

Too large for one machine, so... Use PageRank as a total order Split it into pieces, called shards, small enough to have

several per machine Replicate the shards, making more replicas of high

PageRank shards Do the same for the documents Then replicate this whole structure within and across

data centers

Structuring the Index

Page 34: Google Inc  All the World’s Information A Data Playground

11

Google Web Server

Spell checker

Ad Server

I0 I1 I2 IN

I0 I1 I2 IN

I0 I1 I2 IN

Repl

ica

s

Index shards

D0 D1 DM

D0 D1 DM

D0 D1 DMRe

plic

as

…Doc shards

query

Other servers

Index servers

Doc servers

Elapsed time: 0.25s, machines involved: 1000+

Query Serving Infrastructure

Page 35: Google Inc  All the World’s Information A Data Playground

11

Search Results ExampleSearch Results Example

Page 36: Google Inc  All the World’s Information A Data Playground

11

Our needs Store data reliably Run jobs on pools of machines Apply lots of computational resources to problems

In-house solutions Storage: Google File System (GFS) Job scheduling: Global Work Queue (GWQ) MapReduce: simplify large-scale data processing

The Google Computer – a playground for data

Page 37: Google Inc  All the World’s Information A Data Playground

Misc. servers

Repl

icas

MastersGFS Master

GFS Master

C0 C1

C2C5

Chunkserver 1

C0

C2

C5

Chunkserver N

C1

C3C5

Chunkserver 2

Master manages metadataMaster manages metadata Data transfers happen directly between clients/chunkserversData transfers happen directly between clients/chunkservers Files broken into chunks (typically 64 MB)Files broken into chunks (typically 64 MB) Chunks triplicated across three machines for safetyChunks triplicated across three machines for safety

Client

Client

Google File System

Page 38: Google Inc  All the World’s Information A Data Playground

11

30+ Clusters Clusters as large as 2000+ chunkservers Petabyte-sized filesystems 2000+ MB/s sustained read/write load All in the presence of HW failures

More information can be found in SOSP’03

GFS: Usage at Google

Page 39: Google Inc  All the World’s Information A Data Playground

11

Workqueue master manages pool of slave machines Slaves provide resources (memory, CPU, disk) Users submit jobs to master (job is made up of tasks) Tasks have resource requirements (mem, CPU, disk, etc.) Each task is executed as a UNIX process Task binaries stored in GFS, replicated onto slaves System allows sharing of machines by many projects Projects can use lots of CPUs when needed, but share with

other projects when not needed

Timesharing on a large cluster of machines

Global Work Queue

Page 40: Google Inc  All the World’s Information A Data Playground

11

GFS Master

GFSChunkserver

Job 0task …

Machine 1

Workqueueslave

Workqueuemaster

Bigmemory job task

GFSChunkserver

Job 2task

Workqueueslave

Bigmemory job task

Machine N

Basic Computing Cluster

Page 41: Google Inc  All the World’s Information A Data Playground

11

Many problems: “Process lots of data to produce other data” Diverse inputs:

e.g., document records, log files, sorted on-disk data structures1. Want to use hundreds or thousands of CPUs2. … but this needs to be easy to use

MapReduce:framework that provides(for certain classes of problems): Automatic & efficient parallelization/distribution Fault-tolerance I/O scheduling Status/monitoring

MapReduce: Easy-to-use Cycles

Page 42: Google Inc  All the World’s Information A Data Playground

11

Input is sequence of key/value pairs e.g. url document contents, docid url, etc.

Users write two simple functions: Map: takes input key/value and produces

set of intermediate key/value pairse.g., map(url, contents) hostname "1"

Reduce: takes intermediate key and all intermediate values for that key, combines to produce output key/value e.g., reduce(hostname {“1”,”1”,”1”,”1”})

hostname “4" key+combined value are emitted to output file

MapReduce: Programming Model

Page 43: Google Inc  All the World’s Information A Data Playground

11

MapReduce: System Structure

Page 44: Google Inc  All the World’s Information A Data Playground
Page 45: Google Inc  All the World’s Information A Data Playground
Page 46: Google Inc  All the World’s Information A Data Playground
Page 47: Google Inc  All the World’s Information A Data Playground
Page 48: Google Inc  All the World’s Information A Data Playground
Page 49: Google Inc  All the World’s Information A Data Playground
Page 50: Google Inc  All the World’s Information A Data Playground
Page 51: Google Inc  All the World’s Information A Data Playground
Page 52: Google Inc  All the World’s Information A Data Playground
Page 53: Google Inc  All the World’s Information A Data Playground
Page 54: Google Inc  All the World’s Information A Data Playground
Page 55: Google Inc  All the World’s Information A Data Playground

11

Broad applicability has been a pleasant surprise Quality experiments, log analysis, machine translation, ad-

hoc data processing, … Production indexing system: rewritten w/ MapReduce

~10 MapReductions, much simpler than old code

Two week period in Aug 2004: ~8,000 MapReduce jobs, >450 different MR operations Read ~1500 TB of input to produce ~150 TB of output ~36,000 machine days, >26,000 worker deaths

“MapReduce: Simplified Data Processing on Large Clusters” to appear in OSDI’04

MapReduce: Uses at Google

Page 56: Google Inc  All the World’s Information A Data Playground

11

Substantial fraction of Internet available for processing Easy-to-use teraflops and petabytes High-level abstractions, lots of reusable code Cool problems, great colleagues

Data + CPUs = Playground

Page 57: Google Inc  All the World’s Information A Data Playground

11

“eclipse”

“full moon”

“watermelon” “opteron”

“summer olympics”

“world series”

Jan

2002

July

200

2

Jan

200

3

Jul 2

003

Jan

2002

July

200

2

Jan

200

3

Jul 2

003

Query Frequency Over Time

Page 58: Google Inc  All the World’s Information A Data Playground

11

Searching for Britney Spears

Page 59: Google Inc  All the World’s Information A Data Playground

Goal: Better conceptual understanding

Query: [ Pasadena english courses]

Should match:

• Pasadena City College Night Class“American Literature”

• Caltech Humanities Course“Creative Writing: Short Stories”

• Occidental Classes English 10111 …

Enough Data to Learn

Page 60: Google Inc  All the World’s Information A Data Playground

11

Model trained on millions of documentsCompletely unsupervised learningLearning uses many CPU yearsLearned ~500K clusters: some tiny, some hugeClusters named automatically

Correlation Clustering of Words

Page 61: Google Inc  All the World’s Information A Data Playground

How much information is out there?

• How large is the Web?– Tens of billions of documents? Hundreds?– ~10KB/doc => 100s of Terabytes

• Then there’s everything else– Email, personal files, closed databases, broadcast media, print,

etc.• Estimated 5 Exabytes/year (growing at 30%)*• Web is just a tiny starting point

Source: How much information 2003

Page 62: Google Inc  All the World’s Information A Data Playground

Google takes it’s mission seriously • Started with the Web (html)• Added various document formats• Images• Commercial data: ads and shopping (Froogle)• Enterprise (corporate data)• News• Email (Gmail)• Scholarly publications (http://scholar.google.com)• Local information• Maps• Yellow pages• Satellite images• Instant messaging and VoIP• Communities (Orkut)• Printed media• Classified ads• …

Page 63: Google Inc  All the World’s Information A Data Playground

11

Data growing at 800 MB/year/person (~8 Petabytes/yr)As the organization is automated, horizon moves backInternet users growing at ~20%/yearBandwidth increases triggers storage increase…Our reliance on this information increasesAvailability, reliability, security needs ~corporate needs

Emergence of commodity devices and services awaited

The other datacenter: your home

Page 64: Google Inc  All the World’s Information A Data Playground

11

Talented, motivated people… working in small teams (3-5 people)… on problems that matter… with freedom to explore their ideas“20% rule”, access to computational resources

It’s not just search! Google has experts in…Hardware, networking, distributed systems, fault tolerance, data structures, algorithms,machine learning, information retrieval, AI, user interfaces, compilers, programming languages, statistics, product design, mechanical eng., …

googler = designer & computer scientist & programmer & entrepreneurgoogler = designer & computer scientist & programmer & entrepreneur

Who Does All This?

Page 65: Google Inc  All the World’s Information A Data Playground

11

Engineering culture – Hire Carefully

- Computer Scientists: Understand how-- Experts: Know the state of the art-- Builders: Can translate ideas to reality-- Tinkerers: Ask why not-- Diverse: CS, EE, Hardware, Neuro Surgeons, Robotics, …

Page 66: Google Inc  All the World’s Information A Data Playground

11

Engineering culture – Everyone Innovates

- 20% Time: Management does not know best-- Small Teams: If it can be done, can be done by a few-- Take Risks: Projects with high risk and high impact-- Prepare to fail: No stigma, experiment rapidly-- Blur Roles: Engineering has more PhDs than Research

Page 67: Google Inc  All the World’s Information A Data Playground

11

Engineering culture – User Focused Research

- Singular focus on the user-- Engineering does not worry about money-- Entrepreneurship encouraged-- Roll baby roll

Page 68: Google Inc  All the World’s Information A Data Playground

About Google India

Page 69: Google Inc  All the World’s Information A Data Playground

Charter to Innovate

Google Bangalore is building future Google products

Conceive locally…Implement locally…Deploy globally