slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
บทที่ 15 PowerPoint Presentation
Download Presentation
บทที่ 15

Loading in 2 Seconds...

play fullscreen
1 / 26

บทที่ 15 - PowerPoint PPT Presentation


  • 143 Views
  • Uploaded on

บทที่ 15. ในบทนี้เราจะอธิบายวิธีการที่ DFS สามารถดำเนินการออกแบบและทำให้สำเร็จ ขั้นแรกเราจะอภิปรายแนวคิดโดยทั่วไปที่เป็นพื้นฐานของ DFS จากนั้นเราจะอธิบายด้วยตัวอย่างของแนวคิดของเรา โดยทำการทดสอบหนึ่งที่มีผลกระทบต่อ DFS คือ ระบบไฟล์ของแอนดูรว์ ( Andrew File System : AFS).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'บทที่ 15' - elkan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

บทที่ 15

ในบทนี้เราจะอธิบายวิธีการที่ DFS สามารถดำเนินการออกแบบและทำให้สำเร็จ ขั้นแรกเราจะอภิปรายแนวคิดโดยทั่วไปที่เป็นพื้นฐานของ DFS จากนั้นเราจะอธิบายด้วยตัวอย่างของแนวคิดของเรา โดยทำการทดสอบหนึ่งที่มีผลกระทบต่อ DFS คือ ระบบไฟล์ของแอนดูรว์ (Andrew File System : AFS)

Distributed File System (ระบบไฟล์แบบกระจาย)

slide2

15.1 พื้นฐาน

การอธิบายโครงสร้างของ DFS เราต้องกำหนดเงื่อนไขของการบริการ เซิร์ฟเวอร์และไคลเอนต์ บริการเป็นซอฟต์แวร์ที่มีอยู่จริงทำงานอยู่บนเครื่องหนึ่งหรือมากกว่าหนึ่งเครื่องเซิร์ฟเวอร์คือการบริการซอฟต์แวร์ทำงานในเครื่องเดียว ไคลเอนต์คือกระบวนการที่สามารถร้องขอใช้บริการการใช้ชุดรูปแบบการทำงานบนไคลเอนต์อินเตอร์เฟส

DFS เป็นระบบไฟล์ซึ่งไคลเอนต์ เซิร์ฟเวอร์และอุปกรณ์จัดเก็บข้อมูลที่กระจายอยู่ในเครื่องของระบบกระจาย ดังนั้นกิจกรรมของการบริการคือการดําเนินการข้ามเครือข่ายให้สมบูรณ์โครงสร้างที่เป็นรูปธรรมและการดำเนินการของ DFS อาจมีมากจากระบบต่อระบบ ในบางโครงสร้างเซิร์ฟเวอร์ทำงานในเครื่องที่กำหนดใช้ในทางใดทางหนึ่งโดยเฉพาะ

slide3

ที่สำคัญที่สุดของการวัดประสิทธิภาพของ DFS คือ จำนวนเวลาที่จำเป็นในการสนองต่อการร้องขอบริการ อย่างไรก็ตามใน DFS มีการเข้าถึงระยะไกลมีโอเวอร์เฮดเพิ่มขึ้นน่าจะมาจากโครงสร้างแบบกระจาย โอเวอร์เฮดนี้รวมถึงเวลาที่จะส่งคำขอไปยังเซิร์ฟเวอร์จะเป็นเวลาที่ได้รับการตอบสนองผ่านเครือข่ายกลับไปยังไคลเอนต์

ข้อเท็จจริงที่ DFS จัดการกับชุดของอุปกรณ์จัดเก็บข้อมูลที่กระจัดกระจาย คือ กุญแจของ DFS ในการแยกแยะลักษณะคุณสมบัติ โดยรวมพื้นที่จัดเก็บที่ถูกจัดการโดย DFS นี้ประกอบด้วยความต่างและที่อยู่ที่ห่างไกลของพื้นที่จัดเก็บขนาดเล็ก โดยปกติองค์ประกอบของพื้นที่จัดเก็บเหล่านี้มีลักษณะเช่นเดียวกับชุดของไฟล์ คอมโพเนนต์ยูนิตเป็นชุดของไฟล์ขนาดเล็กที่สามารถเก็บในเครื่องหนึ่ง ที่เป็นอิสระจากหน่วยงานอื่นๆ ไฟล์ทั้งหมดเป็นสมาชิกขอคอมโพเนนต์ยูนิตเดียวกันต้องอยู่ในพื้นที่เดียวกัน

slide4

15.2 การตั้งชื่อและความโปร่งใส

การตั้งชื่อเป็นการวางแผนระหว่างโลคอลและวัตถุทางกายภาพ เนื่องจากระบบจัดการ ฟิสิคอลบล็อก ของข้อมูลที่เก็บอยู่ในดิสก์แทร็ค โดยปกติแล้วผู้ใช้อ้างถึงไฟล์โดยชื่อที่เป็นข้อความ ต่อมาคือที่แมปไปยังตัวเลขที่ระดับต่ำเป็นตัวระบุที่แมปไปยังดิสก์บล็อก

ใน DFS ที่โปร่งใส มิติใหม่จะถูกเพิ่มในทำให้เป็นนามธรรม คือ การซ่อนในเครือข่ายที่ไฟล์อยู่ ในการระบบไฟล์ที่มีแบบแผน, ช่วงของการวางแผนการตั้งชื่อเป็นที่อยู่ภายในดิสก์ ใน DFS ช่วงนี้จะถูกขยายเพื่อรวมเฉพาะเครื่องที่ดิสก์ที่มีไฟล์ที่เก็บไว้

slide5

15.2.1 โครงสร้างการตั้งชื่อ

เราจำเป็นต้องแยกความแตกต่าง 2 ประการของนิยามที่เกี่ยวข้องกับการวางแผนชื่อใน DFS

1. สถานที่ตั้งโปร่งใส ชื่อของไฟล์ใดๆ ต้องไม่เปิดเผยคำบอกใบ้สถานที่จัดเก็บทางกายภาพของไฟล์

2. สถานที่ตั้งอิสระ ชื่อของไฟล์ต้องไม่เปลี่ยนไปเมื่อสถานที่จัดเก็บทางกายภาพเปลี่ยนแปลง

ในทางปฏิบัติส่วนใหญ่ในปัจจุบัน DFSs ยังคงที่ การวางแผนสถานที่ตั้งที่โปร่งใสสำหรับระดับชื่อของผู้ใช้ อย่างไรก็ตามระบบไม่ได้สนับสนุนการย้ายไฟล์ ที่มีการเปลี่ยนตำแหน่งของไฟล์โดยอัตโนมัติซึ่งไม่น่าเกิดขึ้น

slide6

เมื่อแยกชื่อและสถานที่ตั้งได้รับการเสร็จ ไคลเอนต์สามารถเข้าถึงไฟล์ต่างๆที่อยู่ในระบบรีโมทเซิร์ฟเวอร์ ในความเป็นจริงไคลเอนต์ เหล่านี้อาจเป็น diskless และขึ้นอยู่กับเซิร์ฟเวอร์ที่จะจัดให้ไฟล์ทั้งหมด จำเป็ต้องพิจารณาปัญหาของการได้รับเคอร์เนลไปยังdiskless เวิร์กสเตชัน โดยdiskless เวิร์กสเตชันไม่มีเคอร์เนล ดังนั้นจึงไม่สามารถใช้รหัส DFS เพื่อกู้คืนเคอร์เนล

ไฟล์พิเศษหนึ่ง (ที่เคอร์เนลหรือบูตโค้ด) จากตำแหน่งที่ตั้งที่เลือก เมื่อเคอร์เนลถูกสำเนาอย่างมีประสิทธิภาพ ข้อดีของ diskless ที่ไคลเอนต์ มีจำนวนมาก รวมทั้งค่าใช้จ่ายน้อย และสะดวกมากขึ้น ข้อเสียคือการเพิ่มความซับซ้อนของโปรโตคอลที่มีประโยชน์และประสิทธิภาพที่สูญเสียจากการใช้เครือข่ายมากว่าโลคอลดิสก์และสะดวกมากขึ้น

slide7

15.2.2 แผนการตั้งชื่อ

แผนการตั้งชื่อใน DFS มีสามวิธีหลัก วิธีการที่ง่ายที่สุดไฟล์จะถูกระบุโดยบางการผสมของโฮสต์เนมและโลคอลเนม ซึ่งรับประกันได้ว่าไม่ซ้ำกันของชื่อทั้งระบบ ในอิบิส(Ibis) อย่างไรก็ตามการดำเนินการไฟล์เช่นเดียวกันสามารถใช้ทั้งโลคอลและรีโมทไฟล์ DFS เป็นโครงสร้างเช่นเดียวกับการรวบรวมคอมโพเนนต์ยูนิตเดี่ยว แต่ละยูนิตเป็นการระบบไฟล์ที่มีแบบแผนทั้งหมด

วิธีที่สองต่อต้านการทำให้เป็นที่นิยมแพ็คเกจของเครือข่ายสนับสนุน โลคอลไดเรกทอรี ด้วยเหตุนี้การให้ลักษณะของไดเรกทอรีต้นไม้ที่ต่อเนื่องกัน เวอร์ชันแรกของ NFS อนุญาตให้เฉพาะการติดตั้งจากรโมทไดเรกทอรีเมื่อก่อนที่จะใช้งานอย่างโปร่งใส

slide8

เราสามารถการประสานองค์ประกอบระบบไฟล์ได้สำเร็จโดยใช้วิธีการที่สาม โครงสร้างชื่อโดยรวมหนึ่งๆ ทั่วถึงไฟล์ทั้งหมดในระบบ ดีที่โครงสร้างระบบเป็นไฟล์คงที่ isomorphic ต่อโครงสร้างของการระบบไฟล์ที่มีแบบแผน ในทางปฏิบัติไฟล์พิเศษจำนวนมาก (เช่น ไฟล์อุปกรณ์บนยูนิกซ์และเครื่องเฉพาะไบนารีไดเรกทอรี) ทำให้เป้าหมายนี้ยากที่จะสำเร็จได้

slide9

15.2.3 เทคนิค

เพื่อปรับปรุงการได้มาของข้อมูลการวางแผนที่สำคัญที่ เทคนิคในการเอาชนะอุปสรรคนี้คือการเพิ่มที่ตั้งอิสระของไฟล์ที่ระบุในระดับต่ำ ชื่อไฟล์ที่เป็นข้อความที่แมปกับไฟล์ระดับต่ำที่ระบุ ซึ่งแสดงให้เห็นว่าไฟล์ยังคงอยู่ในคอมโพเนนต์บูนิต ผลที่หลีกเลี่ยงไม่ได้คือต้องการการวางแผนระดับที่สองที่จะแมฟ คอมโพเนนต์ยูนิตไปยังตำแหน่งที่ตั้งและต้องการอัพเดทวิธีการที่สัมพันธ์กันอย่างง่าย ๆ

และเพิ่มระดับของการเอาออกเพื่อสร้างแผนการตั้งชื่อสถานที่ตั้งอิสระ

เราสามารถทำให้เกิดความจำเพาะได้ตลอดเวลาโดยการดูแลไม่ให้ชื่อที่ใช้งานแล้วนำมาใช้อีก โดยการเพิ่มบิตอย่างเพียงพอ หรือโดยใช้ไทม์สแตมป์กับส่วนของชื่อ อีกวิธีหนึ่งในการดูแลขั้นตอนนี้ก็คือเราสละตำแหน่งที่ตั้งในระบบที่โปร่งใส วิธีการโดยทั่วไปที่จะกำหนดในระดับต่ำได้สำเร็จคือการใช้โครงสร้างชื่อ ชื่อนี้จะเป็นบิตสตริงที่มักจะมีสองส่วน ส่วนแรกระบุคอมโพเนนต์บูนิตที่มีแฟ้มอยู่ ส่วนที่สองระบุเฉพาะไฟล์ภายในยูนิต

slide10

15.3 ไฟล์เข้าถึงระยะไกล

วิธีหนึ่งที่จะทำการโอนถ่ายได้สำเร็จคือ ด้วยวิธีรีโมทเซอร์วิส หนึ่งในทางเลือกส่วนใหญ่ของการใช้รีโมทเซิร์ฟเวอร์คือแบบจำลองการเรียกกระบวนบวนการของการรีโมท (RPC)

การตรวจสอบประสิทธิภาพที่สมควรของวิธีการรีโมทเซอร์วิส เราสามารถใช้รูปแบบของการแคช ในข้อตกลงของระบบไฟล์การแคชที่สมเหตุสมผลเพื่อลด disk I/O ให้น้อยลง ในขณะที่เป้าหมายของ DFS คือลดทั้งการจราจรของเครือข่ายและ disk I/O เราจะอธิบายการดำเนินการแคชใน DFS และในทางตรงกันข้ามกับพื้นฐานการรีโมท-การสาธิตการรีโมท

slide11

15.3.1 แผนการพื้นฐานการแคช

หากข้อมูลจำเป็นในการสนองคำร้องขอการเข้าถึงไม่พร้อมที่จะถูกแคช การเข้าถึงจะกระทำในสำเนาของแคช แนวคิดคือการเก็บดิสก์บล็อกที่เพิ่งถูกเข้าถึงในแคช ช่วยให้แคชขนาดถูกจำกัด เมื่อสำเนาที่แคชแล้วถูกแก้ไข การเปลี่ยนแปลงจำเป็นจะต้องส่งกลับไปยังต้นฉบับเพื่อรักษาการเข้าใจที่พ้องกัน การแคชใน DFS ง่ายที่จะเรียกว่า เครือข่ายของหน่วยความจำเสมือน เนื่องจากทำเช่นเดียวกับการต้องการเรียกของหน่วยความจำเสมือน อย่างไรก็ตามผลลัพธ์ที่ได้จะมีข้อเสียเกิดขึ้น

ข้อมูลที่แคชแล้วจำนวนน้อย DFS สามารถเปลี่ยนแปลงจากกลุ่มของไฟล์ไปเป็นแฟ้มทั้งหมด การเพิ่มหน่วยการแคชจะเพิ่มอัตราส่วนขึ้น ซึ่งเพิ่มโอกาสที่จะเกิดขึ้นของปัญหาที่สัมพันธ์กันได้ การเลือกหน่วยการแคชที่เกี่ยวข้องกับการพิจารณาพารามิเตอร์หน่วยขนาดใหญ่ของข้อมูลที่แคชแล้วจะต้องไม่นำมารวมกันในการจัดส่งและจะรวมกันอีกครั้งเมื่อตอบรับ

slide12

15.3.2 แคชที่ตั้ง

ดิสก์แคชนั้นมีประโยชน์เหนือหลักหน่วยความจำแคชหลัก หน่วยความจำแคชนั้นมีข้อดีอยู่หลายอย่าง

1.หน่วยความจำแคชสำคัญที่จะอนุญาติการทำงาน (จะเป็น) diskless

2.ข้อมูลเพิ่มเติมสามารถเข้าถึงได้อย่างรวดเร็วจากแคชในหน่วยความจำหลักมากกว่ากว่าจากในดิสก์

3.เทคโนโลยีนั้นเป็นการย้ายและเป็นหน่วยความจำที่ไม่แพงที่ทำให้เกิดประสิทธิภาพที่รวดเร็วขึ้น ซึ่งมันเป็นเกินตามที่คาดการณ์ไว้เพื่อประโยชน์ของดิสก์แคช

เซิร์ฟเวอร์แคช จะอยู่ในหน่วยความจำโดยไม่คำนึงถึงหลักที่ผู้ใช้แคชอยู่ ถ้าเราใช้หลักหน่วยความจำแคชกับผู้ใช้เครื่องเกินไปเราสามารถสร้างเพียงแคชเดียวตามกลไกสำหรับใช้ทั้งเครื่องเซิฟเวอร์และผู้ใช้

slide13

15.3.3 แคช-ปรับปรุงนโยบาย

นโยบายอย่างง่ายที่จะเขียนข้อมูลลงในดิสก์แม้ว่าจะถูกจัดให้อยู่ในแคชใดนั้น มันจะมีประโยชน์ทางด้านการเขียนผ่านนโยบายคือความเชื่อถือได้

ทางเลือกคือการปรับปรุงเวลาในการเขียนนโยบาย ด้วยความรู้เดียวกับการทำแคช การปรับปรุงแก้ไขที่แคชแล้วเขียนไปยังเซิฟเวอร์

ความหลากหลายในการเขียนโยบายมีความล่าช้ามีอยู่อีกทางเลือกหนึ่ง คือ เมื่อมีการปล่อยข้อมูลออกมาจอกแคชของผู้ใช้ ซึ่งมันอาจจะส่งผลให้ประสิทธิภาพนั้นลดน้อยลงก่อนที่ผู้ใช้จะส่งกลับไปยังเซิร์ฟเวอร์ ซึ่ง NFS ใช้นโยบายสำหรับไฟล์ข้อมูลแต่ครั้งเขียนออกไปยังเซิร์ฟเวอร์ในระหว่างการแคชที่จะต้องเขียนเข้าถึงเซิร์ฟเวอร์ของดิสก์ก่อนที่จะพิจารณาเสร็จ NFS ถือว่าเมตาดาต้า แตกต่างกัน จะหลีกเลี่ยงความเสียหาย เมื่อผู้ใช้หรือเซิร์ฟเวอร์เกิดความผิดพลาด

slide14

รูปที่ 15.1 Caches และการใช้แคช

slide15

15.3.4 คงเส้นคงวา

จะมีอยู่สองวิธีที่จะตรวจสอบความถูกต้องของข้อมูลแคช

1.ทางด้านฝั่งของผู้ใช้ คือ ผู้ใช้จะเริ่มต้นการตรวจสอบความถูกของรายชื่อของเซิร์ฟเวอร์และตรวจสอบ ว่ามีข้อมูลท้องถิ่นสอดคล้องกับมาสเตอร์สำเนาหรือไม่

2.ของแคช เมื่อเซิร์ฟเวอร์ตรวจหาที่อาจเกิดขึ้นไม่มีความคงเส้นคงวาที่ถูกต้อง มีแนวโน้มที่จะเป็นสำหรับความไม่ลงรอยกันเกิดขึ้นเมื่อสองที่แตกต่างกัน ทางผู้ใช้จะเกิดในขัดแย้งโหมดแคชไฟล์ ทางด้านฝั่งของเซิร์ฟเวอร์ คือ เซิร์ฟเวอร์จะบันทึกสำหรับแต่ละผู้ที่ใช้แฟ้ม

slide16

15.3.5 เปรียบเทียบการใช้แคชและบริการระยะไกล

สิ่งที่มีความจำเป็นเพื่อเพิ่มประสิทธิภาพการทำงานนี้โดยการดูที่ข้อดีและข้อเสียของทั้งสองวิธีการนี้คือ

1.ส่วนมากการเข้าถึงระยะไกลจะรวดเร็ว สำหรับแต่ละเซิร์ฟเวอร์นอกจากจะมีการติดต่อครั้งคราวเท่านั้นแทนที่จะเข้าถึงเซิร์ฟเวอร์โดยตรง

2. การรวมเครือข่ายจะมีประสิทธิภาพข้อมูลต่ำ การส่งชุดเพื่อตอบสนองคำขอเฉพาะ

3. แคช-กับความคงเส้นคงวา ปัญหาคือข้อเสียเปรียบหลักของแคช เมื่อเข้าสู่รูปแบบการแสดงการเขียนแคชคือดีกว่า

4. การใช้แคชที่มีประโยชน์ ควรจะดําเนินการในเครื่องที่มีทั้งดิสก์หรือหน่วยความจำหลักขนาดใหญ่ การเข้าถึงระยะไกลในหน่วยความจำขนาดเล็ก

5. เนื่องจากข้อมูลจะถูกโยกย้ายระหว่างเซิร์ฟเวอร์และไคลเอนต์ไฟล์การดำเนินงานที่ระดับต่ำ อินเตอร์เฟสจะแตกต่างจากที่ระดับบนอินเตอร์เฟซผู้ใช้

slide17

15.4 Stateful Versus Stateless Service

ตามปกติผู้ใช้ต้องดำเนินการ open() การดำเนินงานในแฟ้มก่อนที่เข้าถึงแฟ้ม เซิร์ฟเวอร์จะจัดการข้อมูลเกี่ยวกับแฟ้มจากดิสก์เก็บไว้ในหน่วยความจำเป็นบริการลักษณะเป็นเชื่อมต่อระหว่างผู้ใช้และเซิร์ฟเวอร์ในระหว่างการเซสชัน ซึ่งเป็นบริการที่ช่วยให้เซิร์ฟเวอร์เป็นหน่วยความจำหลักที่จะเก็บข้อมูลเกี่ยวกับลูกค้า ซึ่ง AFS เป็นระบบไฟล์แบบการบริการ สเตทฟูล

การหลีกเลี่ยงบริการข้อมูลสถานะเซิร์ฟเวอร์ไม่จำเป็นต้องเก็บตารางเปิดแฟ้มในหน่วยความจำหลักผู้ใช้จะต้องมีระบวนการจะเปิดแฟ้มและเปิดที่จะไม่ส่งผลในระยะไกลการส่งข้อความ การอ่านและเขียนจะเป็นงานที่รีโมทข้อความ ซึ่ง NFS เป็นไฟล์บริการชนิดนี้

slide18

ข้อดีของบริการ สเตทฟูล คือเป็นการช่วยเพิ่มประสิทธิภาพของไฟล์ข้อมูลเป็นหลักในหน่วยความจำของแคชนอกจากนี้ที่ สเตทฟูล เซิร์ฟเวอร์รู้ว่าไฟล์ดังกล่าวจะถูกเปิดตามลำดับเข้าถึงและสามารถอ่านล่วงหน้าในบล็อกถัดไป

การแบ่งแยกระหว่าง สเตทฟูล และไร้สัญญาณบริการเพิ่มเติมจะชัดขึ้นเมื่อเราพิจารณาผลของความผิดพลาดที่เกิดขึ้นในขณะที่กิจกรรมบริการ โดยที่ สเตทฟูล ไม่มีเซิร์ฟเวอร์ที่ทำให้เกิดความผิดพลาด ส่วนการบริการแบไร้สัญญาณบริการ เซิร์ฟเวอร์จะหลีกเลี่ยงปัญหาเหล่านี้ดังนั้นการที่มีผลต่อความล้มเหลวของเซิร์ฟเวอร์และการกู้คืนที่เกือบไม่มีความแตกต่างระหว่างเซิร์ฟเวอร์ ซึ่งจะทำให้คำขอจะไม่ได้รับการตอบสนอง

slide19

15.5AFS

ระบบไฟล์แอนดรูว์หรือ AFS ถูกพัฒนาขึ้นโดยยึดกลไกการใช้ข้อมูลร่วมกันระหว่างไคลเอ็นต์ต่างสถาปัตยกรรมเป็นพื้นฐาน

AFS ถูกคิดค้นขึ้นเพื่อแก้หลายๆ ปัญหาของ DFSs อย่างง่าย การดำเนินการดังกล่าวเป็นการดำเนินการโดยอัตโนมัติ หนึ่งในคุณสมบัติที่เยี่ยมยอดมากที่สุดของ AFS คือความสามารถในการขยายขนาด

15.5.1 ภาพรวม

ไคลเอ็นต์จะมีพื้นที่ซึ่งถูกแบ่งไว้สำหรับไฟล์ชื่อ ส่วนเซิร์ฟเวอร์เฉพาะจะถูกเรียกรวม ๆ ว่าไวซ์ โดยพื้นที่ของชื่อที่ถูกใช้ร่วมกันมีลักษณะคุณสมบัติเหมือนกันและมีลำดับชั้นไฟล์ที่มีความโปร่งใสของที่ตั้งโดยมีพื้นที่ของชื่อที่ถูกใช้ร่วมกันเป็นตัวที่เกิดตามมาเซิร์ฟเวอร์จะรับผิดชอบในส่วนการจัดเก็บและจัดการพื้นที่ของชื่อที่ถูกใช้ร่วมกันและมีโปรแกรมระบบที่จำเป็นเพื่อการดำเนินการอย่างอัตโนมัติและเพื่อประสิทธิภาพที่ดีขึ้น

slide20

15.5.2 พื้นที่ของชื่อที่ถูกใช้ร่วมกัน

พื้นที่ของชื่อที่ถูกใช้ร่วมกันถูกสร้างขึ้นจากกลุ่มหน่วยองค์ประกอบ (component) ที่เรียกว่าวอลุ่ม (volumes) วอลุ่มถูกจับอยู่รวมกันโดยกลไกที่คล้ายกับกลไกหนึ่งในยูนิกซ์ วอลุ่มจึงเป็นหน่วยการจัดการสำคัญและมีบทบาทหลักในการระบุตัวตนและหาที่ตั้งของแต่ละไฟล์

เพื่อความสมดุลของดิสก์สเปซที่สามารถใช้งานได้วอลุ่มจำเป็นต้องย้ายระหว่างดิสก์พาร์ติชันและเซิร์ฟเวอร์ เพื่อที่ว่าฐานข้อมูลสถานที่ตั้งจะได้ไม่จำเป็นต้องอัพเดทอย่างตรงจังหวะกัน ในบางจุดวอลุ่มจะปิดการใช้งานชั่วคราวเพื่อที่การปรับปรุงครั้งล่าสุดวอลุ่มใหม่จึงสามารถใช้งานได้อีกครั้งที่ที่ตั้งใหม่ การดำเนินการเคลื่อนย้ายหรือเคลื่อนไหววอลุ่มเป็นส่วนที่เล็กและละเอียดมาก คือถ้าเซิร์ฟเวอร์ไม่เกิดความผิดพลาด การดำเนินการก็จะถูกยกเลิก

slide21

15.5.3 การดำเนินการของไฟล์และซีแมนทิคที่สอดคล้อง

ระบบปฏิบัติการในแต่ละเวิร์คสเตชันได้ขัดขวางการดำเนินการของไฟล์ซิสเต็มคอลและจะส่งไฟล์ซิสเต็มคอลมาที่กระบวนการระดับไคลเอ็นต์เวิร์คสเตชัน กระบวนการนี้เรียกว่าวีนัส วีนัสอาจติดต่อกับไวซ์เฉพาะเมื่อไฟล์ถูกเปิดหรือปิดเท่านั้น ผลลัพธ์ที่ตามมาคือการเขียนที่ตั้งหรือบางไซต์จะไม่สามารถมองเห็นได้โดยทันทีที่ไซต์อื่น ๆ

นอกจากนี้วีนัสยังแคชเนื้อหาของไดเร็กทอรี่และซิมโบลิคลิ้งค์ด้วยแต่ละองค์ประกอบในพาธชื่อจะถูกเฟ็ทช์ (fetch) วีนัสทำการตรวจสอบไดเร็กทอรี่ที่ถูกเฟ็ทช์เฉพาะที่โดยใช้ฟิดเข้ามาช่วย การเรียกเพื่อจะเปิดไฟล์ดังกล่าวในภายภาคหน้าจะไม่เกี่ยวพันกับการสี่อสารผ่านเครือข่ายใด ๆ ทั้งสิ้น

กรณียกเว้นเพียงกรณีเดียวของหลักการแคชคือการปรับปรุงไดเร็กทอรี่ซึ่งถ้าเกิดขึ้นโดยตรงบนเซิร์ฟเวอร์ที่เชื่อถือได้แล้วจะส่งผลให้ไดเร็กทอรี่นั้นมีความสมบูรณ์

slide22

15.5.4 การดำเนินการให้เป็นผลสำเร็จ

วีนัสดำเนินองค์ประกอบการแปลพาธชื่อให้สำเร็จโดยใช้องค์ประกอบ จากการดำเนินการดังกล่าว มีแคชที่ดำเนินการแมปปิ้ง หากวอลุ่มไม่เกิดขึ้นในแคชนี้ วีนัสจะทำการติดต่อกับทุกๆ เซิร์ฟเวอร์ที่มีการเชื่อมต่อเสร็จสิ้นแล้ว ยกเว้นในกรณีที่วีนัสมีการเชื่อมต่อกับเซิร์ฟเวอร์เรียบร้อยแล้วที่วีนัสจะมีการสร้างการเชื่อมต่อขึ้นมาใหม่ การสร้างการเชื่อมต่อมีความจำเป็นอย่างมาก เมื่อไฟล์เป้าหมายถูกพบและถูกแคช การสำเนาจะถูกสร้างขึ้นบนโลคอลดิสก์ ดังนั้นวีนัสจะวกกลับมาที่เคอร์เนล ทำการเปิดและสำเนาแคช จากนั้นก็วกกลับไปที่กระบวนการไคลเอ็นต์ของมันเอง

slide23

กระบวนการระดับไคลเอ็นต์เดี่ยวบนแต่ละไฟล์เซิร์ฟเวอร์ ทุกไฟล์บริการถูกร้องขอจากไคลเอ็นต์ กระบวนการนี้ใช้แพ็กเกจ lightweight-process package แพ็กเกจ RPCจะถูกรวมเข้ากับแพ็กเกจlightweight-process package และเนื่องจากกระบวนการดังกล่าว การยินยอมให้ไฟล์เซิร์ฟเวอร์เกิดขึ้นพร้อมกันได้จึงเป็นการดำเนินการระหว่างหนึ่ง RPC ต่อหนึ่ง lightweight-process package การถ่ายโอนไฟล์ทั้งหมดคือการดำเนินการที่เป็นผลข้างเคียงมาจาก RPC calls หนึ่งการเชื่อมต่อ RPC จะมีต่อหนึ่งไคลเอ็นต์ กลุ่มของlightweight-process package ได้ให้บริการคำร้องขอของไคลเอ็นต์บนทุก ๆ การเชื่อมต่อ

slide24

สรุป

DFS คือระบบไฟล์บริการที่ ไคลเอ็นต์ เซิร์ฟเวอร์ และเครื่องจัดเก็บข้อมูลกระจายอยู่ท่ามกลางที่ตั้งของระบบกระจาย เพราะฉะนั้น กิจกรรมการบริการจึงมีการดำเนินการข้ามเครือข่ายได้ แทนที่จะมีตะกร้าข้อมูล (repository) อยู่ที่ศูนย์กลางเพียงที่เดียว แต่กลับมีเครื่องจัดเก็บข้อมูลที่เป็นอิสระอยู่มากมาย

ในเชิงอุดมคติ DFS ควรมองไคลเอ็นต์ของมันเป็นเหมือนระบบไฟล์ตามแบบแผน ความหลากหลายรวมถึงการกระจายของเซิร์ฟเวอร์และเครื่องจัดเก็บข้อมูลของมันควรทำให้มีความโปร่งใส นั่นหมายถึงว่าอินเตอร์เฟสไคลเอ็นต์ของ DFS ไม่ควรที่จะจำแนกออกเป็นโลคอลและไฟล์ระยะไกล ซึ่งก็ขึ้นอยู่กับ DFS ในการกำหนดตำแหน่งของไฟล์และจัดเรียงการขนส่งข้อมูล DFS ที่โปร่งใสจะอำนวยความสะดวกให้ไคลเอ็นต์ในเรื่องความยืดหยุ่น โดยการนำเอาสถาปัตยกรรมของไคลเอ็นต์มาที่ไซต์ที่ตั้งด้วยเมื่อไคลเอ็นต์ทำการเข้าสู่ระบบ (log in)

slide25

มีหลักการมากมายที่ใช้ในสำหรับโครงสร้างการให้ชื่อใน DFS หลักการอย่างง่ายคือไฟล์จะถูกให้ชื่อโดยการรวมกันของชื่อโฮสต์และชื่อท้องถิ่นบางส่วน ซึ่งยืนยันได้ว่าเป็นชื่อที่เป็นเอกภาพและกว้างขวาง อีกหลักการคือการเผยแพร่โดย NFS ซึ่ง NFS จะเตรียมวิธีการที่จะแนบไดเร็กทอรี่ระยะไกลไปยังไดเร็กทอรี่ท้องถิ่น เป็นคุณลักษณะของต้นไม้ไดเร็กทอรี่ที่เชื่อมโยงกัน

โดยปกติแล้ว การร้องขอเพื่อเข้าถึงไฟล์ระยะไกลนั้นจะดำเนินการโดยสองวิธีการ วิธีของการบริการระยะไกลจะกระทำโดยคำร้องจะถูกส่งไปที่เซิร์ฟเวอร์ เครื่องเซิร์ฟเวอร์จะสร้างการเข้าถึง จากนั้นจะส่งผลลัพธ์กลับมายังไคลเอ็นต์ ส่วนวิธีของการแคช หากข้อมูลจำเป็นต้องตอบสนองคำร้องขอการเข้าถึงที่ยังไม่ได้ดำเนินการแคช จะต้องทำสำเนาข้อมูลที่นำมาจากเซิร์ฟเวอร์และส่งไปที่ไคลเอ็นต์ ซึ่งการเข้าถึงจะถูกสร้างขึ้นบนสำเนาแคช แก่นหลักอยู่ที่การรักษาสภาพดิสก์บล็อกที่ถูกเข้าถึงในแคช เพื่อที่ว่าการเข้าถึงข้อมูลเดียวกันซ้ำ ๆ จะได้ดำเนินการเฉพาะที่โดยไม่เกิดปัญหาเครือข่ายขึ้น นโยบายการแทนที่ถูกนำมาใช้เพื่อจัดเก็บขนาดของขอบเขต ปัญหาของการเก็บสำเนาแคชให้สอดคล้องกับไฟล์มาสเตอร์คือปัญหาความสอดคล้องของแคช

slide26

มีสองหลักการของข้อมูลทางฝั่งเซิร์ฟเวอร์ ถ้าไม่ใช่เซิร์ฟเวอร์ตามรอยแต่ละไฟล์ที่ไคลเอ็นต์เข้าถึง ก็ต้องเป็นการจัดเตรียมบล็อกอย่างง่าย ๆ ขณะที่ไคลเอ็นต์ร้องขอบล็อกโดยไม่มีข้อมูลที่เป็นประโยชน์กับบล็อกเลย หลักการนี้เป็นการเปรียบเทียบระหว่างตัวอย่างการบริการที่เป็นสถานะ (stateful) และไม่เป็นสถานะ (stateful)

การทำสำเนาไฟล์บนต่างเครื่องย่อมทำให้เกิดความซ้ำซ้อนในการปรับปรุงความสามารถในการใช้งาน การทำสำเนาหลากหลายเครื่องก็เป็นประโยชน์ในเรื่องประสิทธิภาพได้เช่นกัน เนื่องจากการเลือกสำเนาข้างเคียงเพื่อบริการการเข้าถึงคำร้องส่งผลให้การบริการใช้เวลาน้อย

AFS คือคุณลักษณะที่โดดเด่นของ DFS ด้วยความเป็นอิสระของที่ตั้งและความโปร่งใสของที่ตั้ง นอกจากนี้ AFS ยังกำหนดซีแมนทิคที่สอดคล้องกันอย่างมีนัยสำคัญไว้ด้วย การแคชและการทำสำเนาจึงได้ถูกนำมาใช้ในการปรับปรุงประสิทธิภาพ