เป็นสมการง่ายๆ ที่ว่าโปรแกรมที่มี thread เดียว (single thread application) เมื่อนำไปรันบนโปรเซสเซอร์แบบ multi-core แล้วจะให้ผลลัพธ์ไม่ต่างไปจากนำโปรแกรมไปรันบนโปรเซสเซอร์ที่มี core เดียว หากอยากใช้สมรรถนะของ multi-core ให้เต็มที่ เราจำต้องออกแบบและพัฒนาโปรแกรมนี้ให้ประมวลผลแบบขนานตามไปด้วย อย่างเช่นการพัฒนาโปรแกรมให้มีมากกว่า 1 thread และให้แต่ละ thread ทำงานแยกจากกันอยู่บน core คนละหน่วย
อย่างไรก็ตาม การพัฒนาโปรแกรมแบบขนานไม่ใช่เรื่องง่าย โดยเฉพาะอย่ายิ่ง หากโปรแกรมถูกแบ่งการทำงานออกเป็นหลายๆ thread อย่างเช่นมีหลายสิบหรือหลายร้อย thread เพื่อรันบนโปรเซสเซอร์ many-core เป็นต้น เมื่อมีจำนวน thread เยอะขึ้นแล้ว การควบคุมและประสานการทำงานระหว่าง thread จนถึงขั้นตอนการดีบั๊กโปรแกรมย่อมมีความยุ่งยากตามมาด้วย และเพื่อลดความยุ่งยากดังกล่าว นักพัฒนาส่วนหนึ่งจึงอาศัยเครื่องมือหรือเฟรมเวิร์คสำหรับพัฒนาโปรแกรม อย่างเช่น OpenMP และ Intel Threading Building Blocks รวมไปถึง Intel Parallel Studio ที่เพิ่งเสนอข่าวไป
อาจจะมีคนตั้งคำถามว่า "Multi-core มีบทบาทสำคัญในงานประเภทไหนบ้าง ?" แหล่งข่าว buildera ได้ยกตัวอย่างผ่านโปรแกรม 3 ประเภทดังนี้
แหล่งข่าวได้ทิ้งท้ายไว้ว่า หากเครื่องมือพัฒนาโปรแกรมแบบขนานสามารถตัดภาระของการควบคุม thread ออกไปได้ อนาคตตลาดของโปรเซสเซอร์ Multi-core คงเบ่งบานมากกว่านี้
ที่มา - builderau จากแหล่งข่าวมีวิดีโอคลิปบทสัมภาษณ์ Sun และ Microsoft ถึงการพัฒนาเทคโนโลยีจาวาและ .NET บน Multi-core