Peer-to-Peer กับการเก็บเกี่ยว CPU

The image is from www.ricethailand.go.th 

สำหรับบทความนี้ ผมจะกล่าวถึงการนำ Peer-to-Peer มาประยุกต์ในการดึงเอาความสามารถของ CPU ที่อยู่ในเครื่องคอมพิวเตอร์ที่ต่ออยู่กับเครือข่ายมาใช้งานให้เกิดประโยชน์มากกว่าการเปิดคอมพิวเตอร์ทิ้งไว้เฉยๆ เช่น ในช่วงเวลาเราพักสายตาเป็นเวลา 20 นาทีจากการใช้คอม, ปวดหนักจำเป็นต้องวางมือจากคอมไปเข้าห้องน้ำ, ตอนพักเที่ยงต้องไปทานข้าวและเตร็ดเตร่ข้างนอก, และเหตุการณ์ต่างๆที่เราลืมปิดเครื่องหรือเปิดไว้โดยตั้งใจ แต่ไม่ได้ใช้งานอะไร เป็นต้น หรือแม้แต่ในขณะที่เราใช้งานคอมพิวเตอร์ไม่เต็มที่ เช่น เปิด screensaver ค้างไว้, นั่งอ่าน ebook และเปิดดูคลังรูปภาพทีละรูปอย่างตั้งใจ เป็นต้น เราอาจมองว่าการเปิดคอมทิ้งไว้หรือใช้คอมไม่เต็มกำลังมันจะกินไฟเท่าไหร่กัน (คอมหนึ่งเครื่องกินไฟนิดเดียว แต่ถ้ามองทั้งประเทศก็กินไฟเยอะน่าดู) อย่างไรก็ตาม มันก็ถือว่าเป็นการใช้คอมอย่างไม่เกิดประสิทธิภาพเต็มที่…โอเคครับ เรามาใช้โปรแกรมแบบ P2P สำหรับเก็บเกี่ยว (เหมือนเก็บเกี่ยวพืชผล) เอาเวลาที่เราเปิดคอม(โดยไม่ได้ใช้ประโยชน์)มาใช้ประโยชน์ให้มากที่สุดหรือมากกว่าเดิม สำหรับใครที่ไม่ทราบว่า P2P คืออะไร สามารถอ่านผลงานผมย้อนหลังได้ที่ https://javaboom.wordpress.com/?p=24

Author: Sivadon Chaisiri More about author

มีงานวิจัยหนึ่งที่เขากล่าวว่าเรานำคอมพิวเตอร์มาใช้ไม่เต็มความสามารถ [1] เนื่องจาก CPU ของคอมพิวเตอร์ทำงานอยู่ตลอดเวลา หากว่าเราเปิดคอมค้างไว้ แม้ว่าไม่มีโปรแกรมรันอยู่ก็ตาม CPU ก็จะยังทำงานอยู่ตลอด ทั้งนี้เพราะว่า CPU มีความถี่ของสัญญาณนาฬิกา (Clock cycle) ในการประมวลผลด้วยจังหวะการทำงานคงที่และทำงานอย่างต่อเนื่องตลอดเวลา จนกว่าเราจะปิดเครื่อง  

ณ เวลาที่เราไม่มีโปรแกรมไปรันที่ CPU เขาจะเรียกช่วงเวลานี้ว่า IDLE (อยู่เฉยๆ) และบางครั้งเขาก็เรียกว่า ขยะหรือของเน่าเสีย (Waste หรือ Scavenge) ฟังดูไม่ค่อยดีเลยใช่ไหมครับ หากมองในแง่เศรษฐศาสตร์ เขาถือว่าเราซื้อคอมมาใช้ไม่คุ้มค่า ดังนั้น เลยมีความพยายามในการดึงเอาความสามารถของ CPU มาใช้ให้ได้มากที่สุด เพื่อลดขยะของ CPU นั่นเอง! อย่างซอฟต์แวร์ที่ชื่อว่า Condor [2] ก็มีจุดประสงค์ดังกล่าว  แต่ Condor มีรูปแบบที่ต่างจาก P2P เพราะเดิมที Condor ถูกออกแบบมาเพื่อใช้งานในองค์กรใดองค์กรหนึ่ง อย่างไรก็ดี Condor เวอร์ชันใหม่ เรียกว่า Condor-G [3] ก็ถูกปรับปรุงให้ทำงานแบบข้ามองค์กรได้แล้ว ซึ่งเป็นรูปแบบการประมวลผลแบบ Grid Computing สำหรับ Grid Computing คืออะไรผมคงไม่ลงรายละเอียดในที่นี้ครับ โดยท่านสามารถอ่านผลงานของ ดร.กิตต์ที่แหล่งข้อมูล [8] และอ่านรายละเอียดเพิ่มได้ที่ [4, 5]

มีผลงานตีพิมพ์บางงานกล่าวว่า Grid Computing กับ Peer-to-Peer จริงๆแล้วมันก็มีจุดมุ่งหมายเดียวกัน [6, 7] เพียงแต่มีพื้นฐานหรือองค์ประกอบของระบบที่ต่างกัน และผลงานของ Iamnitchi กับ Foster [6] ยังกล่าวเลยว่า P2P กับ Grid Computing มันเบนเข้าหากันจนเป็นสิ่งเดียวกัน ตอนนี้ ผมขอสรุปสั้นๆว่า Grid Computing เป็นวิธีการประมวลผลอันเกิดจากแนวคิดที่จะรวบรวม resource ที่แชร์โดยบุคคลหรือองค์กรต่างๆให้เป็นหน่วยเดียวกัน และนี่แหละครับ โดยนิยามแล้ว Grid Computing ก็ไม่ได้ต่างจาก P2P เพราะ P2P ก็ต้องการแชร์ resource จากที่ต่างๆเช่นกัน แต่ว่า Grid Computing เป็นระบบที่ต้องการความปลอดภัยเป็นอันดับหนึ่ง Grid Computing จึงไม่สามารถใช้หลักการสร้างระบบแบบ Self oganazing แบบ P2P ที่ไร้ซึ่งการควบคุมจากศูนย์กลางหรือผู้ดูแลระบบ สำหรับใน Grid Computing เองจำเป็นต้องมีผู้ดูแลระบบคอยบริหาร resource ขององค์กร และปกติจะมีผู้ดูแลระบบมากกว่า 1 คน กล่าวคือ มีผู้ดูแลระบบอย่างน้อย 1 คน ต่อ 1 องค์กร

SETI@home Logo  

ณ ปัจจุบันนี้มีโปรแกรมประเภทแชร์พลัง CPU ของคอมพิวเตอร์โดยใช้หลักการของ P2P อยู่หลายตัว แต่โปรแกรมที่เป็นที่รู้จักกันกว้างขวางในหมวดของโปรแกรมประเภทนี้และนับว่าเป็นต้นกำเนิดของโปรแกรมอีกหลายๆตัว คือโปรแกรมชื่อ SETI@home จริงๆแล้ว ทางโครงการเขาระบุว่าโปรแกรมมีรูปแบบเป็นเครือข่าย Grid Computing  แต่อย่างที่ได้กล่าวไว้แล้วว่า P2P กับ Grid Computing มันเบนเข้าหากันจนเหมือนว่าเป็นสิ่งเดียวกัน ดังนั้น จึงมีหลายผลงานที่กล่าวไว้ว่า SETI@home ก็คือ P2P เช่นกัน เช่นผลงานของ [9,10,11]

The image is from the DVD cover of the film E.T.  

SETI@Home เป็นโครงการของ Space Sciences Laboratory แห่ง University of California, Berkeley โดยจุดมุ่งหมายของโครงการคือการพัฒนารูปแบบการประมวลผลและซอฟต์แวร์เพื่อดึงเอาความสามารถของ CPU ของคอมพิวเตอร์ที่เชื่อมต่อกับเครือข่าย Internet มาใช้ในการประมวลผลในงานงานหนึ่ง ซึ่งงานนี้ก็คือ การค้นหาสิ่งมีชีวิตนอกโลกหรือมนุษย์ต่างดาวนั่นแหละครับ คำว่า SETI ย่อมาจาก Search for Extra-Terrestrial Intelligence แปลง่ายๆคือ ค้นหาภูมิปัญญา E.T. นั่นเอง และ SETI@Home จึงแปลได้ว่า ค้นหา E.T. ได้จากที่บ้าน

สถาปัตยกรรมของ SETI@home ประกอบด้วย SETI-Server หนึ่งเครื่องเป็นคอมพิวเตอร์ศูนย์กลางของระบบ และประกอบด้วย SETI-Client ซึ่งเป็นโปรแกรมที่ติดตั้งบนคอมพิวเตอร์ที่อยู่ในเครือข่าย Internet หากว่าใครอยากอุทิศคอมพิวเตอร์ของตนเองสำหรับโครงการนี้ ก็เพียงดาวน์โหลดเอาโปรแกรม SETI-Client มาติดตั้งที่เครื่องของตนเอง หน้าที่ของ SETI-Server คือ นำข้อมูลที่สกัดมาจากสัญญาณ electromagnetic spectrum ที่ได้มาจากนอกโลกและถูกแปลงเป็นข้อมูลดิจิตอลแล้วมาเก็บไว้ที่เครื่อง ซึ่งข้อมูลดังกล่าวมีขนาดใหญ่มหึมามาก หากต้องซื้อ Supercomputer มาประมวลก็แพงใช่เล่น ดังนั้น นักวิจัยของโครงการจึงเกิดไอเดียในการแบ่งข้อมูลให้มีขนาดเล็กลงเป็นข้อมูลย่อย (เล็กพอที่จะส่งผ่านเครือข่าย Internet ได้เร็ว และเล็กพอที่จะประมวลผลได้บน PC ทั่วไปโดยไม่กินเวลานาน) จากนั้นจึงสั่งให้ SETI-Server ส่งข้อมูลย่อยๆไปให้ SETI-Client ซึ่งมีโปรแกรมประมวลผลข้อมูลย่อยติดตั้งไว้อยู่แล้ว เมื่อข้อมูลถูกประมวลผลเป็นที่เรียบร้อยก็จะส่งผลลัพธ์มาเก็บไว้ที่ SETI-Server และถ้าจะว่าไปแล้ว SETI-Server ต้องรอการติดต่อจาก SETI-Client ก่อน เมื่อ SETI-Client ว่างงานหรือมีการใช้ CPU น้อยจนถึงระดับหนึ่ง SETI-Client จึงจะติดต่อให้ SETI-Server จัดส่งงานมาให้ (ไม่ได้หมายความว่า SETI-Server จะส่งงานไปให้ SETI-Client เมื่อไหร่ก็ได้ได้ตามใจชอบ)

BOINC Logo  

SETI@home ประสบความสำเร็จอย่างมากจากการสร้างเครือข่ายการประมวลผลขนาดมหึมา เพราะประกอบไปด้วยจำนวนคอมพิวเตอร์เป็นหลักล้านที่อุทิศตนเป็น SETI-Client อย่างไรก็ดี SETI@home มีข้อจำกัดที่ว่างานที่นำไปประมวลผลมีเพียงชนิดเดียว ดังนั้น โครงการนี้จึงขยายผลไปเป็นโครงการที่ใหญ่กว่าเดิม คือ BOINC ซึ่งทำให้รองรับการประมวลผลงานได้หลายชนิด เข้าไปอ่านรายเอียดของโครงการที่ใช้ซอฟต์แวร์ของ BOINC ได้ที่ http://boinc.berkeley.edu/projects.php

ณ ปัจจุบันนี้ ระบบ P2P จำพวกแชร์พลังของ CPU ยังต้องพึ่งพา Server ศูนย์กลางอยู่ดี โดยลักษณะของ P2P ประเภทนี้จะประกอบไปด้วยโปรแกรม Client และ Server “ในเมื่อระบบเป็นแบบ Client/Server ทำไมเรายังเรียกว่าเป็น P2P ด้วย?” คำตอบคือ จริงๆแล้วระบบมีความเป็น Client/Server ครึ่งหนึ่ง คือมี Server ไว้สำหรับส่งงานและรับผลลัพธ์จากการประมวลผล และอีกครึ่งหนึ่งคือกลุ่มของคอมพิวเตอร์ Client ที่ก่อร่างสร้างตัวขึ้นมาแบบ Self organizing ซึ่งสามารถขยายระบบหรือ Scale ได้ในระดับเครือข่าย Internet และ Client ยังสามารถเข้าหรือออกจากระบบโดยไม่กระทบต่อระบบโดยรวม

อย่างไรก็ดี หาก Server ทำงานล้มเหลวจนต้องหยุดการทำงาน นั่นหมายถึง Client ต่างๆก็ไม่สามารถรับงานและส่งผลลัพธ์ได้ แต่ทั้งนี้ทั้งนั้น ก็ไม่เกิดผลกระทบยิ่งใหญ่ใดๆกับระบบ เป็นไปได้อย่าง?… ทั้งนี้เนื่องมาจาก Client อุทิศ CPU ให้กับ Server หาก CPU ของ Client ว่างงาน (เช่น CPU ถูกใช้งานน้อยมากถึงระดับหนึ่ง) แล้ว Client ค่อยติดต่อให้ Server ส่งงานมาให้ แต่หาก Server ไม่ส่งงานมา (เช่น Server ล่ม) Client ก็ไม่มีงานให้ทำ (แต่ไม่ได้หมายถึงมีความผิดพลาดที่ Client) และหากมี Client ใดๆประมวลผลงานจนได้ผลลัพธ์ขึ้นมา ถ้า client ส่งผลไปหา Server ไม่ได้ ก็ไม่เป็นไรครับ Client เพียงเข้าใจว่า Server หายไปจากระบบ (เหมือนๆมี Peer หนึ่งหายไป) Client อาจจะรอให้ Server ตื่นมาอีกครั้งแล้วส่งงานไปให้ หรือ Client อาจจะรอไม่ไหวจนปิดเครื่องไปก่อน ก็ไม่กระทบกับระบบ เพราะ Server ยังคงเก็บงานที่ยังไม่ได้ผลลัพธ์ไว้อยู่ และ Server จะลบงานออกไป ก็ต่อเมื่อได้ผลลัพธ์จาก Client และหากว่ามี Client ส่งผลลัพธ์ที่เคยมี Client อื่นประมวลผลไว้แล้ว Server ก็เพียงแต่ยกเลิกผลลัพธ์ที่ซ้ำนี้ออกไป

คุณจะเห็นได้เลยว่ารูปแบบของ P2P เช่นนี้ มันต่างจากระบบ Client/Server ทั่วๆไป (เช่น Web Server หรือ File Server) เพราะระบบพวกนี้ Client ต้องการ resource หรือบริการจาก Server ให้ได้ ดังนั้น หาก Server ให้บริการไม่ได้ ก็หมายถึงเกิดความล้มเหลวที่ฝั่ง Client จากการไม่ได้รับบริการ (เช่น แสดงหน้าเว็บไม่ได้ หรือดาวน์โหลดไฟล์จาก server ไม่ได้)  ในมุมมองของ P2P จำพวกแชร์พลัง CPU ฝั่ง Client ทำหน้าที่เป็นผู้ให้บริการ CPU สำหรับประมวลผล ส่วน Server ทำหน้าที่เป็นผู้ขอใช้บริการจาก Client เอ๊ะมันยังไงกัน! ฟังดูแล้วก็ขำๆครับ Server ทำงานเหมือน Client ซะมากกว่า เพราะต้องพึ่งพา CPU ของ Client ดังนั้น ผมจึงกล่าวได้ว่า Server ล่มก็เหมือน Peer หนึ่งล่มนั่นเอง ไม่ได้กระทบต่อระบบใดๆเลย เพราะเรายังมี Client (ที่ทำงานเสมือน Server) นั่งทำงานอยู่นับหลายแสนหรือหลายล้านเครื่อง และถ้ามี Client หนึ่งล่มก็เหมือนกับ Peer ผู้ให้บริการ resource ตัวหนึ่งล่ม ก็ยิ่งไม่กระทบระบบอย่างแน่นอน เพราะยังมี Peer อื่นๆอีกมากมายในระบบคอยให้บริการอยู่

References 

[1] M.J. Litzkow, M. Livny, and M.W. Mutka, Condor-a hunter of idle workstations, IEEE the 8th International Conference of Distributed Computing Systems, 1988 [PDF]
[2] Todd Tannenbaum, Derek Wright, Karen Miller, and Miron Livny, “Condor – A Distributed Job Scheduler”, in Thomas Sterling, editor, Beowulf Cluster Computing with Linux, The MIT Press, 2002. ISBN: 0-262-69274-0 [PDF]
[3] J. Frey, T. Tannenbaum, I. Foster, M. Livny, and S. Tuecke, “Condor-G: A Computation Management Agent for Multi-Institutional Grids”, Journal of Cluster Computing volume 5, pages 237-246, 2002
[4] I. Foster and C. Kesselman (Eds.), The Grid: Blueprint for a New Computing Infrastructure, Morgan-Kaufmann, 1998
[5] I. Foster, What is the Grid? A Three Point Checklist, Grid Today, 2002 [PDF]
[6] A. Iamnitchi and I. Foster, A peer-to-peer approach to resource location in Grid environments, Grid resource management: state of the art and future trends, Kluwer Academic Publishers, 2004
[7] Sivadon Chaisiri and Putchong Uthayopas, “Performance Evaluation of Peer-to-Peer Approach to Resource Discovery for Large Scale Grid Environments”, The 8th Annual National Symposium on Computational Science and Engineering (ANSCSE), July 2004 เป็น paper แรกของชีวิตผมครับ
[8] http://www.kitty.in.th/index.php?room=article&id=91
[9] http://www.readwriteweb.com/archives/p2p_introduction_real_world_applications.php
[10] A. Oram et al., Peer-to-Peer:Hardnessing the Power of Disruptive Technologies, Oreilly, 2001
[11] R. Steinmetz and K. Wehrle (Eds.): P2P Systems and Applications, Springer-Verlag, 2005

6 thoughts on “Peer-to-Peer กับการเก็บเกี่ยว CPU

  1. soowoi says:

    สรุปแล้ว คุณ boom คิดว่า seti@home นี้เป็นระบบ peer-2-peer หรือ grid กันแน่ครับ ส่วนตัวผมคิดว่าความมุ่งหมายของเขาคือการทำให้ประมวลผลนั้นเป็นแบบกริด ส่วน peer นั้นคิดว่าเป็นเทคนิคในการทำ fault toerant ครับ คุณ boom คิดยังไงครับ

  2. javaboom says:

    ขอบคุณสำหรับคำถามนะครับคุณ Soowoi

    คำตอบของผมมันก็อยู่ในบทความแล้วครับ ตามที่ Ian Foster (เจ้าพ่อหมายเลขหนึ่งของวงการ Grid Computing) ได้กล่าวใน [6] และผลงานผมเองใน [7] เราเห็นว่า Grid Computing กับ P2P ไม่ได้ต่างกันเลย ต่างกันเพียงที่มา แต่มีที่ไปมันเหมือนกัน

    ที่คุณ Soowoi ตอบถูกต้องแล้วครับ ในบทความได้กล่าวในย่อหน้าแรกของ SETI@Home แล้วว่า SETI@Home ออกแบบมาให้เป็น Grid Computing ครับ แต่อย่างที่บอกครับ Grid กับ P2P มันก็คึอแชร์ Resource กันระหว่างคอมพิวเตอร์ที่อยู่คนละ domain ให้เสมือนเป็นทรัพยากรกลางกลุ่มเดียวที่ใช้ได้โดยทุกคน(หรือคนที่อนุญาต) เช่น แชร์ทรัพยากรคนละ department แต่องค์กรเดียวกัน หรือคนละองค์กรไปเลย หรือคนละ LAN เป็นต้น ทาง Grid Computing เขาเรียกการแชร์ทรัพยากรในระบบให้เกิดเครือข่ายใหม่ว่า Virtual Organization แต่ P2P ใช้คำว่า Overlay Network ต่างกันแค่คีย์เวิร์ดเท่านั้น ถ้าจะให้ลงรายละเอียดว่า Grid กับ P2P ต่างกันไงอีก คงกล่าวกันยาวครับ แต่คุณสามารถอ่าน paper ของ Ian Foster ไปก่อนก็ได้ใน [6] ครับ

    อย่างไรก็ดี ถ้าให้ผมวิเคราะห์ SETI@Home จากประสบการณ์ของผมนะครับ ผมเอนเอียงไปทาง P2P มากกว่าครับ เพราะ SETI@home ยังขาดคุณสมบัติที่ต้องการใน Grid Computing ที่เขาใช้งานจริงในปัจจุบันอยู่ เช่น authorization/authentication หรือ trust mechanism เป็นต้น จริงๆในเรื่องของ Fault tolerance ของ Grid Computing ก็มีครับ แต่วิธีที่ SETI@Home ใช้เป็นวิธีของ P2P (อย่างที่คุณตอบ) และจริงๆแล้ว Fault tolerance ใน SETI@home มันเป็นผลลัพธ์ที่ได้มาทางอ้อมครับ เพราะ fault tolerance ของ SETI@home มันเกิดจากคุณสมบัติของ P2P ที่ชื่อ Massively Scalability ครับ คือมันมี node เยอะมากๆ จนกระทั่งคุณมีจำนวน CPU ที่ redundance กันมหาศาล มันก็เลย fault tolerance โดยบังเอิญครับ 555 การทำ Fault Tolerance มีหลายวิธีครับ เช่น การทำ Redundancy ก็เป็นหนึ่งในนั้น และ Grid Computing ก็ทำ redundancy ได้ แต่เรื่อง redundancy ที่ประสบความสำเร็จที่สุดต้องยกให้ P2P ครับ(ดู Kazaa กับ BitTorrent เป็นตัวอย่าง) เมื่อกลับไปมอง Grid Computing ที่เขาใช้อยู่ปัจจุบัน (เช่น ระบบที่รันบน globus) ยังไม่เคยมีอะไรที่มัน redundancy ได้ขนาดนี้เลยครับ ผมจึงขอสรุปว่า ด้วยคุณสมบัติ Scalability ของ SETI@Home นั้น มันสอดคล้องกับ P2P ครับ โดยหากมองในเรื่องวัตถุประสงค์ของผู้พัฒนาเขาเรียกว่า Grid Computing (ก็ถูกอีกแหละครับ) แต่มันก็คือ P2P ด้วย ผมคิดแบบติดตลกนะ (ไม่จริง 100%) ถ้าหากเขาบอกว่าระบบมันเป็น P2P คนก็จะนึกถึง File sharing อย่าง Napster (สมัยนั้น) ซึ่งมัน low grade ไปเลยครับ เพราะ Napster มันแชร์ของผิดกฎหมายครับ (เหมือน BitTorrent ในปัจจุบัน) ใช้คำว่า Grid Computing ว้าว มันเท่ห์กว่าเยอะ เพราะฉันแชร์ Computing นะ ไม่ได้แชร์ไฟล์ เพราะพูดถึง P2P ใครๆก็นึกถึงแต่แชร์ไฟล์(เถื่อนๆ)

    แต่ทั้งนี้ทั้งนั้น อย่างที่บอกไปนะ ทั้ง Grid และ P2P ต้องการทั้ง scalability, fault torelance, security เช่นกัน ผมใช้เกณฑ์แยกแยะว่าใครเป็น P2P หรือ Grid Computing โดยอ้างจากระบบไหนประสบความสำเร็จในเรื่องอะไร สรุปคำตอบนะครับ หากเราไม่ยึดติดกับชื่อที่มนุษย์บัญญัติกันเอง (จะ Foster หรือไอส์ไตน์ก็เหอะ) มันก็ความหมายเหมือนกันน่ะครับ 🙂 ดูตัวอย่างคำอื่นที่เขาบัญญัติมาใหม่นะ คำว่า Utility Computing จริงๆมันก็เหมือนกับ P2P และ Grid ครับ เขาแค่เพิ่มนิยามเข้าไปนิดนึงว่าต้องจ่ายตังค์ มีตังค์เท่าไหร่ได้ของเท่านั้น และถ้าผมบอกว่า Grid Computing ของผมก็จ่ายตังค์เพื่อให้ได้มาซึ่ง Computing มันก็เป็น Utility Computing สิครับ และถ้าผมบอกว่า Utility Computing ของผมมัน scale เป็นล้านโหนด มันก็เป็น P2P สิครับ…ว่ากันไปได้ไม่จบครับ

  3. javaboom says:

    ถึงคุณ Soowoi อีกนิด

    ผมลืมไปข้อนึง หากพูดถึง Grid Computing ที่เขาใช้กันจริงๆนะครับ (ไม่มองกันที่นิยามอย่างเดียว) Grid ต้องมี Server ครับ หรือต้องมี Centralized อย่างน้อยก็สักที่หนึ่งแหละ เช่น มี Server สำหรับจัดการ Membership (อย่าง Globus ใช้ระบบจัดการ Membership ที่อิงกับ OS และ grid map file) หรือมีศูนย์สำหรับ monitor, และอย่างใน Globus เวอร์ชัน 4 มีศูนย์กลางสำหรับรัน Web Services container เป็นต้น แต่ P2P ไม่จำเป็นต้องมี centralized เลยครับ และ P2P ก็ไม่มี membership ด้วยแหละ แต่ก็มี P2P บางระบบที่พึ่ง Centralized เอาไว้ค่อยกล่าวในบทความต่อๆไปครับ ว่า Centralized ไว้ทำอะไร

    อีกอย่างนะ ที่คุณบอกว่า “ความมุ่งหมายของเขา (SETI@home) คือการทำให้ประมวลผล (Computing) นั้นเป็นแบบกริด (Grid)” และคำว่าประมวลผลแบบ Grid มันเป็นไงเหรอครับ ผมก็จะบอกได้เลยว่าความหมายมันก็อันเดียวกันกับการประมวลผลแบบ Peer-to-Peer ครับ…ผมเสริมตรงนี้นะครับ เพราะกลัวว่าคนจะเข้าใจผิดจากการได้ยินว่าระบบนี้แชร์ Computing ต้องเป็น Grid Computing เสมอไป หรือระบบนี้แชร์ไฟล์ต้องเป็น Peer-to-Peer เสมอไป ระบบทั้งสองจะแชร์ resource ประเภทไหนก็ได้ครับ

    โอเคครับ ผมให้คำตอบคุณเยอะไป(ไม่)หน่อย เพราะคิดว่าหลายๆคนก็คงอยากถามคำถามแบบคุณครับ ดีมากเลยครับ ผมอาจจะเก็บไว้เป็น FAQ เมื่อได้สอนหนังสือก็ได้

Leave a comment