outline · 2016-04-04 · สิ่งที่ท้ำทำยใน distributed system...

27

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน
Page 2: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

Outline

2

Page 3: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

Distributed System คออะไร

• Distributed System แปลวา ระบบกระจาย โดยในระบบนคอมพวเตอรหลายเครองจะ

ท างานรวมกน (คอมพวเตอรจบกลมกนท างานขนาดใหญ)

• Domain Name Server, Skype, ฐานขอมลขนาดใหญ หรอแมกระทง AlphaGo ตางกใช

Distributed System ในการท างานทงสน

3

Page 4: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ท ำไมตองใช Distributed System

• เพอเชอมตอคอมพวเตอรทไมไดอยตดกนเชาดวยกน

• เพอเพมความปลอดภยดวยการแยกสวนออกจากกน

• เพอปองกนความผดพลาดดวยการท าซ า

• เพอยกระดบขดความสามารถของคอมพวเตอรดวยการประมวลผลแบบคขนาน

4

Page 5: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

สงททำทำยใน Distributed System

• เปนระบบทซบซอน ทกสวนท างานรวมกนพรอมกน

• ตองมการจดการหากสวนใดสวนหนงเกดความผดพลาดอยางเปนระบบ

• อธบายขดความสามารถทเพมข นไดยาก (ในเชงตวเลข)

5

Page 6: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

รปแบบของ Distributed System

• Distributed System ไดรบการพฒนาข นมาในหลากหลายรปแบบในชวงเวลา 10 ปท

ผานมา ถอไดวาเปนหวขอทไดรบความนยมอยางมาก ในคลาสนเราจะเรยนร

Distributed System 3 รปแบบคอ

• Clients and Servers

• Peer-to-Peer

• Cloud Computing

6

Page 7: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

Clients and Servers

• รปแบบ Clients and Servers เปนรปแบบทระบบจะแบงการท างานของคอมพวเตอร

ออกเปนสองกลมคอ Clients และ Servers โดย Servers จะท าหนาทสงงานใหกบ

Clients ทเชอมตออย โดยหลงจาก Clients สงผลลพธกลบมาแลว Servers จะรวม

ผลลพธทงหมดเขาดวยกน การสอสารในลกษณะนจะเรยกวา Remote Procedure Call

7

ท า 5 + 7

12

Page 8: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำงระบบ Clients and Servers

• ตองการบวกเลข 10,000 จ านวน โดยม Server 1 เครองและ Clients 4 เครอง

8

Page 9: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำงระบบ Clients and Servers (2)

• ตองการบวกเลข 10,000 จ านวน โดยม Server 1 เครองและ Clients 4 เครอง

9

Page 10: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำงระบบ Clients and Servers (3)

• ตองการบวกเลข 10,000 จ านวน โดยม Server 1 เครองและ Clients 4 เครอง

ค าตอบคอ SUM1 + SUM2 + SUM3 + SUM4

10

Page 11: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ปญหำทอำจเกดขน

• คอมพวเตอรเกดความผดพลาด (เชนไฟดบ เนตหลด เครองคาง)

11

Page 12: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

วธแกไขแบบท 1 Redistribution

• พยายามเชอมตอกบเครองทขดของอกครง

12

Page 13: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

วธแกไขแบบท 1 (2)

• เมอเวลาผานไประยะหนงแลวไมมการตอบกลบ ใหเปลยนเครอง

13

Page 14: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

วธแกไขแบบท 2 Duplication

• แบงจ านวนออกเปน 4 กลมกลมละ 2500 จ านวน

14

Page 15: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

วธแกไขแบบท 2 (2)

• ถงแมเครองแรกจะขดของ เราสามารถหาค าตอบได นนคอ SUM2 + SUM4

15

Page 16: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

เปรยบเทยบทงสองวธ

• ถาสมมตวาการบวกตวเลขหนงครงใชระยะเวลา 1 nanosecond เราสามารถค านวณ

ระยะเวลาในการประมวลผลตามตารางดานลาง

• Wait คอเวลาทรอการตอบกลบของเครองทขดของในครงท 2 ซงมคาอยางนอย 2499

16

Redistribution Duplication

เวลารวมเมอเกดปญหา 2499 + wait + 866 + 5 ns 4999 + 2 ns

เวลารวมเมอไมเกดปญหา 2499 + 3 ns 4999 + 2 ns

Page 17: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ปญหำอนๆ

• Clients แตละเครองมประสทธภาพในการท างานไมเทากน

• Clients อาจจะตองท างานใหกบ Servers หลายเครอง

• ขอมลทตองการค านวณอาจจะไมสามารถค านวณแยกเปนสวน ๆ ได

17

Page 18: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

Peer-to-Peer

• รปแบบ Peer-to-Peer (P2P) เปนรปแบบทคอมพวเตอรแตละเครองในระบบเชอมตอ

กนเอง นนคอทกเครองท าหนาทเปนทง Server และ Client เหมาะส าหรบการแชรไฟล

ขนาดใหญโดยทกเครองจะท าหนาทเปนผดาวนโหลดและผอพโหลด

18

Part 1,2

Part 3

Part 3

Page 19: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำง P2P (BitTorrent)

• เมอตองการดาวนโหลดไฟลหนงไฟล เราจะตองดาวนโหลดไฟล Torrent กอน ซงในไฟล

Torrent จะม IP Address ของ Tracker

19

Page 20: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

BitTorrent (2)

• จากนนเราจะเชอมตอกบ Tracker เพอขอรายชอคอมพวเตอรทมไฟลนอย

20

Tracker

Page 21: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

BitTorrent (3)

• เมอไดรายชอมาแลว เรากเชอมตอกบคอมพวเตอรเหลานนเพอดาวนโหลดไฟล

21

Page 22: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

BitTorrent (4)

• เมอการดาวนโหลดเรมตนข น เครองเรากจะบอก Tracker วามไฟลดงกลาว เพอให

เครองอนมาดาวนโหลดจากเครองเราได

22

Tracker

Page 23: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ปญหำทอำจเกดขน

• คอมพวเตอรขดของ (เชนปดเครอง หยดรบการเชอมตอ)• เปลยนเครองงาย ไฟลทกแบงออกเปนสวนยอย ๆ อยแลว

• ถารายชอมจ านวนมาก ควรจะเชอมตอเครองใด• เครองทใกลทสด หรอ เครองทมไฟลสมบรณทสด

• ถามเครองเดยวทไฟลสมบรณ ควรจดการอยางไรใหกระจายไฟลไดทวถงและรวดเรว• อยาลมวาไมม Server หลก ดงนนวธการแกไขตองเปนในมมของเครองหนงเครองในระบบ

• ความปลอดภย

23

Page 24: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

Cloud Computing

• Cloud Computing เปนรปแบบระบบทใชคอมพวเตอรจ านวนมากเปนทรพยากร เพอ

ใหบรการตาง ๆ แกผใชงานหรอลกคา โดยรปแบบทใหบรการมดงน

• Cloud Infrastructure ใหบรการคอมพวเตอรประสทธภาพสงผานทางเครอขายอนเตอรเนต โดย

ผใชบรการลงโปรแกรมระบบปฏบตการพเศษ โปรแกรมตาง ๆ ภายในระบบปฏบตการพงพา

การประมวลผลจากคอมพวเตอรในระบบ Cloud

• Cloud Platform ใหผใชทดสอบโปรแกรมทพฒนาข นเองในสงแวดลอมทประกอบไปดวย

คอมพวเตอรจ านวนมาก ผใชไมจ าเปนตองเขยนโปรแกรมทเกยวของกบการแบงงาน

• On-demand Software ใหผใชใชงานโปรแกรมบนระบบ Cloud ผานโปรแกรมหนากาก ซงการ

ประมวลผลทงหมดตลอดจนโครงสรางของ Cloud จะถกจดการโดยผใหบรการทงหมด

24

Page 25: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำง Cloud Infrastructure

• Oracle VM VirtualBox

25

Page 26: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำง Cloud Platform

• Google App Engine อนญาตใหผใชทพฒนา Web Application และ Mobile Application

ฝากไฟลเพอใชงานจรง โดยขอมลจะถกจดเกบใน Data Center (มอยหลายททวโลก) ซง

ดแลโดย Google

• Microsoft Azure เปนทง Cloud Platform และ Cloud Infrastructure ซงมบรการใน

หลากหลายรปแบบเชน การสราง Web Application การสราง Mobile Application การ

สรางภาพจากขอมล การจดเกบขอมลส ารอง

26

Page 27: Outline · 2016-04-04 · สิ่งที่ท้ำทำยใน Distributed System •เป็นระบบที่ซับซ้อน ทุกส่วนท างานร่วมกันพร้อมกัน

ตวอยำง On-demand Software

• Google Apps ใหบรการโปรแกรมในหลากหลายรปแบบผานเวบ เชน Chat Word Excel

PowerPoint Storage

27