เทคโนโลยี Larrabee ของอินเทลปรากฏอยู่ในสงครามน้ำลายระหว่างอินเทลกับ NVIDIA มาหลายต่อหลายครั้งถึงประสิทธิภาพที่เหนือกว่าเทคโนโลยีปัจจุบันแบบขาดลอยจากการใส่ซีพียูคอร์รวมไปในชิปนับสิบคอร์ ที่น่าสนใจคือแต่ละคอร์นั้นใช้เทคโนโลยี P54C หรือซีพียูคอร์ที่ใช้งานในเพนเทียมยุคแรก
คำถามที่น่าสนใจคือทำไมอินเทลจึงเลือกใช้เทคโนโลยีเก่าเช่นนี้แทนที่จะเป็นสถาปัตยกรรม Core ในซีพียูรุ่นใหม่ๆ เช่น Core 2
คำตอบในเรื่องนี้คือประเด็นของพื้นที่และการพัฒนาการออกแบบ โดยหลังจากที่อินเทลหยุดทำตลาดชิปเพนเทียมไปแล้วนั้นทางกลาโหมสหรัฐฯ กำลังต้องการซีพียูสำหรับใช้งานทางการทหารอยู่ และได้เลือกเอาเพนเทียมของอินเทลไปใช้งาน
การออกแบบของ P54C ได้รับการพัฒนาโดยกลาโหมสหรัฐฯ เรื่อยมาอยู่หลายปีและเมื่อทางกลาโหมสหรัฐฯ จะเลิกใช้เทคโนโลยีนี้ ก็ได้โค้ดออกแบบกลับไปยังอินเทล พอเหมาะกับที่อินเทลกำลังหาคอร์ขนาดเล็กที่ปราศจากบั๊กเพื่อไปใช้งานใน Larrabee พอดี
ซีพียูคอร์ใน Larrabee นั้นไม่มีความสามารถการประมวลผลแบบ out-of-order ซึ่งมีในซีพียูรุ่นใหม่ๆ แทบทุกตัว การใช้เทคโนโลยีที่เรียบง่ายทำให้ซอฟต์แวร์แบบเธรดเดี่ยวทำงานได้ประสิทธิภาพเพียงครึ่งเดียวของซีพียูในตลาด แต่เมื่อใช้งานคอร์จำนวนมากในชิปได้อย่างเต็มประสิทธิภาพแล้วประสิทธิภาพรวมจะสูงขึ้นเป็นอย่างมาก โดยเฉพาะประสิทธิภาพในเชิงพลังงานนั้นอินเทลระบุว่า Larrabee นั้นให้ประสิทธิภาพต่อพลังงานดีกว่าชิปปัจจุบันถึง 20 เท่าตัวเลยทีเดียว
ที่มา - ArsTechnica
Comments
ข่าวหน้า: อินเทลเรียก Larrabee คืนเพราะเจอบั๊ก floating point
มุกดักอายุน่ะเนี่ย ไม่แก่จิงไม่ get
Lastest Science News @Jusci.net
Lastest Science News @Jusci.net
กรรม บังเอิญเข้าใจ...
Kohsija
LOL ^^
Larrabee คงไปได้ดีกับ HPC แต่คงสอบตกกับเกมส์ล่ะมั้งเนี่ย
ทำไมถึงทำงานได้ดีกว่าเมื่อมีคอร์เยอะๆอะครับ
onedd.net
สงสัยมันทำงาน แค่อย่างเดียวไม่มี EFFECT ลูกเล่นอะไรเป็นพิเศษ
ดังนั้นเวลาคำณวน เลยไม่ต้องเสีย ความเร็วในการประมวลผล อย่างอื่นเช่น
Windows Update antivirus มั้งครับ
http://tomazzu.exteen.com
ผมจะลองเปรียบเทียบให้เห็นนะครับ (ตามความเข้าใจของผมนะ)
สมมติผมมีเครื่อง hi-end เครื่องนึง (เปรียบได้กับ cpu สมัยใหม่ ที่ทำงานได้รวดเร็ว) สามารถรันโปรแกรมนึงเสร็จโดยใช้เวลา 10 วินาที
แต่ผมมีเครื่องเก่าตกยุค อยู่ 20 เครื่อง (เปรียบได้กับ cpu รุ่นเก่าๆ ในบทความ) รันโปรแกรมเดียวกัน ใช้เวลา 1 นาที
ทีนี้ ถ้าผมต้องการรันโปรแกรมแค่ครั้งเดียว เครื่อง hi-end ยังไงก็ชนะแน่ๆ ใช่มั้ยครับ แต่ถ้าหากผมต้องการรันโปรแกรมนี้ซัก 20 ครั้งล่ะ?
เครื่อง hi-end รัน 20 ครั้งใช้เวลา 200 วินาที (หรือ 3.20 นาที)
ในขณะที่ผมเอาไปรันบนเครื่องเก่า 20 เครื่อง ก็ใช้เวลาแค่เพียง 1 นาทีเท่าเดิมไง
หมายความว่า cpu แบบนี้จะทำงานได้ดี เมื่อเอาไปรันงานหลายๆ งานพร้อมกันนั่นเอง
เขาเปรียบเทียบที่จำนวน core เท่ากัน หรือว่าไม่เท่ากัน? ทำไม core เยอะแล้วใช้พลังงานคุ้มค่ากว่า?
ประเด็นหลักของการประหยัดพลังงานน่าจะมาจากการไม่มี out-of-order processing มากกว่าครับ ลักษณะของ out-of-order คือระหว่าง cpu กำลังทำงานหนึ่งอยู่ มันจะพยาม "เดา" ว่าคำสั่งต่อไปคืออะไร และนำคำสั่งนั้นมารออยู่ใน cache ซึ่ง กระบวนการนี้มันต้องใช้พลังงานเพิ่มเติมครับ ซึ่งเค้าว่าส่วนใหญ่แล้ว "เดาผิด"
cpu atom ก็ไม่มี out-of-order เหมือนกันครับ เลยประหยัดพลังงาน หรือเรียกว่า ใช้พลังงานน้อยกว่านะ
out-of-order execution ไม่ใช่ branch prediction นะครับ
out-of-ofder คือการอนุญาตให้คำสั่งที่ใช้เวลาทำงานน้อยๆ เช่นพวก +/- อะไรพวกนั้นทำงานเสร็จไปก่อนได้ทั้งๆ ที่อยู่หลังคำสั่งที่ช้าๆ เช่นพวกทศนิยม
มันใช้พวก reorder buffer มาเรียงผลลัพธ์ให้กลับไปตามลำดับอีกทีก่อนที่จะเก็บผลเข้าหน่วยความจำหลัก
LewCPE
lewcpe.com, @wasonliw
แบบ Arm นี้ไม่มี Branch prediction ใช่เปล่า? ... พอเอา out-of-order execution ออกแล้วประหยัดพลังงานเปล่า?
พยายามใช้ Instruction level parallel (ILP) ให้น้อยลงแต่ มาใช้ Thread level parallel แทน? เลยทำให้ลง hardware ที่ทำ ILP ไป? พอทำแบบนี้แล้วสำหรับ CPU หลาย core จะคุ้มค่าพลังงานกว่า?
เท่าที่ลองหาดูมี ARM8 ตัวเดียวที่มี Branch Prediction ตัวอื่นใช้ Conditional Execution มาแทนที่
เรื่อง ILP vs. TLP นี่ผมว่ารู้กันมานานแล้วล่ะครับว่ายังไง ILP ก็ไม่ทรงประสิทธิภาพเท่า TLP ปัญหาคือโปรแกรมเมอร์ต้องเรียนใหม่ และซอฟต์แวร์เก่าๆ จะไม่ได้ประโยชน์ ตอนนี้พวก Core Architecture เลยครึ่งๆ กลางๆ มีหลายคอร์ และแต่ละคอร์ทำงานเร็ว
LewCPE
lewcpe.com, @wasonliw
ยกตัวอย่างให้เห็นนะครับ
ปัจจุบันการใช้งาน PC ของคนทั่วไป เป็นแบบ multiple task ครับ คือทำงานหลายๆอย่างพร้อมๆกัน เช่น เปิด Word, ฟัง MP3, ดาว์นโหลดโปรแกรม, ตั้ง bit, มี anti-virus รันอย่างข้างหลัง
ที่นี้ซีพียูที่มีคอร์เดียว ก็เหมือนเมเนเจอร์แผนกที่มีไม่มีลูกน้อง :( ข้าฯมาคนเดียว ทำเองทุกอย่าง หลายๆคอร์ ก็เสมือนมีลูกมือหลายๆคนช่วยๆกันทำงาน ก็สามารถกระจายงานให้ลูกน้องทำงานได้ :) โดยที่ตัวเองก็ทำงานด้วย เรียกว่าช่วยๆกันทำงานไงครับ แล้วก็ทำให้กลับบ้านได้เร็วขึ้นด้วย แฮ่
ผมว่ามันขึ้นอยู่กับงานและโปรแกรมมากกว่าครับ พวกเวบเซิพเวอร์อย่าง Apache นี่หลายคอร์ดีกว่าเห็น ๆ เพราะการมีหลายคอร์สามารถรับโหลดได้เหมือนมีหลาย CPU หรือคอม ฯ หลายเครื่อง แต่ลดโอเวอร์เฮทการส่งงานข้าม CPU หรือ ข้ามเครื่องลงไป
งานอีกอย่างที่หลายคอร์ดีกว่าคือ งานที่มีเวคเตอร์หรืออะเรย์ขนาดใหญ่มาเกี่ยวข้อง เช่น Image Processing, 3D, Simulation เพราะเราสามารถตัดแบ่งอะเรย์ออกเป็นหลายส่วน แล้วแบ่งกันคำนวนได้ แต่การแบ่งงานในปัจจุบันขึ้นอยู่กับซอพท์แวร์ ซึ่งซอพท์แวร์ทำอย่างนั้นได้ยังมีน้อยอยู่
งานที่ผมทำทุกวันนี้ก็เน้นหลายคอร์เป็นหลักครับ เพราะเป็นงาน Simulation ซึ่งต้องใช้ Cluster การมีหลายคอร์ทำให้ชีวิตง่ายขึ้นเยอะครับ เพราะต้องดูแลคอมพิวเตอร์จำนวนน้อยลงมาก
BioLawCom.De
อาการคล้ายๆ เอา atom มาต่อๆ รวมกันปะ
กลายเป็นโมเลกุล
--
--
แล้วเราก็จะมี Intel Molecule, Intel Amino, Intel Protien, Intel DNA, Intel Cellulose, Intel Fiber, Intel Muscle ไปเรื่อยจนถึง Intel Organ -*-
ตัวหลังๆ นี่อาจจะเริ่มนับคอร์ไปแล้ว บอกเป็นความหนาแน่นต่อพื้นที่เอา :P
LewCPE
lewcpe.com, @wasonliw
ใกล้เป็น sensor กล้อง
ถ้าชื่อนี้จริง มีฮา
สงสัยคงจะจบด้วย INTEL Body อ่ะมั้ง
ไม่แน่ อาจจะมี Intel Family, Intel Social, Intel Village, Intel City, .....
LewCPE
lewcpe.com, @wasonliw
ตามมาด้วย Democracy และปิดท้ายด้วยสองทางเลือก ถ้าไม่ 1. Revolution ก็ 2. Coup d'etat
วุ้ย...ยิ่งมาไกล ทำไมเหมือนยิ่งถอยหลัง เริ่มรู้สึกได้ว่าสุดท้ายเทคโนโลยีที่พัฒนาไปเรื่อยๆ มันจะกลับมาทำลายล้างเผ่าพันธุ์มนุษย์กันเอง อย่างที่ วอเรน บัฟเฟต์ กลัว...
หุหุ จะทำกี่ core กันละเนี่ยถึงจะพอ อ่ะ
คงไม่ถึงล้านคอร์มั้ง ถ้าขนาดนั้น เป็น bio-chemical computer ไปเลยดีกว่า เปลี่ยนแนวคิดไปเลย