ความเปลี่ยนแปลงของโลกแห่งการประมวลผลในยุคหลังนี้มีหลายอย่างที่เปลี่ยนไปจากเดิมที่เราต้องการให้ซอฟต์แวร์ทำงานเร็วที่สุดโดยไม่ต้องสนใจองค์ประกอบอื่นๆ เช่นการกระจายงานไปยังหลายๆ ซีพียู, การประหยัดพลังงาน, หรือการอาศัยฮาร์ดแวร์เฉพาะทางในซีพียูที่ช่วยขยายความสามารถของซอฟต์แวร์ให้รับโหลดได้มากกว่าเดิม
ปัญหาสำคัญคือแม้ฮาร์ดแวร์จะรุดหน้าไปอย่างมาก อย่างที่เราเห็นซีพียูใหม่ๆ ออกมาเรื่อยๆ แต่ซอฟต์แวร์กลับไม่สามารถตามไปได้ เช่นเกมที่มักใช้ซีพียูเพียงคอร์เดียวเสมอๆ หรือซอฟต์แวร์ดนตรีที่กลับไม่ได้ใช้ความสามารถในประมวลผลแบบเวคเตอร์ในซีพียู โดยผู้ผลิตซอฟต์แวร์กลับไปพึ่งกับการออกแบบใหม่ๆ ที่เร่งความเร็วหน่วยประมวลผลทั่วไป (General Computing) ที่นับวันจะมีพัฒนาการที่ช้าลงเรื่อยๆ จากข้อจำกัดหลายๆ อย่าง เช่นสัญญาณนาฬิกาของซีพียูที่ไม่สามารถเร่งขึ้นไปได้มากกว่านี้, หรือต้นทุนในการผลิตซีพียูคอร์เดียวที่มีประสิทธิภาพสูงที่แพงกว่าซีพียูหลายคอร์, ตลอดจนพลังงานต่องานที่ได้รับ
อินเทลเองก็ทราบปัญหานี้ดีว่าโลกซอฟต์แวร์มีแรงจูงใจที่จะปรับปรุงซอฟต์แวร์ไปสู่การทำงานหลายคอร์ไม่มากนัก โดยซอฟต์แวร์จำนวนมากยังอาศัยการเพิ่มประสิทธิภาพด้วยการอัพเกรดฮาร์ดแวร์กันต่อไป ขณะที่โลกของพีซีถูกขยายออกไปจากเดสก์ทอปหรือเซิร์ฟเวอร์ไปสู่เน็ตบุ๊ก, แท็บเล็ต, หรือกระทั่งสมาร์ทโฟน การอาศัยหน่วยประมวลทั่วไปโดยไม่ใช้ความสามารถพิเศษอื่นๆ ของฮาร์ดแวร์จะส่งข้อเสียในระยะยาวคือตัวซอฟต์แวร์สร้างประสบการณ์ที่ไม่ดีให้กับผู้ใช้ เมื่อผู้ใช้ใช้งานบนเครื่องที่ไม่เร็วนักเช่นเน็ตบุ๊ก อีกทางหนึ่งซอฟต์แวร์เหล่านี้กลับลดคุณค่าของฮาร์ดแวร์ใหม่ๆ เพราะผู้ใช้ทั่วไปกลับไม่รู้สึกว่าเครื่องใหม่ที่เพิ่งซื้อมาเร็วกว่าเดิมมากนัก
ทางออกของอินเทลคือโครงการ Intel Software Partner Program (ISPP) ที่ชักชวนผู้ผลิตซอฟต์แวร์ต่างๆ มาปรับปรุง หรือพัฒนาสินค้าใหม่ๆ ให้รองรับเทคโนโลยีใหม่ๆ ให้มากยิ่งขึ้น โดยมีสิ่งจูงใจคืออินเทลจะช่วยทำตลาดสินค้า การได้ชื่อร่วมกับรายการพันธมิตรซอฟต์แวร์ของอินเทล, เข้าถึงแผนการวางตลาดสินค้าของอินเทลล่วงหน้า, สิทธิในการเข้าอบรมพิเศษต่างๆ ที่อินเทลจัดให้พันธมิตรจำนวนมาก
สิ่งจูงใจที่อินเทลมอบให้พันธมิตรซอฟต์แวร์นั้นแบ่งออกเป็นสองส่วนคือสิ่งที่ได้รับเมื่อเข้าร่วม ISPP กันสิ่งที่ได้รับหลังจากมีการปรับปรุงซอฟต์แวร์ใหม่ หรือออกซอฟต์แวร์ใหม่ที่มีรองรับฟีเจอร์ใหม่ๆ ของฮาร์ดแวร์ได้แล้ว
เนื่องจากซอฟต์แวร์จำนวนมากติดเงื่อนไขทางการค้าทำให้สามารถส่งมอบซอฟต์แวร์ไปให้อินเทลทดสอบได้ เช่นซอฟต์แวร์บางตัวยังไม่วางตลาด, หรือซอฟต์แวร์มีกระบวนการติดตั้งซับซ้อน กระบวนการตรวจสอบจึงเป็นการใช้ชุดเครื่องมือตรวจสอบของทางอินเทลที่เรียกว่า Software Assessment Tools มารันในเครื่องที่ติดตั้งซอฟต์แวร์ไว้แล้ว
เครืองมือในกลุ่มนี้มีทั้งหมด 5 ตัวด้วยกัน แบ่งออกไปตามฟีเจอร์ต่างๆ ของฮาร์ดแวร์ ได้แก่
เครื่องมือทั้ง 5 นี้เป็นเครื่องมือเพื่อทดสอบและสร้างรายงานการตรวจสอบให้ขึ้นเป็นไฟล์รายงาน โดยพันธมิตรซอฟต์แวร์จะต้องส่งรายงานทดสอบนี้กลับไปยังอินเทลเพื่อขอรับรองว่าซอฟต์แวร์ได้ใช้ประสิทธิภาพของฮาร์ดแวร์ได้ดีจริง แต่ผลประโยชน์บางอย่างเช่นการสนับสนุนการตลาด, บทวิจัยแนวโน้มทางด้านไอทีงอินเทลจะเปิดให้ใช้งานทันทีหลังส่งผลทดสอบ
สำหรับเครื่องมือที่สำคัญที่สุดคงเป็น Intel Concurrency Checker ที่เราจะแนะนำในส่วนต่อไป
Intel Concurrency Checker เป็นซอฟต์แวร์เล็กๆ ที่ใช้ตรวจสอบความสามารถในการกระจายเธรดของซอฟต์แวร์ โดยตัวมันเองจะเข้าไปตรวจสอบการทำงานของซอฟต์แวร์ของเราเป็นช่วงเวลา 30 วินาที
ตัวซอฟต์แวร์เป็นลักษณะของ Wizard จำนวน 4 หน้าเท่านั้น โดยเมื่อเริ่มซอฟต์แวร์ขึ้นมามันจะให้เรากรอกของมูลของซอฟต์แวร์ และให้เราเลือกว่าต้องการรันแอพพลิเคชั่นขึ้นใหม่เลยหรือไม่
หากเราไม่ได้เลือกให้รันแอพลิเคชั่นขึ้นให้ หน้าจอจะให้เราเลือกจากรายการ process ของวินโดวส์
จากนั้นจึงเป็นหน้าจอตรวจสอบซอฟต์แวร์ โดยเราต้องเตรียมซอฟต์แวร์ให้พร้อมในช่วงนี้ก่อนกด start โดยตัวตรวจสอบนี้จะขึ้นมาเดือนว่ากำลังสร้างไฟล์รายงานใหม่เตรียมให้เราส่งกลับไปยังอินเทล
เมื่อตรวจสอบเสร็จแล้ว จะรายงานตัวเลขออกมาว่าแอพพลิเคชั่นของเรารองรับการทำงานแบบเธรดมากแค่ไหน โดยตัวเลขนี้จะทำไปรายงานแบบไม่ระบุตัวตนในสมาชิกโครงการ ISPP ด้วยกัน เพื่อแจ้งให้สมาชิกแต่ละคนทราบว่าแอพพลิเคชั่นได้รับการปรับแต่งมาดีเพียงใด
การปรับแต่งในโครงการ ISPP นั้นถ้าเราติดตามข่าวของซีพียูมาเรื่อยๆ จะพบว่าการปรับแต่งเหล่านี้เรามักจะต้องทำอยู่แล้วในอนาคตอันใกล้ การเข้าร่วมโครงการ ISPP และน่าจะเป็นโอกาสที่ดีที่เราจะปรับแต่งซอฟต์แวร์ให้รองรับอนาคตได้ดียิ่งขึ้น
บทความในชุด Intel Software Partner Program ยังมีบทความต่อไป เป็นการสัมภาษณ์บริษัทที่เข้าเป็นโครงการ ISPP มาก่อนและได้ประโยชน์จากโครงการนี้ สำหรับผู้ที่ต้องการข้อมูลเพิ่มเติม สามารถเข้าไปที่หน้า Fan Page ของโครงการได้ ตั้งแต่วันนี้ถึงวันที่ 7 ก.พ. นี้คนที่กดเป็นแฟนกับหน้าโครงการและแจ้งว่าทราบมาจาก Blognone จะมีโอกาสได้รับเสื้อ Intel Software Partner จำนวน 5 ตัว
Comments
ไม่มีใคร เขาเขียนโปรแกรมตามซีพียูได้บ่อยๆ หรอก รับประกันได้ไหมล่ะว่าถ้าสร้างซอฟต์แวร์สำหรับซีพียูรุ่นหนึ่งแล้ว จะสามารถใช้งานกับรุ่นอื่นได้อย่างมีประสิทธิภาพ ที่สำคัญจะเป็นการผูกขาดมากเกินไป(ความเห็นส่วนตัวนะ)
เห็นด้วยครับ
Application ควรจะรันอยู่บน platform ซึ่ง platform ควรจะพัฒนาให้ใช้ความสามารถของ Hardware ได้เต็มที่ ไม่อย่างนั้นคนเขียน Application จะถูกจำกัดการใช้ Software ด้วย platform เดียว
น่าจะประกวดการสร้าง SDK มากกว่านะครับ โดยที่ใช้ Application ตัวเดียวกัน แล้วมาวัดกันว่า SDK ของใครดึงประสิทธิภาพของ Hardware ออกมาได้อย่างเต็มที่
+1 ครับผม
เราน่าจะพัฒนา platform ให้เหมาะสมกับ CPU มากกว่าจะไปพัฒนา Application
แทนที่ละไปทำAppทีละตัว เราสามารถทำอะไรที่ได้ผลกับทุกๆ App ที่เขียนด้วย Platform นั้นๆน่าจะดีกว่าเยอะเลย
แต่ผมก็สงสัยอยู่เหมือนกันนะครับว่า ถ้าพัฒนา Platform ให้รองรับ CPU ใหม่ๆแล้ว
App ที่เขียนๆไว้จะต้องแก้ไข Code ตามไปด้วยหรือเปล่า ผมเกรงว่ามันจะเป็น โดมิโน่ กันไปเรื่อยๆ
Platform พี่พัฒนาต่อจากของเดิม ถ้ามีการแก้ไข Application ไม่จำเป็นต้องเปลี่ยนครับ
เพราะ Application คุยกับ platform ผ่าน API ซึ่ง API ของ version ใหม่ๆก็มีรูปแบบการใช้งานเหมือนเดิม ยกเว้นจะเพิ่ม API เข้ามา (ลองนึกถึง JAVA ครับ เปลี่ยนหลาย version แต่ Software เอามาใช้กับ version ใหม่ๆได้อยู่)
lewcpe.com, @wasonliw
ไม่ทราบว่าตรงนี้เป็นบั๊กของเวปหรือเปล่าครับ
http://www.blognone.com/user/advertorial
บั๊กครับ กำลังหาทางแก้อยู่
lewcpe.com, @wasonliw
ผมก็เป็นอะครับ หน้า home ก็ขึ้น แต่นิดเดียว หน้า reply ก็ขึ้น
advertising theme สวยงามดีครับ
ผมเข้ามาเจอแต่คอมเมนต์ งงเลย-*-
May the Force Close be with you. || @nuttyi
ปรับโฆษณาเป็นสีใหม่ goood ครับ
เตะตามาก ๆ ต่อไปนี้ดูแล้วเข้าใจเลยว่าเป็นโฆษณา
ชอบๆ สีสวยดี
เกี่ยวกับข่าวไหม
"เนื่องจากซอฟต์แวร์จำนวนมากติดเงื่อนไขทางการค้าทำให้สามารถส่งมอบซอฟต์แวร์ไปให้อินเทลทดสอบได้ เช่นซอฟต์แวร์ บางตัวยังไม่วางตลาด"
ต้องมีคำว่า ไม่ ด้วยหรือเปล่าครับฟังดูงงๆ