ความเปลี่ยนแปลงของโลกแห่งการประมวลผลในยุคหลังนี้มีหลายอย่างที่เปลี่ยนไปจากเดิมที่เราต้องการให้ซอฟต์แวร์ทำงานเร็วที่สุดโดยไม่ต้องสนใจองค์ประกอบอื่นๆ เช่นการกระจายงานไปยังหลายๆ ซีพียู, การประหยัดพลังงาน, หรือการอาศัยฮาร์ดแวร์เฉพาะทางในซีพียูที่ช่วยขยายความสามารถของซอฟต์แวร์ให้รับโหลดได้มากกว่าเดิม
ปัญหาสำคัญคือแม้ฮาร์ดแวร์จะรุดหน้าไปอย่างมาก อย่างที่เราเห็นซีพียูใหม่ๆ ออกมาเรื่อยๆ แต่ซอฟต์แวร์กลับไม่สามารถตามไปได้ เช่นเกมที่มักใช้ซีพียูเพียงคอร์เดียวเสมอๆ หรือซอฟต์แวร์ดนตรีที่กลับไม่ได้ใช้ความสามารถในประมวลผลแบบเวคเตอร์ในซีพียู โดยผู้ผลิตซอฟต์แวร์กลับไปพึ่งกับการออกแบบใหม่ๆ ที่เร่งความเร็วหน่วยประมวลผลทั่วไป (General Computing) ที่นับวันจะมีพัฒนาการที่ช้าลงเรื่อยๆ จากข้อจำกัดหลายๆ อย่าง เช่นสัญญาณนาฬิกาของซีพียูที่ไม่สามารถเร่งขึ้นไปได้มากกว่านี้, หรือต้นทุนในการผลิตซีพียูคอร์เดียวที่มีประสิทธิภาพสูงที่แพงกว่าซีพียูหลายคอร์, ตลอดจนพลังงานต่องานที่ได้รับ
อินเทลเองก็ทราบปัญหานี้ดีว่าโลกซอฟต์แวร์มีแรงจูงใจที่จะปรับปรุงซอฟต์แวร์ไปสู่การทำงานหลายคอร์ไม่มากนัก โดยซอฟต์แวร์จำนวนมากยังอาศัยการเพิ่มประสิทธิภาพด้วยการอัพเกรดฮาร์ดแวร์กันต่อไป ขณะที่โลกของพีซีถูกขยายออกไปจากเดสก์ทอปหรือเซิร์ฟเวอร์ไปสู่เน็ตบุ๊ก, แท็บเล็ต, หรือกระทั่งสมาร์ทโฟน การอาศัยหน่วยประมวลทั่วไปโดยไม่ใช้ความสามารถพิเศษอื่นๆ ของฮาร์ดแวร์จะส่งข้อเสียในระยะยาวคือตัวซอฟต์แวร์สร้างประสบการณ์ที่ไม่ดีให้กับผู้ใช้ เมื่อผู้ใช้ใช้งานบนเครื่องที่ไม่เร็วนักเช่นเน็ตบุ๊ก อีกทางหนึ่งซอฟต์แวร์เหล่านี้กลับลดคุณค่าของฮาร์ดแวร์ใหม่ๆ เพราะผู้ใช้ทั่วไปกลับไม่รู้สึกว่าเครื่องใหม่ที่เพิ่งซื้อมาเร็วกว่าเดิมมากนัก
ทางออกของอินเทลคือโครงการ Intel Software Partner Program (ISPP) ที่ชักชวนผู้ผลิตซอฟต์แวร์ต่างๆ มาปรับปรุง หรือพัฒนาสินค้าใหม่ๆ ให้รองรับเทคโนโลยีใหม่ๆ ให้มากยิ่งขึ้น โดยมีสิ่งจูงใจคืออินเทลจะช่วยทำตลาดสินค้า การได้ชื่อร่วมกับรายการพันธมิตรซอฟต์แวร์ของอินเทล, เข้าถึงแผนการวางตลาดสินค้าของอินเทลล่วงหน้า, สิทธิในการเข้าอบรมพิเศษต่างๆ ที่อินเทลจัดให้พันธมิตรจำนวนมาก
Software Assessment Tools
สิ่งจูงใจที่อินเทลมอบให้พันธมิตรซอฟต์แวร์นั้นแบ่งออกเป็นสองส่วนคือสิ่งที่ได้รับเมื่อเข้าร่วม ISPP กันสิ่งที่ได้รับหลังจากมีการปรับปรุงซอฟต์แวร์ใหม่ หรือออกซอฟต์แวร์ใหม่ที่มีรองรับฟีเจอร์ใหม่ๆ ของฮาร์ดแวร์ได้แล้ว
เนื่องจากซอฟต์แวร์จำนวนมากติดเงื่อนไขทางการค้าทำให้สามารถส่งมอบซอฟต์แวร์ไปให้อินเทลทดสอบได้ เช่นซอฟต์แวร์บางตัวยังไม่วางตลาด, หรือซอฟต์แวร์มีกระบวนการติดตั้งซับซ้อน กระบวนการตรวจสอบจึงเป็นการใช้ชุดเครื่องมือตรวจสอบของทางอินเทลที่เรียกว่า Software Assessment Tools มารันในเครื่องที่ติดตั้งซอฟต์แวร์ไว้แล้ว
เครืองมือในกลุ่มนี้มีทั้งหมด 5 ตัวด้วยกัน แบ่งออกไปตามฟีเจอร์ต่างๆ ของฮาร์ดแวร์ ได้แก่
- Intel Concurrency Checker: สำหรับตรวจสอบความสามารถในการกระจายงานไปยังหลายซีพียู
- Intel Graphic Checker: ตรวจสอบประสิทธิภาพด้านกราฟิกเมื่อใช้ชิปของอินเทลว่ายังมีประสิทธิภาพดีอยู่หรือไม่
- Intel Media Checker: ซอฟต์แวร์ตัวนี้ไม่ได้ตรวจสอบการเข้าใช้งานฟีเจอร์ของซีพียูโดยตรง แต่ตรวจสอบว่าใช้ Intel Media SDK สำหรับการเข้าและถอดรหัสวีดีโอหรือไม่ โดย Intel Media SDK จะถูกออปติไมซ์ไว้ทำสำหรับชิปใหม่ๆ อยู่แล้ว
- Intel Manageability Checker: ตรวจสอบการว่ามีการเข้าใช้งานฟีเจอร์ด้านการจัดการของแพลตฟอร์มของอินเทล ได้แก่ Intel AMT, และ Intel vPro
- Intel Power Checker: ตรวจสอบการใช้พลังงานของแอพพลิเคชั่น โดยเฉพาะเมื่อซอฟต์แวร์อยู่ระหว่างการรองานใหม่เข้ามา และตรวจสอบว่าซอฟต์แวร์รับรู้ว่าเครื่องอยู่ในสถานะการใช้พลังงานแบบไหน (เช่นโน้ตบุ๊กกำลังทำงานอยู่บนแบตเตอรี่) และสามารถปรับการทำงานของซอฟต์แวร์ตามพลังงานได้หรือไม่
เครื่องมือทั้ง 5 นี้เป็นเครื่องมือเพื่อทดสอบและสร้างรายงานการตรวจสอบให้ขึ้นเป็นไฟล์รายงาน โดยพันธมิตรซอฟต์แวร์จะต้องส่งรายงานทดสอบนี้กลับไปยังอินเทลเพื่อขอรับรองว่าซอฟต์แวร์ได้ใช้ประสิทธิภาพของฮาร์ดแวร์ได้ดีจริง แต่ผลประโยชน์บางอย่างเช่นการสนับสนุนการตลาด, บทวิจัยแนวโน้มทางด้านไอทีงอินเทลจะเปิดให้ใช้งานทันทีหลังส่งผลทดสอบ
สำหรับเครื่องมือที่สำคัญที่สุดคงเป็น Intel Concurrency Checker ที่เราจะแนะนำในส่วนต่อไป
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 ตัว




ไม่มีใคร
artiya4u Wed, 26/01/2011 - 08:29
ไม่มีใคร เขาเขียนโปรแกรมตามซีพียูได้บ่อยๆ หรอก รับประกันได้ไหมล่ะว่าถ้าสร้างซอฟต์แวร์สำหรับซีพียูรุ่นหนึ่งแล้ว จะสามารถใช้งานกับรุ่นอื่นได้อย่างมีประสิทธิภาพ ที่สำคัญจะเป็นการผูกขาดมากเกินไป(ความเห็นส่วนตัวนะ)
เห็นด้วยครับ Application
mibtrex Wed, 26/01/2011 - 08:45
In reply to ไม่มีใคร by artiya4u
เห็นด้วยครับ
Application ควรจะรันอยู่บน platform ซึ่ง platform ควรจะพัฒนาให้ใช้ความสามารถของ Hardware ได้เต็มที่ ไม่อย่างนั้นคนเขียน Application จะถูกจำกัดการใช้ Software ด้วย platform เดียว
น่าจะประกวดการสร้าง SDK มากกว่านะครับ โดยที่ใช้ Application ตัวเดียวกัน แล้วมาวัดกันว่า SDK ของใครดึงประสิทธิภาพของ Hardware ออกมาได้อย่างเต็มที่
+1 ครับผม เราน่าจะพัฒนา
dmitry Wed, 26/01/2011 - 09:01
In reply to เห็นด้วยครับ Application by mibtrex
+1 ครับผม
เราน่าจะพัฒนา platform ให้เหมาะสมกับ CPU มากกว่าจะไปพัฒนา Application
แทนที่ละไปทำAppทีละตัว เราสามารถทำอะไรที่ได้ผลกับทุกๆ App ที่เขียนด้วย Platform นั้นๆน่าจะดีกว่าเยอะเลย
แต่ผมก็สงสัยอยู่เหมือนกันนะครับว่า ถ้าพัฒนา Platform ให้รองรับ CPU ใหม่ๆแล้ว
App ที่เขียนๆไว้จะต้องแก้ไข Code ตามไปด้วยหรือเปล่า ผมเกรงว่ามันจะเป็น โดมิโน่ กันไปเรื่อยๆ
Platform
mibtrex Wed, 26/01/2011 - 09:21
In reply to +1 ครับผม เราน่าจะพัฒนา by dmitry
Platform พี่พัฒนาต่อจากของเดิม ถ้ามีการแก้ไข Application ไม่จำเป็นต้องเปลี่ยนครับ
เพราะ Application คุยกับ platform ผ่าน API ซึ่ง API ของ version ใหม่ๆก็มีรูปแบบการใช้งานเหมือนเดิม ยกเว้นจะเพิ่ม API เข้ามา (ลองนึกถึง JAVA ครับ เปลี่ยนหลาย version แต่ Software เอามาใช้กับ version ใหม่ๆได้อยู่)
ถ้าเป็นตัว concurrency และ
lew Wed, 26/01/2011 - 10:07
In reply to ไม่มีใคร by artiya4u
ไม่ทราบว่าตรงนี้เป็นบั๊กของเว
iPomz Wed, 26/01/2011 - 09:31
ไม่ทราบว่าตรงนี้เป็นบั๊กของเวปหรือเปล่าครับ
http://www.blognone.com/user/advertorial
บั๊กครับ กำลังหาทางแก้อยู่
lew Wed, 26/01/2011 - 10:09
In reply to ไม่ทราบว่าตรงนี้เป็นบั๊กของเว by iPomz
บั๊กครับ กำลังหาทางแก้อยู่
ผมก็เป็นอะครับ หน้า home
TeamKiller Wed, 26/01/2011 - 10:10
In reply to ไม่ทราบว่าตรงนี้เป็นบั๊กของเว by iPomz
ผมก็เป็นอะครับ หน้า home ก็ขึ้น แต่นิดเดียว หน้า reply ก็ขึ้น
advertising theme
giogio Wed, 26/01/2011 - 10:10
advertising theme สวยงามดีครับ
ผมเข้ามาเจอแต่คอมเมนต์
iStyle Wed, 26/01/2011 - 10:38
ผมเข้ามาเจอแต่คอมเมนต์ งงเลย-*-
ปรับโฆษณาเป็นสีใหม่ goood
vaLVE Wed, 26/01/2011 - 10:46
ปรับโฆษณาเป็นสีใหม่ goood ครับ
เตะตามาก ๆ ต่อไปนี้ดูแล้วเข้าใจเลยว่าเป็นโฆษณา
ชอบๆ สีสวยดี เกี่ยวกับข่าวไหม
9rockky Wed, 26/01/2011 - 19:34
ชอบๆ สีสวยดี
เกี่ยวกับข่าวไหม
"เนื่องจากซอฟต์แวร์จำนวนมากติ
chalet16 Wed, 26/01/2011 - 22:01
"เนื่องจากซอฟต์แวร์จำนวนมากติดเงื่อนไขทางการค้าทำให้สามารถส่งมอบซอฟต์แวร์ไปให้อินเทลทดสอบได้ เช่นซอฟต์แวร์ บางตัวยังไม่วางตลาด"
ต้องมีคำว่า ไม่ ด้วยหรือเปล่าครับฟังดูงงๆ