Charity Engine มาร่วมกันอุทิศพลังประมวลผลเพื่อการกุศลกันเถอะ

Charity Engine

“Changing the world one bit at a time” เป็นวลีที่จับใจจริงๆ

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

Continue reading

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

จาก 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

GRIDtodayเปลี่ยนไปเป็นOn-Demand Enterpriseแล้วครับ

โลโก้ ON-DEMAND ENTERPRISE หรือชื่อเดิมคือ GRIDtoday

ตั้งแต่วันที่ 18 สิงหาคม พ.ศ.2551 เป็นต้นไป เว็บไซต์ GRIDtoday (หรือ gridtoday.com) ถูกเปลี่ยนไปเป็น On-Demand Enterprise (on-demandenterprise.com)แล้วนะครับ สำหรับคนที่อยู่ในวงการกริดคงได้เข้าไปอ่านข่าวสารจากGRIDtodayอยู่บ่อยครั้ง แต่เนื่องจากวัตถุประสงค์ของทีมงานเว็บGRIDtodayต้องการนำเสนอสาระที่กว้างไปกว่าGrid Computing ไม่ว่าจะเป็น High Performance Computing, Utility Computing, Virtualization, SaaS, SOA, Cloud Computing ที่กำลังมาแรงแซงโค้ง, และหัวข้ออื่นๆที่เกี่ยวข้องกัน และเพื่อต้องการเสนอข่าวที่ตรงตามความต้องการของกลุ่มเป้าหมายที่เป็นตลาดธุรกิจมากขึ้น และเพื่อปูเส้นทางให้กับองค์บริษัทได้ก้าวเข้าสู่ยุค ON-DEMAND ตามชื่อของเว็บใหม่ On-Demand Enterprise นั่นเอง

UPDATE: ท้ายที่สุด on-demandenterprise.com ก็หยุดทำการไปเนื่องจากพิษเศรษฐกิจ มีผลตั้งแต่วันที่ 19 ธันวาคม ค.ศ. 2008 เป็นต้นมา

Singapore National Cloud (?)

บินเหนือเมฆเหนือน่านน้ำของสิงคโปร์…ขณะที่ผมนั่งเครื่องของAirasia เดินทางจากสิงคโปร์ไปกรุงเทพในวันที่ 5 พค 2551

วันนี้เจอข่าว breaking news จากเว็บ GridToday ที่ทำให้ผมตะลึงไปสักพัก หัวข้อข่าวคือ Platform Computing Annouces VM Orchestrator 4 ผมไม่ได้ตะลึงกัลข่าวที่บริษัท Platform เพิ่งประกาศออกผลิตภัณฑ์ตัวใหม่คือ Platform VM Orchestrator (VMO) เวอร์ชัน 4 (หรือ VMO 4) ไปหมาดๆในวันที่ 12 สิงหาคมนี่เอง แต่ที่ทำให้ผมตะลึงในข่าวนี้ก็คือในข่าวได้มีการอ้างถึงโครงการแรกที่ได้นำผลิตภัณฑ์ VMO 4 ไปใช้นั่นคือ Singapore National Cloud Continue reading

ประชุมทางไกลกับ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/

From Grid Enabled to Cloud Enabled

(โลโก้จากนิตยสาร LINUX MAGAZINE)

บทความจากเว็บ Linux Magazine ในหัวข้อ “Cloud Enabled” เป็นบทความที่น่าสนใจมากๆ และเหมือนผู้เขียนจะมีการใส่คำพูดประชดประชันเข้าไปด้วย แต่ผมก็เห็นด้วยกับผู้เขียนน่ะครับ เนื้อหาเป็นอย่างไรติดตามได้ โดยผมจะแทรกความคิดเห็นของผมเองด้วยตัวหนังสือสีแดง (ไปๆมาๆความคิดเห็นของผมอาจจะเสนอมากกว่าก็ได้) Continue reading

มุมมองในเรื่องCloud Computingของผู้เชี่ยวชาญ

จากเว็บของ Sys-Con Media มีหัวข้อชื่อ Twenty Experts Define Cloud Computing ซึ่งเป็นการนิยามความหมาย รวมถึงการอุปมาอุปไมยนิยามของ Cloud Computing โดยผู้เชี่ยวชาญ 20 ท่าน ผมได้สรุปนิยามไว้เพียงบางส่วน โดยตัดคำพูดมาเพียงบางตอนของบางท่านเท่านั้น และเป็นการเรียบเรียงด้วยภาษาของผมเอง โดยคงความหมายของต้นฉบับเอาไว้ และผมยังได้สอดแทรกการวิเคราะห์ของผมเองแนบไว้ด้วยตัวหนังสือสีแดง

ดูความหมายของCloud Computingได้ที่บทความ “นิยามคำว่า Cloud Computing

Omar Sultan ยกตัวอย่างหนึ่งเปรียบเทียบ Cloud Computing ไว้ว่า

“ถ้าผมจะอธิบายลูกค้าถึงความหมายของ Cloud Computing ผมจะยกตัวอย่างผ่านคำว่า Cloud Dinning หรือมื้ออาหารในกลุ่มเมฆ 🙂 สมมติว่าผมอยู่ที่บ้านและผมมีหน้าที่ทำอาหารเลี้ยงปากท้องสมาชิกในบ้าน ถ้าลูกน้อยของผมมาอ้อนวอนว่าอยากทานอาหารอิตาลี…ผมจะทำอาหารให้ลูกผมทานเองหรือสั่งอาหารอิตาลีจากข้างนอกมาดี? สมมติว่าผมไม่มีเครื่องครัว ไม่มีวัตถุดิบที่จะเอามาทำอาหารล่ะ ดังนั้น ผมจำเป็นต้องโทรสั่งอาหารหรือวัตถุดิบจากข้างนอกซะแล้ว เช่นกันกับ Cloud Computing เรามี application ที่ต้องการการสนับสนุนจาก cloud computing (ได้แก่ ทรัพยากรและบริการจากองค์กรอื่นๆ)”

Continue reading

นิยามคำว่า Cloud Computing

Cloud Computing คืออะไร

นี่คือการนิยามคร่าวๆของผมสำหรับความหมายของ Cloud Computing

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

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

รายละเอียดของนิยามมีอีกครับ เข้ามาติดตามได้เลย

Continue reading

When A Dog Needs to Play

จากข่าวที่ผมเคยได้นำเสนอมาแล้วในหัวข้อ “PS3 Cluster is not a Joke” และผมได้ทิ้งท้ายไปว่าเราคงจะได้เห็นผลิตภัณฑ์ PlayStation 3 (PS3) Cluster ออกมาขายกัน และก็ไม่ใช่เรื่องหยอกๆเลยเพราะมันมีจริงๆแล้วด้วย

Continue reading