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

Charity Engine

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

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

หลักการประมวลผลแบบขนาน

(หมายเหตุ ท่านสามารถข้ามหัวข้อนี้ไปได้ ถ้าไม่สนใจว่าการประมวลผลแบบขนานทำงานอย่างไร)

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

ใน(ทางทฤษฎี)อุดมคติ การประมวลผลแบบขนานเช่นนี้จะช่วยลดเวลาในการประมวลผลได้มากทีเดียว (หรือเพิ่มความเร็วในการประมวล) อธิบายได้ว่า หากปัญหาหนึ่งปัญหา ใช้เวลา M นาทีในการประมวลผลบนคอมพิวเตอร์เครื่องเดียว เมื่อแบ่งปัญหาออกเป็น job จำนวน N หน่วย และกระจายไปให้คอมพิวเตอร์จำนวน N เครื่องประมวลผลแล้ว ระยะเวลาในการประมวลผลจะลดลงเหลือเพียง M/N นาที

ตัวอย่างเช่น โปรแกรมคอมพิวเตอร์ของปัญหาวิทยาศาสตร์ปัญหาหนึ่ง ต้องใช้เวลาถึง 1,000 ชั่วโมงในการหาคำตอบบนคอมพิวเตอร์เครื่องเดียว (หรือ M = 1,000 x 60 นาที) ถ้าหากปัญหาถูกแบ่งออกเป็น job จำนวน 1,000 หน่วย (หรือ N = 1,000) ปัญหานี้จะถูกแก้ได้ภายในเวลา 60 นาทีหรือ 1 ชั่วโมงเท่านั้น นั่นคือ M/N = 1,000 x 60 นาที หาร 1,000 = 60 นาที

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

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

วิทยาศาสตร์คอมพิวเตอร์จึงมีสาขาวิชาที่ศึกษาการเพิ่มสมรรถนะในการประมวลผลแบบขนาน ซึ่งเรียกกันว่า parallel computing ท่านที่สนใจก็ไปศึกษาเพิ่มเติมได้

พื้นฐานของ Charity Engine

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

ลักษณะการประมวผลแบบกระจาย job จากเซิร์ฟเวอร์ไปยังคอมพิวเตอร์ที่รอรับ job เช่นนี้ มีชื่อเรียกกันว่า การประมวลผลแบบอุทิศ (volunteer computing) ซึ่งเป็นรูปแบบการประมวลผลที่ใกล้เคียงกับ grid computing ท่านที่สนใจในรายละเอียด(เล็กน้อย)สามารถอ่านเพิ่มเติมในบทความเก่าของผม

จุดเด่นของ volunteer computing คือ ความเรียบง่ายและการเข้าถึงขุมพลังการประมวลขนาดใหญ่ เพราะโดยส่วนใหญ่แล้ว volunteer computing ถูกพัฒนาให้ทำงานกับเครือข่ายอินเทอร์เน็ต และอินเทอร์เน็ตก็มีจำนวนของคอมพิวเตอร์ที่มากมายมหาศาล ที่กำลังต่อเข้ามายังเครือข่าย ในทางทฤษฎีแบบอุดมคติ(ที่ไม่ได้พิสูจน์) ถ้าหากเราสามารถนำคอมพิวเตอร์ทุกเครื่องที่ต่ออินเทอร์เน็ตมาร่วมกันประมวลผลผ่านซอฟต์แวร์ของ volunteer computing ได้ เราก็สามารถสร้างซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดในโลก (หรืออาจจะใน 3 โลก) ที่จะไม่มีซูเปอร์คอมพิวเตอร์ใน TOP500 ระบบไหนมาโค่นแชมป์นี้ได้ตลอดกาล

BOINC Logo

(โลโก้ของ BOINC)

Charity Engine เป็นโครงการไม่หวังผลกำไร ดำเนินงานโดย World Computer Company ตั้งที่ประเทศอังกฤษ โดยพื้นฐานแล้วซอฟต์แวร์ของ Charity Engine พัฒนาจาก BOINC ซึ่งเป็นโครงการใหญ่ของมหาวิทยาลัย Berkeley ผมเคยเขียนเกี่ยวกับโครงการ BOINC ไว้แล้ว [อ้างอิง] โดย BOINC เป็นแพลตฟอร์มสำหรับการพัฒนาซอฟต์แวร์ในรูปแบบ volunteer computing ที่ได้รับความนิยมสูง

มีโครงการมากมายที่พัฒนาด้วย BOINC ได้แก่ Docking@Home เป็นโครงการวิจัยค้นหาตัวยาที่มีประสิทธิภาพ เพื่อต่อกรกับโรค (อย่างเช่น เชื้อ HIV), Rosetta@home ศึกษาโปรตีนเพื่อค้นหาวิธีการรักษาโรค, Malariacontrol.net ศึกษาวิจัยเพื่อควบคุมการระบาดของไข้มาลาเรีย,  Cosmology@Home โครงการศึกษาเกี่ยวกับจักรวาล, PrimeGrid ค้นหาจำนวนเฉพาะที่มีขนาดใหญ่ที่สุดที่เป็นไปได้ ซึ่งมีผลต่อการพัฒนาระบบรักษาความปลอดภัยที่มีประสิทธิภาพให้กับคอมพิวเตอร์และเครือข่าย, และ  SETI@home โครงการค้นหามนุษย์ต่างดาว! เป็นต้น  โดยปกติ โครงการวิจัยเหล่านี้ต้องยุ่งเกี่ยวกับปัญหาวิจัยที่มีความซับซ้อนสูงเกินกว่าคอมพิวเตอร์สมัยใหม่เครื่องเดียวจะประมวลผลได้ และการจัดซื้อซูเปอร์คอมพิวเตอร์เพื่อแก้ปัญหาดังกล่าวก็ถือว่าเป็นการลงทุนที่มีราคาสูง (ถ้าหากหน่วยงานที่ดูแลโครงการมีงบจำกัด)

รายชื่อโครงการวิจัยทั้งหมดดูได้ที่เว็บ BOINC

อุทิศอย่างไร?

เมื่อผู้ที่เกี่ยวข้องกับโครงการวิจัยเหล่านี้ได้อุทิศตัวศึกษาวิจัยเพื่อมนุษยชาติ หรือเพื่อตอบคำถามวิทยาศาสตร์ที่คนเรายังสงสัยกันอยู่  แล้วพวกเราพอจะอุทิศเอาคอมพิวเตอร์ของเรามาประมวลผลช่วยโครงการเหล่านี้ได้หรือไม่?

การอุทิศพลังคอมพิวเตอร์ในทีนี้ ไม่ได้หมายถึงว่าเราไปบริจาคเครื่องคอมพิวเตอร์ให้โครงการวิจัยเหล่านี้แต่อย่างใด หากแต่บริจาคเวลาของหน่วยประมวลผล (CPU time หรือ CPU cycle) โดยเราแค่ติดตั้งซอฟต์แวร์ client ของ volunteering computer อย่าง Charity Engine (หรือ BOINC) ไว้ที่เครื่อง แล้วตั้งเวลาได้ว่าจะให้ client รับและประมวลผล job จากเซิร์ฟเวอร์ตอนช่วงเวลาไหนได้บ้าง หรือสามารถควบคุมได้ว่าจะให้ client รับ job มาประมวลผล ณ​ เวลาตอนนี้เลย และก็สามารถสั่ง client หยุดประมวลผล job ก็ได้

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

ในความเป็นจริงแล้ว เราไม่ควรเปิดคอมพิวเตอร์ของเราขึ้นมา โดยคอมพิวเตอร์ไม่ได้ประมวลผลอะไรเลย หรือประมวลผลเพียงเล็กน้อย เพราะถือว่าเปลืองไฟโดยสิ้นเปลือง อีกอย่างคือ คอมพิวเตอร์สมัยนี้มีประสิทธิภาพสูงมาก อย่างเช่นใช้ซีพียูแบบหลายคอร์ (เช่น dual core คือมี 2 คอร์ ส่วน quad core คือมี 4 คอร์) ยิ่งจำนวนคอร์เยอะขึ้นก็ทำให้สามารถประมวลผลโปรเซส (เช่น job) หลายโปรเซสพร้อมกันได้มากขึ้นด้วย แต่ก็มีหลายครั้งที่คอมพิวเตอร์ของเราไม่สามารถดึงขุมพลังจากทุกๆคอร์มากประมวลผลได้ ทำให้คอมพิวเตอร์อันทรงพลังนั้นถูกใช้งานไม่เต็มที่ ดังนั้น การอุทิศ CPU time ไม่เพียงแต่เราได้ทำบุญกุศลเท่านั้น หากแต่ขุมพลังของคอมพิวเตอร์ยังถูกนำมาใช้ให้เกิดคุ้มค่าต่อเม็ดเงินที่เราได้ซื้อคอมพิวเตอร์และจ่ายค่าไฟด้วย

แต่เราก็ไม่ควรเปิดคอมพิวเตอร์ตลอด 24 ชั่วโมงทุกวันโดยไม่ปิด เพื่ออุทิศ CPU time ยกเว้นซะว่าเราตั้งใจอย่างแรงกล้าว่าได้ซื้อคอมพิวเตอร์เพื่ออุทิศ CPU time โดยเฉพาะ อย่างไรก็ดี ผมว่าเราควรอุทิศ CPU time ตามแต่กำลังทรัพย์(และศรัทธา)จะเหมาะสมกว่า

New Picture

(ตัวอย่างหน้าตาซอฟต์แวร์ client ของ Charity Engine)

วิธีการติดตั้ง Charity Engine ทำได้ง่ายมากๆ คือ คุณต้องสมัครเป็นสมาชิกที่เว็บ Charity Engine (กดสมัครในส่วน Register ตรงมุมขวาบนของหน้าเว็บ) เมื่อสมัครสมาชิกแล้ว (คุณต้องยืนยันอีเมลที่คุณใช้สมัครด้วย) คุณสามารถดาวน์โหลด client ของ Charity Engine มาติดตั้งที่เครื่องคอมพิวเตอร์ (คอมพิวเตอร์ต้องต่ออินเทอร์เน็ตถึงรับ job ได้)  เมื่อติดตั้งเสร็จ คุณสามารถเลือกได้ว่าจะรับ job จากโครงการวิจัยอะไรบ้าง ผ่านทางเมนู Advanced –> Attach to Project  จากนั้นคุณสามารถปรับแต่งโปรแกรมได้ว่าจะให้ client รับและประมวลผล job ตอนช่วงเวลาไหน ผ่านเมนู Advanced –> Preferences… หรือคุณอาจสั่งให้ client รับและประมวลผล job ผ่านเมนู Activity –> Run Always  หรือสั่ง client ให้เลิกรับและประมวลผล job ผ่านเมนู Activity –> Suspend

สำหรับท่านที่อยากใช้ BOINC เพรียวๆ โดยไม่ผ่าน Charity Engine ก็สามารถดาวน์โหลดโปรแกรมได้ที่ BOINC

หมายเหตุไว้หน่อยว่า วิธีการใช้งานของ Charity Engine กับ BOINC เหมือนกัน ผมจะไม่สอนวิธีการติดตั้งและใช้งานโปรแกรม ลองศึกษาเองดูครับ

อุทิศแล้วได้กุศลอย่างไร?

ทั้ง BOINC และ Charity Engine ต่างสามารถสร้างเครือข่ายของการประมวลผลแบบอุทิศบนเครือข่ายอินเทอร์เน็ต การที่เราบริจาค CPU time เพื่อการประมวลผลให้กับโครงการวิจัยต่างๆนั้นถือว่าเป็นการกุศลได้ เพราะความสำเร็จของโครงการวิจัยเหล่านี้อาจนำมาซึ่งผลงานที่เปลี่ยนแปลงโลกในทางที่ดีขึ้นได้ เช่น ได้สูตรยาที่มีประสิทธิภาพในการรักษาโรคมะเร็ง ช่วยผู้ป่วย HIV รักษาโรคความจำเสื่อม ทำให้ต่อชีวิตคนได้อีกหลายชีวิต หรือทำให้คนมีความสุขได้อีกหลายชีวิต เป็นต้น

มากไปกว่านั้น Charity Engine ยังมีช่องทางการบริจาคเงินให้กับองค์กรการกุศลอีกด้วย ซึ่งมีองค์กรการกุศลหลายองค์กรที่ได้รับการช่วยเหลือจาก Charity Engine อาทิเช่น Sightsavers (ช่วยเหลือผู้พิการทางสายตา), War on Want (ช่วยเหลือประเทศที่กำลังพัฒนาเพื่อต่อสู้กับความยากจนและความไม่เท่าเทียมทางสังคม), WaterAid (ช่วยเหลือชุมชนที่ยากจนโดยการปรับปรุงสิ่งแวดล้อมให้สะอาด), Care International (ช่วยเหลือชุมชนที่ยากจน) เป็นต้น

Charity Engine ได้เงินบริจาคจากไหน?

อย่างที่กล่าวไปแล้วว่า Charity Engine พัฒนาจาก BOINC ดังนั้น Charity Engine จึงสามารถรับ job จากโครงการวิจัยที่ใช้แพลตฟอร์ม BOINC ได้ด้วย แต่นอกเหนือไปจากโครงการวิจัยที่ไม่หวังผลกำไรแล้ว Charity Engine ยังเปิดให้บริษัทและองค์กรต่างๆที่ต้องการพลังการประมวลผลขนาดใหญ่สามารถเช่าการประมวลผลของคอมพิวเตอร์ที่อุทิศ CPU time ได้อีกด้วย (ซึ่งมีลักษณะคล้ายกับ cloud computing) โดย Charity Engine คิดค่าเช่าการประมวลผลที่ 0.01 เหรียญต่อชั่วโมง หรือเพียง 1 เซ็นต์นั่นเอง [อ้างอิง] ถือว่าเป็นค่าเช่าที่ถูกมากๆเมื่อเทียบกับการเช่า CPU time จากผู้ให้บริการเพื่อการค้ารายอื่นๆ และรายได้ในส่วนนี้นี่เองคือที่มาของเงินบริจาค

หากกล่าวถึงความปลอดภัย ของ job ที่มาจาก Charity Engine นั้นน่าเชื่อถือหรือไม่?  Charity Engine กล่าวว่า โครงการได้เลือกใช้เทคโนโลยี BOINC ที่มีความปลอดภัยสูง โดย job ที่มาประมวลผลยังคอมพิวเตอร์จะไม่สามารถเข้าถึงข้อมูลอื่นๆของคอมพิวเตอร์ได้เลย (เช่น ข้อมูลส่วนตัวที่เก็บไว้ในคอมพิวเตอร์ของเรา)

ได้ทั้งกุศลและลุ้นรางวัล!

Charity Engine มีวิธีการเชิญชวนผู้บริจาครายใหม่ให้มาอุทิศ CPU time และรักษาผู้บริจาครายเก่าให้อยู่ในเครือข่ายของ Charity Engine ต่อไป โดยใช้หลักการคล้ายๆกับสลากกาชาด กล่าวคือ ผู้บริจาคนอกจากได้กุศลแล้ว ยังสามารถลุ้นชิงรางวัลได้อีกด้วย

Charity Engine2

(ตัวอย่างของรางวัล – รอบนี้ Charity Engine ตั้งรางวัลไว้ถึง 10,000 เหรียญ หรือมากกว่า 3 แสนกว่าบาท)

Charity Engine แบ่งรายได้ที่ได้มาออกเป็น 50-50 (เปอร์เซ็นต์) โดยครึ่งหนึ่งของรายได้จะนำไปบริจาคให้กับหน่วยงานการกุศล ส่วนรายได้อีกครึ่ง จะนำไปเป็นรางวัลชิงโชคให้กับผู้บริจาค

ปรอทในภาพประกอบด้านบนนี้ (ที่มีเลข 90% กำกับ) เป็นตัววัดถึงรายได้ที่ Charity Engine ได้รับ โดยค่าในปรอทนี้จะรายงานออกมาเป็นเปอร์เซ็นต์ ถ้าปรอทให้ค่าเต็ม 100 เปอร์เซ็นต์ นั่นแปลว่า  Charity Engine ได้รับเงินบริจาคครบตามที่ตั้งเป้าเอาไว้ และถึงเวลาที่จะหาผู้โชคดีที่จะได้รับเงินรางวัล โดยรางวัลในครั้งนี้คือ 10,000 เหรียญ ส่วนรางวัลในครั้งก่อนซึ่งประกาศผู้ที่ได้รับรางวัลไปแล้วมีอยู่ 2 รางวัล คือ 1. เงินสด 1,000 เหรียญ และ 2. iPhone 4S พร้อมกับ iPad 2 [อ้างอิง]

Charity Engine ให้ข้อมูลว่า การอุทิศ CPU time สำหรับเครื่องคอมพิวเตอร์ส่วนบุคคลหนึ่งเครื่อง (เครื่องพีซี) คิดเป็นค่าไฟทั้งวันน้อยกว่า 10 เซ็นต์ แต่สามารถก่อให้เกิดเงินบริจาคได้ถึง 10 ถึง 20 เหรียญต่อวัน ซึ่งกล่าวเป็นนัยได้ว่า ถ้ามีคอมพิวเตอร์เข้ามาอุทิศ CPU time เยอะมากเท่าไหร่ เงินบริจาคก็ยิ่งมากเท่านั้น และการจับรางวัลก็เกิดขึ้นเร็วมากขึ้นเท่านั้นด้วย

วิธีการจับรางวัลของ Charity Engine ถือว่าซับซ้อนและน่าตื่นเต้น โดยเขาจะใช้ตัวเลขที่อยู่ในราคาปิดของตลาดหุ้นในหลายประเทศมาใช้ในการสร้างตัวเลขรางวัลคล้ายๆกับเลขรางวัลสลากกินแบ่ง  โดยผู้บริจาคทุกท่านจะมีเลขสลากของตนเองเช่นกัน และผู้โชคดีที่ได้รางวัลก็คือผู้บริจาคที่มีเลขสลากตรงกับเลขรางวัลนั่นเอง

สรุป

Charity Engine คือรูปแบบการประมวลผลแบบอุทิศ ที่ก่อให้เกิดคุณค่าต่องานทางด้านวิทยาศาสตร์ อีกทั้งสามารถก่อให้เกิดผลงานล้ำค่าที่เป็นประโยชน์กับมนุษยชาติได้ด้วย นอกจากนี้แล้ว Charity Engine ยังนำคอมพิวเตอร์ที่อุทิศการประมวลผลไปใช้เพื่อหาเงินบริจาคแก่หน่วยงานกุศลต่างๆ อีกทั้งผู้บริจาคพลังประมวลผลยังได้ลุ้นรางวัลมูลค่าสูงอีกด้วย ถือซะว่าเป็นการได้ประโยชน์ร่วมกัน (win win situation) ระหว่างผู้บริจาคและผู้ที่ได้รับประโยชน์จากการบริจาค และก็เป็นไปได้ว่า ผู้บริจาคก็อาจเป็นหนึ่งในผู้ได้รับประโยชน์จากการบริจาคด้วยเช่นกันก็ได้

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

  1. ตอนนี้เปิทิ้งเปิดขว้างสองเครื่อง เครื่องนึง Notebook เครื่องนึง PC ดูท่าแล้ว Notebook ผมจะไปก่อน 555+ ก็ว่าจะหาเครื่อง PC เก่าๆ พวก Core 2 Dual Ram ซัก 4G มาเปิดทิ้งที่บ้าน ไม่รู้จะได้กุศลหรือจะได้จ่ายค่าไฟเพิ่ม 555+ แต่เป็นเรื่องที่น่าสนใจ และน่าศึกษาต่อไปครับ ยังไงก็ต้องขอบคุณที่นำเรื่องดีๆ มาบอกครับ

    • ถูกต้องครับ CharityEngine แนะนำไว้อยู่ครับว่า ปิดเครื่องด้วย ให้ใช้ CharityEngine เฉพาะตอนจำเป็น/ลืมจริงๆ เช่น โหลดข้อมูลใหญ่ เปิดเพลงฟัง หรือช่วงออกไปทานข้าวพักเที่ยงเปิดเครื่องสักชั่วโมงพอ

      กรณีของผม ผมดูแล server ชุดนึงน่ะครับ ที่รองรับ VM ได้ 20 กว่าเครื่อง บางช่วงเวลา เช่นหลังเที่ยงคืนถึง 9 โมงเช้า server ว่างงาน ผมก็รัน VM ที่มี CharityEngine ครับ ถ้าวันไหน user ใช้งานหลังเที่ยงคืน ผมจะเตรียม script ให้เขาเปิด/ปิด VM ไว้ด้วยครับ

      • ผมเปิดทิ้งไว้ทั้งวันทั้งคืน จะเรียกว่าใช้ไฟเปลืองหรือเปล่าครับ 555+ แต่เปิดทิ้งไว้เพื่อทำงาน แต่ปัญหาที่พบส่วนใหญ่ก็คือไม่ได้รับค่า Cobblestones ซึ่ง task เสร็จไปเยอะหลายตัว เลยกำลังงงๆ กับตัวนี้ครับ 555+

      • ในเว็บโครงการเขามีรณรงค์ให้เปิดคอมเฉพาะตอน(จำเป็นว่า)ไม่ได้ใช้งานจริงๆ เช่น พักเที่ยง, ทานอาหาร, เข้าประชุม เป็นต้น เขาไม่แนะนำให้เปิดทั้งวันทั้งคืนน่ะครับ แต่หลายกรณีพวก server ก็อาจตั้ง idle period ได้ว่า CPU utilization ต่ำกว่ากี่ % แล้วค่อยรับ job เข้ามา ซึ่งปกติหลังเที่ยงคืน server มักว่างงาน ก็อุทิศตัวเองได้ในตอนนี้น่ะครับ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s