outline · 2016-04-04 · สิ่งที่ท้ำทำยใน distributed system...
TRANSCRIPT
Outline
2
Distributed System คออะไร
• Distributed System แปลวา ระบบกระจาย โดยในระบบนคอมพวเตอรหลายเครองจะ
ท างานรวมกน (คอมพวเตอรจบกลมกนท างานขนาดใหญ)
• Domain Name Server, Skype, ฐานขอมลขนาดใหญ หรอแมกระทง AlphaGo ตางกใช
Distributed System ในการท างานทงสน
3
ท ำไมตองใช Distributed System
• เพอเชอมตอคอมพวเตอรทไมไดอยตดกนเชาดวยกน
• เพอเพมความปลอดภยดวยการแยกสวนออกจากกน
• เพอปองกนความผดพลาดดวยการท าซ า
• เพอยกระดบขดความสามารถของคอมพวเตอรดวยการประมวลผลแบบคขนาน
4
สงททำทำยใน Distributed System
• เปนระบบทซบซอน ทกสวนท างานรวมกนพรอมกน
• ตองมการจดการหากสวนใดสวนหนงเกดความผดพลาดอยางเปนระบบ
• อธบายขดความสามารถทเพมข นไดยาก (ในเชงตวเลข)
5
รปแบบของ Distributed System
• Distributed System ไดรบการพฒนาข นมาในหลากหลายรปแบบในชวงเวลา 10 ปท
ผานมา ถอไดวาเปนหวขอทไดรบความนยมอยางมาก ในคลาสนเราจะเรยนร
Distributed System 3 รปแบบคอ
• Clients and Servers
• Peer-to-Peer
• Cloud Computing
6
Clients and Servers
• รปแบบ Clients and Servers เปนรปแบบทระบบจะแบงการท างานของคอมพวเตอร
ออกเปนสองกลมคอ Clients และ Servers โดย Servers จะท าหนาทสงงานใหกบ
Clients ทเชอมตออย โดยหลงจาก Clients สงผลลพธกลบมาแลว Servers จะรวม
ผลลพธทงหมดเขาดวยกน การสอสารในลกษณะนจะเรยกวา Remote Procedure Call
7
ท า 5 + 7
12
ตวอยำงระบบ Clients and Servers
• ตองการบวกเลข 10,000 จ านวน โดยม Server 1 เครองและ Clients 4 เครอง
8
ตวอยำงระบบ Clients and Servers (2)
• ตองการบวกเลข 10,000 จ านวน โดยม Server 1 เครองและ Clients 4 เครอง
9
ตวอยำงระบบ Clients and Servers (3)
• ตองการบวกเลข 10,000 จ านวน โดยม Server 1 เครองและ Clients 4 เครอง
ค าตอบคอ SUM1 + SUM2 + SUM3 + SUM4
10
ปญหำทอำจเกดขน
• คอมพวเตอรเกดความผดพลาด (เชนไฟดบ เนตหลด เครองคาง)
11
วธแกไขแบบท 1 Redistribution
• พยายามเชอมตอกบเครองทขดของอกครง
12
วธแกไขแบบท 1 (2)
• เมอเวลาผานไประยะหนงแลวไมมการตอบกลบ ใหเปลยนเครอง
13
วธแกไขแบบท 2 Duplication
• แบงจ านวนออกเปน 4 กลมกลมละ 2500 จ านวน
14
วธแกไขแบบท 2 (2)
• ถงแมเครองแรกจะขดของ เราสามารถหาค าตอบได นนคอ SUM2 + SUM4
15
เปรยบเทยบทงสองวธ
• ถาสมมตวาการบวกตวเลขหนงครงใชระยะเวลา 1 nanosecond เราสามารถค านวณ
ระยะเวลาในการประมวลผลตามตารางดานลาง
• Wait คอเวลาทรอการตอบกลบของเครองทขดของในครงท 2 ซงมคาอยางนอย 2499
16
Redistribution Duplication
เวลารวมเมอเกดปญหา 2499 + wait + 866 + 5 ns 4999 + 2 ns
เวลารวมเมอไมเกดปญหา 2499 + 3 ns 4999 + 2 ns
ปญหำอนๆ
• Clients แตละเครองมประสทธภาพในการท างานไมเทากน
• Clients อาจจะตองท างานใหกบ Servers หลายเครอง
• ขอมลทตองการค านวณอาจจะไมสามารถค านวณแยกเปนสวน ๆ ได
17
Peer-to-Peer
• รปแบบ Peer-to-Peer (P2P) เปนรปแบบทคอมพวเตอรแตละเครองในระบบเชอมตอ
กนเอง นนคอทกเครองท าหนาทเปนทง Server และ Client เหมาะส าหรบการแชรไฟล
ขนาดใหญโดยทกเครองจะท าหนาทเปนผดาวนโหลดและผอพโหลด
18
Part 1,2
Part 3
Part 3
ตวอยำง P2P (BitTorrent)
• เมอตองการดาวนโหลดไฟลหนงไฟล เราจะตองดาวนโหลดไฟล Torrent กอน ซงในไฟล
Torrent จะม IP Address ของ Tracker
19
BitTorrent (2)
• จากนนเราจะเชอมตอกบ Tracker เพอขอรายชอคอมพวเตอรทมไฟลนอย
20
Tracker
BitTorrent (3)
• เมอไดรายชอมาแลว เรากเชอมตอกบคอมพวเตอรเหลานนเพอดาวนโหลดไฟล
21
BitTorrent (4)
• เมอการดาวนโหลดเรมตนข น เครองเรากจะบอก Tracker วามไฟลดงกลาว เพอให
เครองอนมาดาวนโหลดจากเครองเราได
22
Tracker
ปญหำทอำจเกดขน
• คอมพวเตอรขดของ (เชนปดเครอง หยดรบการเชอมตอ)• เปลยนเครองงาย ไฟลทกแบงออกเปนสวนยอย ๆ อยแลว
• ถารายชอมจ านวนมาก ควรจะเชอมตอเครองใด• เครองทใกลทสด หรอ เครองทมไฟลสมบรณทสด
• ถามเครองเดยวทไฟลสมบรณ ควรจดการอยางไรใหกระจายไฟลไดทวถงและรวดเรว• อยาลมวาไมม Server หลก ดงนนวธการแกไขตองเปนในมมของเครองหนงเครองในระบบ
• ความปลอดภย
23
Cloud Computing
• Cloud Computing เปนรปแบบระบบทใชคอมพวเตอรจ านวนมากเปนทรพยากร เพอ
ใหบรการตาง ๆ แกผใชงานหรอลกคา โดยรปแบบทใหบรการมดงน
• Cloud Infrastructure ใหบรการคอมพวเตอรประสทธภาพสงผานทางเครอขายอนเตอรเนต โดย
ผใชบรการลงโปรแกรมระบบปฏบตการพเศษ โปรแกรมตาง ๆ ภายในระบบปฏบตการพงพา
การประมวลผลจากคอมพวเตอรในระบบ Cloud
• Cloud Platform ใหผใชทดสอบโปรแกรมทพฒนาข นเองในสงแวดลอมทประกอบไปดวย
คอมพวเตอรจ านวนมาก ผใชไมจ าเปนตองเขยนโปรแกรมทเกยวของกบการแบงงาน
• On-demand Software ใหผใชใชงานโปรแกรมบนระบบ Cloud ผานโปรแกรมหนากาก ซงการ
ประมวลผลทงหมดตลอดจนโครงสรางของ Cloud จะถกจดการโดยผใหบรการทงหมด
24
ตวอยำง Cloud Infrastructure
• Oracle VM VirtualBox
25
ตวอยำง Cloud Platform
• Google App Engine อนญาตใหผใชทพฒนา Web Application และ Mobile Application
ฝากไฟลเพอใชงานจรง โดยขอมลจะถกจดเกบใน Data Center (มอยหลายททวโลก) ซง
ดแลโดย Google
• Microsoft Azure เปนทง Cloud Platform และ Cloud Infrastructure ซงมบรการใน
หลากหลายรปแบบเชน การสราง Web Application การสราง Mobile Application การ
สรางภาพจากขอมล การจดเกบขอมลส ารอง
26
ตวอยำง On-demand Software
• Google Apps ใหบรการโปรแกรมในหลากหลายรปแบบผานเวบ เชน Chat Word Excel
PowerPoint Storage
27