Grid Computing และ Cloud Computing ในมุมของ Ian Foster

Dr. Ian Foster (เครดิตภาพจาก Argonne National Laboratory)

คงมีหลายคนสงสัยว่าในยุคที่ cloud computing กำลังร้อนแรง ได้รับความนิยมมากขึ้น แล้ว grid computing จะเป็นยังไงต่อไป? จนอาจมีคนถามว่า grid computing สูญพันธุ์ไปแล้วหรือยัง? เพื่อคลายข้อสงสัย ผมขอยกคำพูดของ Dr. Ian Foster หรือ “the father of the Grid” มาแปะไว้ให้ท่านอ่านแล้วกันนะครับ

In industry, the term “grid computing” has been used, rather oddly, as sort of a synonym for parallel computing (e.g., Oracle 10-G) and sometimes to mean what the BOINC guys used to call (confusingly) “distributed computing”–i.e., harnessing idle desktops.

Continue reading

จาก Grid Computing ไปถึง Cloud Computing ตอนที่ 2

Timeline จาก Grid ไป Cloud ตัดจากสไลด์ในงาน Intel Blogger Day 2008

การให้บริการระบบคอมพิวเตอร์ให้ได้อย่างบริการสาธารณูปโภคนั้น เป็นจุดเริ่มต้นของแบบจำลองหรือโมเดลของการให้บริการที่เรียกว่า Utility Computing (หรือ “บริการสาธารณูปโภคของการประมวลผล”) ซึ่งเป็นเนื้อหาสำคัญของบทความนี้ สำหรับท่านที่สนใจ สามารถกลับไปอ่านบทความที่เกี่ยวข้องได้ที่ จาก Grid Computing ไปถึง Cloud Computing ตอนที่ 1

นิยามคำว่า utility computing ก็เป็นอะไรที่ตรงไปตรงมาตามชื่อ ดังนี้

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

Continue reading

อุปสงค์และอุปทาน ในมุม Grid และ Cloud

ภาพแสดงความสัมพันธ์ระหว่างอุปสงค์ อุปทาน และราคา (ภาพจาก วิกิพีเดีย)

ผู้ให้บริการที่มักเห็นได้ทั่วไปใน grid computing มักจะให้บริการทรัพยากรแบบอุทิศตัวเองมากกว่าการค้าขายที่มี “เงิน” เป็นตัวผลักดันให้ระบบสามารถดำเนินไปในทิศทางที่รองรับกับความต้องการของผู้ใช้ได้ ก็อย่างที่ทราบกันว่า อุปสงค์กับอุปทาน (demand and supply) ควรดำเนินไปในทิศทางที่สมดุลกัน และเงินที่ตีเป็นราคา (price) ของทรัพยากรที่ให้บริการผู้ใช้มีบทบาทสำคัญที่ทำให้อุปสงค์กับอุปทานมีความยืดหยุ่นได้ (ในทางเศรษฐศาสตร์เรียกคำนี้ว่า elasticity) และด้วยเหตุที่ grid computing ไม่ได้เล่นเกมอุปสงค์และอุปทานอย่างตรงไปตรงมา จึงเป็นหนึ่งในสาเหตุหลายๆสาเหตุที่ทำให้ cloud computing ประสบความสำเร็จในภาคธุรกิจมากกว่า grid computing ตามตัวอย่างต่อไปนี้

Continue reading

ประกาศ Intersection of Cloud and Grid Computing

ตั้งแต่ขึ้นปีใหม่มา ผมยังไม่ได้อัพเดทหน้าเว็บตัวเองเลย วันนี้ ขอประกาศหัวข้อบรรยายที่ผมจะเข้าไปฟังในเดือนนี้แล้วกัน หัวข้อแรกชื่อ “Intersection of Cloud and Grid Computing” ชื่อมันก็บอกยี่ห้อนะครับว่าเป็นเรื่องอะไร คือ หลายท่านอาจจะมองว่า Cloud กับ Grid มีอะไรเหมือนๆกัน จนกระทั่งอาจจะบอกว่าเป็นสิ่งเดียวกัน แต่จริงๆแล้วมันก็มีอะไรที่แตกต่างกันอยู่ ทั้งในภาคทฤษฎีและปฏิบัติ จริงๆแล้ว ผมพยายามอัพเดทบทความของผมเองในเรื่องที่เกี่ยวกับก่ารบรรยาครั้งนี้อยู่ แต่ว่าสมองของผมยังไม่พร้อมจะเขียน (มันพร้อมเมื่อไหร่ มันก็มาแบบไม่คาดคิด) ตอนนี้ก็เลยออกมาได้แค่ จาก Grid Computing ไปถึง Cloud Computing ตอนที่ 1 ก็รอตอนที่ 2 ต่อไปครับ

ได้ข่าวคราวอะไรดีๆมา ก็จะมาอัพเดทให้ฟังแล้วกันนะ เอารายละเอียดการบรรยายหัวข้อ “Intersection of Cloud and Grid Computing” ไปอ่านกันแล้วกันครับ ใครมาเที่ยวหรือทำงานที่สิงคโปร์จะแวะมาฟังก็ได้นะ

Speaker : James Pang, Vice President, Product Management Platform Computing

There is much debate raging over whether cloud computing and grid computing are one and the same. In fact, there are many similarities and one key difference separating these burgeoning fields. Both cloud and grid propose an architecture that masks the complexity of managing thousands of commodity servers from their users. Consequently, those managing a grid or cloud require specialized management tools designed for large scale implementation – making it possible to manage a large number of servers without requiring an army of administrators. In both cases, users often serve themselves and pay for their usage as a utility. The key difference, however, is in the dynamic nature of resource availability, as well as how demand for the utility is generated. This session will explore these similarities and differences and discuss the future of cloud and grid computing. Continue reading

จาก Grid Computing ไปถึง Cloud Computing ตอนที่ 1

Timeline จาก Grid ไป Cloud ตัดจากสไลด์ในงาน Intel Blogger Day 2008

เนื่องจากมีคนถามผมมาเยอะเหลือเกินว่า Grid ต่างจาก Cloud อย่างไร ? ผมก็ได้ให้คำตอบไปแล้ว จนท้ายที่สุด เหมือนเป็น FAQ ของคำถามเรื่อง Cloud เลยก็ว่าได้ครับ แต่ผมไม่เคยได้เขียนลง blog ซะที ครั้งนี้ก็ขอซะหน่อยแล้วกัน ก่อนที่ blog ผมจะกลายเป็นแนะนำอาหารการกินไปซะก่อน อย่างไรก็ดี บทความนี้จะไม่ใช่การเปรียบเทียบ Grid ต่างจาก Cloud อย่างไร แต่ผมจะขอย้อนเวลาไปเมื่อต้น 1990 (จริงๆอยากย้อนไปมากกว่านี้ แต่มันจะยาวกว่านี้ด้วย) แล้วจากนั้น ก็จะชี้ให้เห็นถึงวิวัฒนาการจาก Grid ไปถึง Cloud แม้ไม่ได้ลงละเอียดไปมากเท่าไหร่ เดี๋ยวจะกลายเป็น lecture ไปในที่สุด แต่ผมขอการสาธยายสิ่งได้ร่ำเรียนและได้ประสบพบเห็นมากับตัวเองนะครับ

ก่อนหน้านี้ ผมได้เข้าประชุมกับ director ของ HP Labs ชื่อ Chris Whitney เขาได้มาพูดถึงงานวิจัยที่ HP กำลังทำ เป็นเรื่องที่เกี่ยวกับ Cloud Computing ผมรู้สึกว่า เอ … มันก็ Grid Computing นี่เอง มากไปกว่านั้น ผมเคยคิดเหมือน Ellision จาก Oracle ที่เคยเหน็บแนมว่า Cloud เป็นเหมือนแฟชัน เป็นเพียงแค่คำฮิต

การได้ดูตัวอย่างบริการและผลิตภัณฑ์ที่เรียกว่า Cloud Computing จนได้ไปสัมผัสบริการและผลิตเหล่านั้น เมื่อไปเทียบกับสิ่งที่ Grid Computing เคยเป็นมา เราก็พบแล้วว่ามันแตกต่างจาก Grid Computing รวมไปถึงการได้ใกล้ชิดกับบริษัท/ทีมงานที่เขาพัฒนาผลิตภัณฑ์และบริการเหล่านั้น ยิ่งย้ำความเข้าใจเรามากขึ้นแล้วว่า เราเข้าใจถูกแล้ว อาจารย์ของผม (ฟรานซิส) และผม  เรามองว่ามีความเหมือนระหว่าง Grid กับ Cloud และเราก็เห็นอะไรที่แตกต่าง ส่วนที่แตกต่างมีนัยสำคัญมากกว่าที่จะมาบอกว่านี่ยังเป็น Grid Computing อยู่ Cloud Computing จึงไม่ใช่การบัญญัติคำศัพท์ขึ้นมาใหม่เพื่อใช้เรียกแทน Grid Computing อย่างไรก็ดี เรามองว่า Cloud Computing เป็นวิวัฒนาการด้วยการบูรณาการ ดังนั้น ไม่ใช่เรื่องแปลกเลย ที่เราไปนึกว่า Cloud Computing เหมือนกับหลักการอื่นๆที่เคยมีมา อย่างเช่น Grid Computing

หมายเหตุ ผมขอเอาภาพจากสไลด์ของผมที่ใช้บรรยายในงาน Intel Blogger Day 2008 ในหัวข้อ Blogging in the Clouds มาใช้ประกอบบทความนี้นะครับ และก่อนอื่น ขอบอกก่อนว่า ขอแบ่งบทความออกเป็น 2 ตอน ตอนที่ 1 นี้เป็นการย้อนยุคไปหา Volunteer Computing ในช่วงกลางทศวรรษ 90 แต่จะไปหาแบบคร่าวๆ จากนั้นค่อยบินไปหา Grid Computing ในช่วงก่อนขึ้นศตวรรษใหม่ในปี 2000 ครับ

(แจ้งข่าว สำหรับท่านที่กำลังค้นหาหัวข้อวิจัยและพัฒนาเกี่ยวกับ Cloud Computing สามารถไปอ่านบทความของผมได้ในหัวข้อชื่อ หมวดงานวิจัยเกี่ยวกับ Cloud Computing)

Continue reading

ความแตกต่างระหว่างคลัสเตอร์กับกริด

สืบเนื่องจากคุณ​ 0xffeeddaa ได้ตั้งคำถามว่าคลัสเตอร์กับกริดต่างกันอย่างไร โดยคำถามนี้ปรากฏในข่าวที่ผมลงในเว็บ Blognone ชื่อหัวข้อ TCG@NUS: ตัวอย่างกริดในรั้วมหาลัย ผมจึงตอบเป็น comment ไว้ในข่าวดังกล่าว และเพื่อเป็นประโยชน์ต่อไปสำหรับผู้ที่มีคำถามนี้ ผมขออนุญาติคัดลอก comment ของผมมาแปะไว้ในที่นี้

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

ถ้าเป็นกริด (Grid) ตามอุดมคติที่ Globus หรือตามที่ Ian Foster เจ้าพ่อ Grid เคยกล่าวไว้ มองว่าเป็นการเชื่อมทรัพยากรคอมพิวเตอร์ระหว่างหน่วยงานหรือองค์กรที่มีนโยบายแตกต่างกัน หรือเป็นคนละองค์กรกันไปเลย โดย Grid จะทำให้เชื่อมความหลากหลายของทรัพยากรและนโยบายให้เป็นหน่วยเดียวกันได้ ก็กลายเป็นกลุ่มกลุ่มเดียวเสมือนเป็นองค์กรเดียวกัน และจากนั้น เราจะนำงานไปประมวลผลแบบขนานหรือเอางานเดี่ยวๆหลายๆงานไปประมวลผล ก็สามารถทำได้เช่นกันเหมือนกับ Cluster

หากมองในฝั่งธุรกิจ คำศัพท์ Grid กับ Cluster มันกำกวมครับ (ซึ่งไม่ใช่ Cloud Computing เท่านั้นที่กำกวม) โดยบริษัทหลายเจ้า (แม้กระทั่ง IBM, Oracle, และ Sun) มองว่า Grid กับ Cluster มันก็เรื่องเดียวกันแหละครับ คือเชื่อมต่อคอมพิวเตอร์หรือรวมทรัพยากรคอมพิวเตอร์เข้าหากัน แล้วร่วมกันประมวลผลหรือแก้ไขปัญหา

ถ้า IBM เขาจะบอกว่า Grid คือ การพัฒนาโปรแกรมให้เป็นหน่วยย่อยๆที่สามารถกระจายการประมวลผลไปให้คอมพิวเตอร์หลายเครื่องได้ (ซึ่ง Cluster ก็เป็นงั้น) ส่วนทาง Sun บอกว่า Grid แบ่งออกเป็น Cluster Grid, Campus Grid, และ Global Grid ถ้ามองง่ายๆก็คือไล่ตั้งแต่ระดับแลนของหน่วยงานหนึ่งๆ(Cluster Grid), Campus Grid แลนหรือแวนของสถาบันเดียวกัน (ระดับองค์กร), จนกระทั่ง Global Grid หรือระดับแวนระหว่างองค์กร

ประชุมทางไกลกับChief ArchitectจากPlatform

วันนี้ผมตื่นแต่เช้าเพื่อเตรียมตัวเข้าประชุมทางไกลในเวลา 9 โมงเช้าสิงคโปร์ (3 ทุ่มตามเวลาแคนนาดา) เป็นการสนทนากับKhalid Ahmedซึ่งเป็นถึงChief ArchitectของบริษัทPlatform จริงๆต้องเรียกว่าเป็นการโทรศัพท์คุยกันผ่านSkypeกับKhalidที่นั่งอยู่โตรอนโตประเทศแคนนาดา โดยผู้ร่วมสนทนามีผม,อาจารย์ของผมและก็Khalid … ต้องขอบคุณLaurence ที่ได้แนะนำให้ผมได้มีโอกาสคุยกับKhalid …. หลังจากคุยกับKhalid ผมก็ต้องยอมรับโดยดุษฏีเลยว่าPlatformเขาทำงานวิจัยทางด้าน HPC และ Virtualization ถึงขั้นสุดยอดจริงๆ(เรียกแบบวัยรุ่นก็เรียกว่า ขั้นเทพ) ผลงานที่โด่งดังของ Platform อย่างเช่น LSF ที่เป็น Metascheduler ที่ถูกใช้กันอย่างกว้างขวาง

Khalidได้เล่าถึงงานวิจัยที่ทางPlatformเคยได้ทำและที่กำลังทำอยู่ ส่วนทางฝั่งผมก็ได้แลกเปลี่ยนประสบการณ์งานวิจัยด้วยเช่นกัน และอาจารย์ผมก็ได้คุยกันถึงปัจจัยที่มีผลต่อCloud Computingที่น่าจะเอามาเป็นหัวข้อวิจัยร่วมกับทางPlatformได้ โดยตอนนี้เรายกประเด็นเรื่องทรัพยากรธรรมชาติกับการประมวลผล (เพราะปัญหาโลกร้อน Global Warming มาแรง) และเราใช้ศัพท์คำว่า Green Computing มาเป็นประเด็นในการสนทนาในช่วงท้าย และได้วางแผนในเรื่องแนวทางการวิจัยสำหรับเรื่องนี้ หากจะให้เล่าหลักการพื้นฐานของ Green Computing ก็คือเราจะจัดสรรทรัพยากรไปประมวลผลโปรแกรมและทำให้ประหยัดทรัพยากรธรรมชาติ (เช่น ประหยัดพลังงานไฟฟ้า)ได้มากอย่างไร เช่น ต้องจัดสรรทรัพยากรคอมพิวเตอร์จำนวนเท่าไหร่, เวลาไหน, จากที่ไหนรวมไปถึงจะพัฒนาฮาร์ดแวร์และซอฟต์แวร์อย่างไรให้กินไฟต่ำ เป็นต้น  แต่ทางเราจะเน้นไปทางด้าน scheduling หรือ resource provisioning เพื่อสร้างสมดุลระหว่าง Computing Efficiency กับ Power Efficiency หรือสมดุลระหว่างประสิทธิภาพของทรัพยากรคอมพิวเตอร์กับทรัพยากรธรรมชาตินั่นเอง … ในกลุ่มบริษัทที่ให้บริการ Cloud Computing ก็เป็นห่วงเป็นกังวลในหัวข้อนี้มากเลยทีเดียวครับ การเลือกทำเลสำหรับวางData Centerที่ใกล้กับโรงกลั่นไฟฟ้าแบบสะอาดและการใช้Virtualizationก็เป็นจุดเริ่มต้นที่ดีสำหรับการลดปัญหาโลกร้อน

ท่านสามารถติดตามหัวข้อวิจัยที่บริษัทPlatformเป็นผู้สนับสนุนได้ที่ http://www.hpccommunity.org/