CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating...

19
1 1 Colorado State University Yashwant K Malaiya Fall 2017 Lecture 26 CS370 Operating Systems File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources

Transcript of CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating...

Page 1: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

1 1

Colorado State UniversityYashwant K MalaiyaFall 2017 Lecture 26

CS370 Operating Systems

File Systems

Slides based on • Text by Silberschatz, Galvin, Gagne• Various sources

Page 2: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

2

FAQ

• Cylinders: all the platters? • Inodes: where?

Page 3: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

3

FAQ

• Do all of the files need to be on the same platter?

• Is removing soft links easier?

– Softlink is a small file that contains a pointer.

• How does a program know which inodes to use?

• Indexed allocation: does the index table contains pointers to the data or the data itself?

Page 4: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

4

Data and Metadata

Storage abstraction:

• Metadata:

– File system metadata (FS attributes, size, free lists),

– File metadata (file attributes, disk block maps)

• Data

– Data blocks

Page 5: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

5

Combined Scheme: UNIX inodes

More index blocks than can be addressed with 32-bit file pointer

Assume 4K bytes per block, 32-bit addresses

Volume block:Table with file namesPoints to this inode(file control block)

Common: 12 direct+3. Indirect block could contain 1024 pointers.Max file size: k.k.k.4k (triple)+

Ext4: uses extents (pointer+ length)

Page 6: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

6

Hadoop: Distributed Framework for Big Data

Big Data attributes:

• Large volume: TB -> PB varies with Kryder’s law

• Geographically Distributed avoiding data movement

• Needs: reliability, analytic approaches

History:

• Google file system 2003 and Map Reduce 2004

• Hadoop to support distribution for the Yahoo search engine project ‘05, given to Apache Software Foundation ‘06

• Hadoop ecosystem evolves with Yarn ‘13, Pig ‘10, Spark ‘14 etc.

• The Google file system by Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung (2003)• MapReduce: Simplified Data Processing on Large Clusters. by Jeffrey Dean and Sanjay Ghemawat (2004)

Page 7: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

7

Hadoop: Distributed Framework for Big Data

Recent development. Not in the book.• Distributed file system

• Distributed execution

Page 8: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

8 8

Colorado State UniversityYashwant K MalaiyaFall 2017 Lecture 26

CS370 Operating Systems

Big Data: Hadoop HDFS and map-reduce

• Various sources

Page 9: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

9

Hadoop: Core components

• Hadoop (originally): MapReduce + HDFS

• MapReduce: A programming framework for processing parallelizable problems across huge datasets using a large number of commodity machines.

• HDFS: A distributed file system designed to efficiently allocate data across multiple commodity machines, and provide self-healing functions when some of them go down• Commodity machines: lower performance per machine, lower cost, perhaps lower reliability compared with

special high performance machines.

• RAID (redundant array of inexpensive disks): using multiple disks in a single enclosure for achieving higher reliability and/or higher performance.

Page 10: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

10

Challenges in Distributed Big Data

Common Challenges in Distributed Systems• Node Failure: Individual computer nodes may

overheat, crash, experience hard drive failures, or run out of memory or disk space.

• Network issues: Congestion/delays (large data volumes), Communication Failures.

• Bad data: Data may be corrupted, or maliciously or improperly transmitted.

• Other issues: Multiple versions of client software may use slightly different protocols from one another.

• Security

Page 11: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

11

HDFS Architecture

• HDFS Block size: 64-128 MB ext4: 4KB

• HDFS file size: “Big”

• Single HDFS FS cluster can span many nodes possibly geographically distributed. datacenters-racks-blades

• Node: system with CPU and memory

Metadata (corresponding to superblocks, Inodes)

• Name Node: metadata, where blocks are physically located

Data (files blocks)

• Data Nodes: hold blocks of files (files are distributed)

Page 12: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

12

HDFS Architecture

http://a4academics.com/images/hadoop/Hadoop-Architecture-Read-Write.jpg

Page 13: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

13

HDFS Write operation

CERN

Page 14: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

14

HDFS Fault-tolerance

• Disks use error detecting codes to detect corruption.

• Individual node/rack may fail.

• Data Nodes (on slave nodes):

– data is replicated. Default is 3 times. Keep a copy far away.

– Send periodic heartbeat (I’m OK) to Name Nodes. Perhaps once every 10 minutes.

– Name node creates another copy if no heartbeat.

Page 15: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

15

HDFS Fault-tolerance

Name Node (on master node) Protection:

• Transaction log for file deletes/adds, etc (only metadata recorded). Creation of more replica blocks when necessary after a DataNode failure

• Standby name node: namespace backup– In the event of a failover, the Standby will ensure that it has read all of

the edits from the Journal Nodes and then promotes itself to the Active state

– Implementation/delay version dependent

Name Node metadata is in RAM as well as checkpointed on disk. On disk the state is stored in two files:• fsimage: Snapshot of file system metadata• editlog: Changes since last snapshot

Page 16: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

16

HDFS Command line interface

• hadoop fs –help

• hadoop fs –ls : List a directory

• hadoop fs mkdir : makes a directory in HDFS

• hadoop fs –rm : Deletes a file in HDFS

• copyFromLocal : Copies data to HDFS from local filesystem

• copyToLocal : Copies data to local filesystem

• Java code can read or write HDFS files (URI) directly

https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html

Page 17: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

17

Distributing Tasks

MapReduce Engine:

• JobTracker splits up the job into smaller tasks(“Map”) and sends it to the TaskTrackerprocess in each node.

• TaskTracker reports back to the JobTracker node and reports on job progress, sends partial results (“Reduce”) or requests new jobs.

• Tasks are run on local data, thus avoiding movement of bulk data.

• Originally developed for search engine implementation.

Page 18: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

18

Hadoop Ecosystem Evolution

• Hadoop YARN: A framework for job scheduling and cluster resource management, can run on top of Windows Azure or Amazon S3.

• Apache spark is more general, faster and easier to program than map Reduce. • Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster

Computing, Berkeley, 2012

Page 19: CS370 Operating Systems - cs.colostate.educs370/Fall17/lectures/12hfilesystemL26.pdfCS370 Operating Systems Big Data: Hadoop ... –Presentation doc (Powerpoint/poster) Fri Dec 1 –Poster

19

CS370 Projects

A. Research

– Presentation doc (Powerpoint/poster) Fri Dec 1

– Poster session: Thursday Dec 7 (?)• A/Z E100 Computer Lab/Morgan Library printer

– Peer reviews: Fri Dec 8

– Final Paper: December 13, 2 column IEEE format

B. Raspberry Pi Development– TPB-D3 due 12/4/2017 Report + TA demo