SlideShare a Scribd company logo
GOOGLE
FILE
SYSTEM
Presented by
Junyoung Jung (2012104030)
Jaehong Jeong (2011104050)
Dept. of Computer Engineering
Kyung Hee Univ.
Big Data Programming (Prof. Lee Hae Joon), 2017-Fall
2
Contents1. INTRODUCTION
2. DESIGN
3. SYSTEM INTERACTIONS
4. MASTER OPERATION
5. HIGH AVAILABILITY
6. MEASUREMENTS
7. CONCLUSIONS
INTRODUCTION
This paper…
Background
Different Points in the Design space
3
1
1.1 THIS PAPER…
4
The Google File System
- Sanjay Ghemeawat, Howard Gobioff, and Shun-Tak Leung
- Google
- 19th ACM Symposium on Operating System Principles, 2003
Previous Distributed File System
1.2 BACKGROUND
5
Performance Scalability Reliability Availability
Previous Distributed File System
1.2 BACKGROUND
6
Performance Scalability Reliability Availabililty
GFS(Google File System) has the same goal.
However, it reflects a marked departure from some earlier file system.
1. Component failures are the norm rather than the exception.
2. Files are huge by traditional standards.
3. Most files are mutated by appending new data.
4. Co-design applications and file system API.
5. Sustained bandwidth more critical than low latency.
1.3 DIFFERENT POINTS IN THE DESIGN SPACE
7
DESIGN
Interface
Architecture
8
2
Familiar Interface
- create
- delete
- open
- close
- read
- write
2.1 INTERFACE
9
Moreover…
- Snapshot
ㆍ Low cost
ㆍ Make a copy of a file/directory tree
ㆍ Duplicate metadata
- Atomic Record append
ㆍ Atomicity with multiple concurrent writes
2.2 ARCHITECTURE
10
2.2 ARCHITECTURE
11
Chunk
- Files are divided into fixed-size chunk
- 64MB
- Larger than typical file system block sizes
Advantages from large chunk size
- Reduce interaction between client and master
- Client can perform many operations on a given chunk
- Reduce size of metadata stored on the master
2.2 ARCHITECTURE
12
GFS chunkservers
- Store chunks on local disks as Linux files.
- Read/Write chunk data specified by a chunk handle & byte range
2.2 ARCHITECTURE
13
GFS master
- Maintains all file system metadata
ㆍ Namespace
ㆍ Access-control information
ㆍ Chunk locations
ㆍ ‘Lease’ management
2.2 ARCHITECTURE
14
GFS client
- GFS client code linked into each application.
- GFS client code implements the file system API.
- GFS client code communicates with the master & chunkservers.
2.2 ARCHITECTURE
15
Using fixed chunk size, translate filename & byte offset to chunk index.
Send request to master
2.2 ARCHITECTURE
16
Replies with chunk handle & location of chunkserver replicas
(including which is ‘primary’)
2.2 ARCHITECTURE
17
Cache info using filename & chunk index as key
2.2 ARCHITECTURE
18
Request data from nearest chunkserver
“chunk handle & index into chunk”
2.2 ARCHITECTURE
19
No Need to talk more about this 64MB chunk
Until cached info expires or file re-opend.
2.2 ARCHITECTURE
20
Metadata only
Data only
2.2 ARCHITECTURE
21
Metadata only
Data only
Metadata
- Master stores three types
- Stored in memory
- Kept persistent thru logging
SYSTEM INTERACTIONS
Leases & Mutation Order
Data Flow
Atomic Appends
Snapshot
22
3
3.1 LEASES & MUTATION ORDER
23
Objective
- Ensure data consistent & defined.
- Minimize load on master.
Master grants ‘lease’ to one replica
- Called ‘primary’ chunkserver.
Primary defines a mutation order between mutations
- All secondaries follows this order
3.2 DATAFLOW
24
3.3 ATOMIC APPENDS
25
The Client Specifies only the data
Similar to writes
- Mutation order is determined by the primary
- All secondaries use the same mutation order
GFS appends data to the file at least once atomically
3.4 SNAPSHOT
26
Goals
- To quickly create branch copies of huge data sets
- To easily checkpoint the current state
Copy-on-write technique
- Metadata for the source file or directory tree is duplicated.
- Reference count for chunks are incremented.
- Chunks are copied later at the first write.
MASTER OPERATION
Namespace Management and Locking
Replica Placement
Creation, Re-replication, Rebalancing
Garbage Collection
Stale Replica Detection 27
4
“ The master executes all
namespace operations and
manages chunk replicas
throughout the system.
2828
4.1 Namespace Management and Locking
▰ Namespaces are represented as a lookup table mapping full
pathnames to metadata
▰ Use locks over regions of the namespace to ensure proper
serialization
▰ Each master operation acquires a set of locks before it runs
29
4.1 Namespace Management and Locking
▰ Example of Locking Mechanism
▻ Preventing /home/user/foo from being created while /home/user is being snapshotted to /save/user
▻ Snapshot operation
▻ - Read locks on /home and /save
▻ - Write locks on /home/user and /save/user
▻ File creation
▻ - Read locks on /home and /home/user
▻ - Write locks on /home/user/foo
▻ Conflict locks on /home/user
▰ Locking scheme is that it allows concurrent mutations in
the same directory
30
4.2 Replica Placement
▰ The chunk replica placement policy serves two purposes:
▻ Maximize data reliability and availability
▻ Maximize network bandwidth utilization.
31
4.3 Creation, Re-replication, Rebalancing
▰ Creation
▻ Disk space utilization
▻ Number of recent creations on each chunkserver
▰ Re-replication
▻ Prioritized: How far it is from its replication goal…
▻ The highest priority chunk is cloned first by copying the chunk data directly from an existing replica
▰ Rebalancing
▻ Periodically
32
4.4 Garbage Collection
▰ Deleted files
▻ Deletion operation is logged
▻ File is renamed to a hidden name, then may be removed later or get recovered
▰ Orphaned chunks (unreachable chunks)
▻ Identified and removed during a regular scan of the chunk namespace
33
4.5 Stale Replica Detection
▰ Stale replicas
▻ Chunk version numbering
▻ The client or the chunkserver verifies the version number when it performs the
operation so that it is always accessing up-to-date data.
34
FAULT TOLERANCE AND DIAGNOSIS
High Availability
Data Integrity
Diagnostic Tools
35
5
“ We cannot completely trust the
machines, nor can we completely
trust the disks.
3636
5.1 High Availability
▰ Fast Recovery
▻ - Operation log and Checkpointing
▰ Chunk Replication
▻ - Each chunk is replicated on multiple chunkservers on different racks
▰ Master Replication
▻ - Operation log and check points are replicated on multiple machines
37
5.2 Data Integrity
▰ Checksumming to detect corruption of stored data
▰ Each chunkserver independently verifies the integrity
38
5.3 Diagnostic Tools
▰ Extensive and detailed diagnostic logging has helped
immeasurably in problem isolation, debugging, and
performance analysis, while incurring only a minimal cost .
▰ RPC requests and replies, etc..
39
MEASUREMENTS
Micro-benchmarks
Real World Clusters
Workload Breakdown
40
6
“ A few micro-benchmarks to
illustrate the bottlenecks
inherent in the GFS architecture
and implementation
4141
6.1 Micro-benchmarks
▰ One master, two master replicas, 16 chunkservers, and 16
clients. (2003)
▰ All the machines are configured with dual 1.4 GHz PIII
processors, 2 GB of memory, two 80 GB 5400 rpm disks,
and a 100 Mbps full-duplex Ethernet connection to an HP
2524 switch.
42
6.1 Micro-benchmarks
43
6.2 Real World Clusters
44
6.3 Workload Breakdown
▰ Methodology and Caveats
▰ Chunkserver Workload
▰ Appends versus Writes
▰ Mster Workload
45
CONCLUSIONS
46
7
Conclusions
▰ Different than previous file systems
▰ Satisfies needs of the application
▰ Fault tolerance
47
48
THANKS!

More Related Content

What's hot

Google File System
Google File SystemGoogle File System
Google File System
Amir Payberah
 
Seminar Report on Google File System
Seminar Report on Google File SystemSeminar Report on Google File System
Seminar Report on Google File System
Vishal Polley
 
Google File System
Google File SystemGoogle File System
Google File System
guest2cb4689
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
Ramakant Soni
 
Google File Systems
Google File SystemsGoogle File Systems
Google File SystemsAzeem Mumtaz
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Ravi Teja
 
Google file system
Google file systemGoogle file system
Google file system
Ankit Thiranh
 
GFS - Google File System
GFS - Google File SystemGFS - Google File System
GFS - Google File Systemtutchiio
 
Google Megastore
Google MegastoreGoogle Megastore
Google Megastorebergwolf
 
Google file system
Google file systemGoogle file system
Google file system
Lalit Rastogi
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
Google BigTable
Google BigTableGoogle BigTable
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systemssumitjain2013
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta LakeBuilding Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta Lake
Flink Forward
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark Metrics
Databricks
 
Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache Storm
Md. Shamsur Rahim
 
Google Big Table
Google Big TableGoogle Big Table
Google Big Table
Omar Al-Sabek
 

What's hot (20)

Google File System
Google File SystemGoogle File System
Google File System
 
GOOGLE BIGTABLE
GOOGLE BIGTABLEGOOGLE BIGTABLE
GOOGLE BIGTABLE
 
Seminar Report on Google File System
Seminar Report on Google File SystemSeminar Report on Google File System
Seminar Report on Google File System
 
Google File System
Google File SystemGoogle File System
Google File System
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
Google File Systems
Google File SystemsGoogle File Systems
Google File Systems
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Google file system
Google file systemGoogle file system
Google file system
 
GFS - Google File System
GFS - Google File SystemGFS - Google File System
GFS - Google File System
 
Google Megastore
Google MegastoreGoogle Megastore
Google Megastore
 
Google file system
Google file systemGoogle file system
Google file system
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Google BigTable
Google BigTableGoogle BigTable
Google BigTable
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
 
HDFS Architecture
HDFS ArchitectureHDFS Architecture
HDFS Architecture
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta LakeBuilding Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta Lake
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark Metrics
 
Slide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache StormSlide #1:Introduction to Apache Storm
Slide #1:Introduction to Apache Storm
 
Google Big Table
Google Big TableGoogle Big Table
Google Big Table
 

Similar to Google File System

Lalit
LalitLalit
Lalit
diptipan
 
The Google file system
The Google file systemThe Google file system
The Google file system
Sergio Shevchenko
 
advanced Google file System
advanced Google file Systemadvanced Google file System
advanced Google file System
diptipan
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout Session
Splunk
 
Advance google file system
Advance google file systemAdvance google file system
Advance google file system
Lalit Rastogi
 
Google File System
Google File SystemGoogle File System
Google File System
DreamJobs1
 
storage-systems.pptx
storage-systems.pptxstorage-systems.pptx
storage-systems.pptx
ShimoFcis
 
Distributed file systems (from Google)
Distributed file systems (from Google)Distributed file systems (from Google)
Distributed file systems (from Google)Sri Prasanna
 
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
Nikhil Jain
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
Romain Jacotin
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
RahulBhole12
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
musrath mohammad
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez
 
Introduction to OS LEVEL Virtualization & Containers
Introduction to OS LEVEL Virtualization & ContainersIntroduction to OS LEVEL Virtualization & Containers
Introduction to OS LEVEL Virtualization & Containers
Vaibhav Sharma
 
exploring-the-oracle-database-architecture.ppt
exploring-the-oracle-database-architecture.pptexploring-the-oracle-database-architecture.ppt
exploring-the-oracle-database-architecture.ppt
AmitavaRoy49
 
Exploring the Oracle Database Architecture.ppt
Exploring the Oracle Database Architecture.pptExploring the Oracle Database Architecture.ppt
Exploring the Oracle Database Architecture.ppt
MohammedHdi1
 
The Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL DatabasesThe Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL Databases
Dave Stokes
 
Chapter 8 : Memory
Chapter 8 : MemoryChapter 8 : Memory
Chapter 8 : Memory
Amin Omi
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
Ted Jung
 

Similar to Google File System (20)

Google file system
Google file systemGoogle file system
Google file system
 
Lalit
LalitLalit
Lalit
 
The Google file system
The Google file systemThe Google file system
The Google file system
 
advanced Google file System
advanced Google file Systemadvanced Google file System
advanced Google file System
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout Session
 
Advance google file system
Advance google file systemAdvance google file system
Advance google file system
 
Google File System
Google File SystemGoogle File System
Google File System
 
storage-systems.pptx
storage-systems.pptxstorage-systems.pptx
storage-systems.pptx
 
Distributed file systems (from Google)
Distributed file systems (from Google)Distributed file systems (from Google)
Distributed file systems (from Google)
 
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTIO...
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
 
Introduction to OS LEVEL Virtualization & Containers
Introduction to OS LEVEL Virtualization & ContainersIntroduction to OS LEVEL Virtualization & Containers
Introduction to OS LEVEL Virtualization & Containers
 
exploring-the-oracle-database-architecture.ppt
exploring-the-oracle-database-architecture.pptexploring-the-oracle-database-architecture.ppt
exploring-the-oracle-database-architecture.ppt
 
Exploring the Oracle Database Architecture.ppt
Exploring the Oracle Database Architecture.pptExploring the Oracle Database Architecture.ppt
Exploring the Oracle Database Architecture.ppt
 
The Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL DatabasesThe Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL Databases
 
Chapter 8 : Memory
Chapter 8 : MemoryChapter 8 : Memory
Chapter 8 : Memory
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
 

More from Junyoung Jung

[KCC oral] 정준영
[KCC oral] 정준영[KCC oral] 정준영
[KCC oral] 정준영
Junyoung Jung
 
전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기
Junyoung Jung
 
[2018 평창올림픽 기념 SW 공모전] Nolza 보고서
[2018 평창올림픽 기념 SW 공모전] Nolza 보고서[2018 평창올림픽 기념 SW 공모전] Nolza 보고서
[2018 평창올림픽 기념 SW 공모전] Nolza 보고서
Junyoung Jung
 
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
Junyoung Jung
 
SCC (Security Control Center)
SCC (Security Control Center)SCC (Security Control Center)
SCC (Security Control Center)
Junyoung Jung
 
sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)
Junyoung Jung
 
Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기
Junyoung Jung
 
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
Junyoung Jung
 
[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템
Junyoung Jung
 
[우아주, 7월] 정준영
[우아주, 7월] 정준영[우아주, 7월] 정준영
[우아주, 7월] 정준영
Junyoung Jung
 
[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기
Junyoung Jung
 
[Kcc poster] 정준영
[Kcc poster] 정준영[Kcc poster] 정준영
[Kcc poster] 정준영
Junyoung Jung
 
[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기
Junyoung Jung
 
[KCC poster]정준영
[KCC poster]정준영[KCC poster]정준영
[KCC poster]정준영
Junyoung Jung
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료
Junyoung Jung
 
[Maybee] inSpot
[Maybee] inSpot[Maybee] inSpot
[Maybee] inSpot
Junyoung Jung
 
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
Junyoung Jung
 
[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot
Junyoung Jung
 
[2015전자과공모전] ppt
[2015전자과공모전] ppt[2015전자과공모전] ppt
[2015전자과공모전] ppt
Junyoung Jung
 
[C++]6 function2
[C++]6 function2[C++]6 function2
[C++]6 function2
Junyoung Jung
 

More from Junyoung Jung (20)

[KCC oral] 정준영
[KCC oral] 정준영[KCC oral] 정준영
[KCC oral] 정준영
 
전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기전자석을 이용한 타자 연습기
전자석을 이용한 타자 연습기
 
[2018 평창올림픽 기념 SW 공모전] Nolza 보고서
[2018 평창올림픽 기념 SW 공모전] Nolza 보고서[2018 평창올림픽 기념 SW 공모전] Nolza 보고서
[2018 평창올림픽 기념 SW 공모전] Nolza 보고서
 
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
[2018 평창올림픽 기념 SW 공모전] Nolza - Activity curation service
 
SCC (Security Control Center)
SCC (Security Control Center)SCC (Security Control Center)
SCC (Security Control Center)
 
sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)sauber92's Potfolio (ver.2012~2017)
sauber92's Potfolio (ver.2012~2017)
 
Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기Electron을 사용해서 Arduino 제어하기
Electron을 사용해서 Arduino 제어하기
 
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
[UNITHON 5TH] KOK - 프로귀찮러를 위한 지출관리 서비스
 
[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템[우아주, Etc] 정준영 - 페이시스템
[우아주, Etc] 정준영 - 페이시스템
 
[우아주, 7월] 정준영
[우아주, 7월] 정준영[우아주, 7월] 정준영
[우아주, 7월] 정준영
 
[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기[team608] 전자석을 이용한 타자연습기
[team608] 전자석을 이용한 타자연습기
 
[Kcc poster] 정준영
[Kcc poster] 정준영[Kcc poster] 정준영
[Kcc poster] 정준영
 
[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기[Graduation Project] 전자석을 이용한 타자 연습기
[Graduation Project] 전자석을 이용한 타자 연습기
 
[KCC poster]정준영
[KCC poster]정준영[KCC poster]정준영
[KCC poster]정준영
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료
 
[Maybee] inSpot
[Maybee] inSpot[Maybee] inSpot
[Maybee] inSpot
 
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
[대학생 연합 해커톤 UNITHON 3RD] Mingginyu_ppt
 
[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot[2016 K-global 스마트디바이스톤] inSpot
[2016 K-global 스마트디바이스톤] inSpot
 
[2015전자과공모전] ppt
[2015전자과공모전] ppt[2015전자과공모전] ppt
[2015전자과공모전] ppt
 
[C++]6 function2
[C++]6 function2[C++]6 function2
[C++]6 function2
 

Recently uploaded

Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 

Recently uploaded (20)

Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 

Google File System

  • 1. GOOGLE FILE SYSTEM Presented by Junyoung Jung (2012104030) Jaehong Jeong (2011104050) Dept. of Computer Engineering Kyung Hee Univ. Big Data Programming (Prof. Lee Hae Joon), 2017-Fall
  • 2. 2 Contents1. INTRODUCTION 2. DESIGN 3. SYSTEM INTERACTIONS 4. MASTER OPERATION 5. HIGH AVAILABILITY 6. MEASUREMENTS 7. CONCLUSIONS
  • 4. 1.1 THIS PAPER… 4 The Google File System - Sanjay Ghemeawat, Howard Gobioff, and Shun-Tak Leung - Google - 19th ACM Symposium on Operating System Principles, 2003
  • 5. Previous Distributed File System 1.2 BACKGROUND 5 Performance Scalability Reliability Availability
  • 6. Previous Distributed File System 1.2 BACKGROUND 6 Performance Scalability Reliability Availabililty GFS(Google File System) has the same goal. However, it reflects a marked departure from some earlier file system.
  • 7. 1. Component failures are the norm rather than the exception. 2. Files are huge by traditional standards. 3. Most files are mutated by appending new data. 4. Co-design applications and file system API. 5. Sustained bandwidth more critical than low latency. 1.3 DIFFERENT POINTS IN THE DESIGN SPACE 7
  • 9. Familiar Interface - create - delete - open - close - read - write 2.1 INTERFACE 9 Moreover… - Snapshot ㆍ Low cost ㆍ Make a copy of a file/directory tree ㆍ Duplicate metadata - Atomic Record append ㆍ Atomicity with multiple concurrent writes
  • 11. 2.2 ARCHITECTURE 11 Chunk - Files are divided into fixed-size chunk - 64MB - Larger than typical file system block sizes Advantages from large chunk size - Reduce interaction between client and master - Client can perform many operations on a given chunk - Reduce size of metadata stored on the master
  • 12. 2.2 ARCHITECTURE 12 GFS chunkservers - Store chunks on local disks as Linux files. - Read/Write chunk data specified by a chunk handle & byte range
  • 13. 2.2 ARCHITECTURE 13 GFS master - Maintains all file system metadata ㆍ Namespace ㆍ Access-control information ㆍ Chunk locations ㆍ ‘Lease’ management
  • 14. 2.2 ARCHITECTURE 14 GFS client - GFS client code linked into each application. - GFS client code implements the file system API. - GFS client code communicates with the master & chunkservers.
  • 15. 2.2 ARCHITECTURE 15 Using fixed chunk size, translate filename & byte offset to chunk index. Send request to master
  • 16. 2.2 ARCHITECTURE 16 Replies with chunk handle & location of chunkserver replicas (including which is ‘primary’)
  • 17. 2.2 ARCHITECTURE 17 Cache info using filename & chunk index as key
  • 18. 2.2 ARCHITECTURE 18 Request data from nearest chunkserver “chunk handle & index into chunk”
  • 19. 2.2 ARCHITECTURE 19 No Need to talk more about this 64MB chunk Until cached info expires or file re-opend.
  • 21. 2.2 ARCHITECTURE 21 Metadata only Data only Metadata - Master stores three types - Stored in memory - Kept persistent thru logging
  • 22. SYSTEM INTERACTIONS Leases & Mutation Order Data Flow Atomic Appends Snapshot 22 3
  • 23. 3.1 LEASES & MUTATION ORDER 23 Objective - Ensure data consistent & defined. - Minimize load on master. Master grants ‘lease’ to one replica - Called ‘primary’ chunkserver. Primary defines a mutation order between mutations - All secondaries follows this order
  • 25. 3.3 ATOMIC APPENDS 25 The Client Specifies only the data Similar to writes - Mutation order is determined by the primary - All secondaries use the same mutation order GFS appends data to the file at least once atomically
  • 26. 3.4 SNAPSHOT 26 Goals - To quickly create branch copies of huge data sets - To easily checkpoint the current state Copy-on-write technique - Metadata for the source file or directory tree is duplicated. - Reference count for chunks are incremented. - Chunks are copied later at the first write.
  • 27. MASTER OPERATION Namespace Management and Locking Replica Placement Creation, Re-replication, Rebalancing Garbage Collection Stale Replica Detection 27 4
  • 28. “ The master executes all namespace operations and manages chunk replicas throughout the system. 2828
  • 29. 4.1 Namespace Management and Locking ▰ Namespaces are represented as a lookup table mapping full pathnames to metadata ▰ Use locks over regions of the namespace to ensure proper serialization ▰ Each master operation acquires a set of locks before it runs 29
  • 30. 4.1 Namespace Management and Locking ▰ Example of Locking Mechanism ▻ Preventing /home/user/foo from being created while /home/user is being snapshotted to /save/user ▻ Snapshot operation ▻ - Read locks on /home and /save ▻ - Write locks on /home/user and /save/user ▻ File creation ▻ - Read locks on /home and /home/user ▻ - Write locks on /home/user/foo ▻ Conflict locks on /home/user ▰ Locking scheme is that it allows concurrent mutations in the same directory 30
  • 31. 4.2 Replica Placement ▰ The chunk replica placement policy serves two purposes: ▻ Maximize data reliability and availability ▻ Maximize network bandwidth utilization. 31
  • 32. 4.3 Creation, Re-replication, Rebalancing ▰ Creation ▻ Disk space utilization ▻ Number of recent creations on each chunkserver ▰ Re-replication ▻ Prioritized: How far it is from its replication goal… ▻ The highest priority chunk is cloned first by copying the chunk data directly from an existing replica ▰ Rebalancing ▻ Periodically 32
  • 33. 4.4 Garbage Collection ▰ Deleted files ▻ Deletion operation is logged ▻ File is renamed to a hidden name, then may be removed later or get recovered ▰ Orphaned chunks (unreachable chunks) ▻ Identified and removed during a regular scan of the chunk namespace 33
  • 34. 4.5 Stale Replica Detection ▰ Stale replicas ▻ Chunk version numbering ▻ The client or the chunkserver verifies the version number when it performs the operation so that it is always accessing up-to-date data. 34
  • 35. FAULT TOLERANCE AND DIAGNOSIS High Availability Data Integrity Diagnostic Tools 35 5
  • 36. “ We cannot completely trust the machines, nor can we completely trust the disks. 3636
  • 37. 5.1 High Availability ▰ Fast Recovery ▻ - Operation log and Checkpointing ▰ Chunk Replication ▻ - Each chunk is replicated on multiple chunkservers on different racks ▰ Master Replication ▻ - Operation log and check points are replicated on multiple machines 37
  • 38. 5.2 Data Integrity ▰ Checksumming to detect corruption of stored data ▰ Each chunkserver independently verifies the integrity 38
  • 39. 5.3 Diagnostic Tools ▰ Extensive and detailed diagnostic logging has helped immeasurably in problem isolation, debugging, and performance analysis, while incurring only a minimal cost . ▰ RPC requests and replies, etc.. 39
  • 41. “ A few micro-benchmarks to illustrate the bottlenecks inherent in the GFS architecture and implementation 4141
  • 42. 6.1 Micro-benchmarks ▰ One master, two master replicas, 16 chunkservers, and 16 clients. (2003) ▰ All the machines are configured with dual 1.4 GHz PIII processors, 2 GB of memory, two 80 GB 5400 rpm disks, and a 100 Mbps full-duplex Ethernet connection to an HP 2524 switch. 42
  • 44. 6.2 Real World Clusters 44
  • 45. 6.3 Workload Breakdown ▰ Methodology and Caveats ▰ Chunkserver Workload ▰ Appends versus Writes ▰ Mster Workload 45
  • 47. Conclusions ▰ Different than previous file systems ▰ Satisfies needs of the application ▰ Fault tolerance 47