ค่ายรถยนต์ออดี้ ใช้ซูเปอร์คอมพิวเตอร์จำลองการชนของรถ (crash simulation) เพื่อการออกแบบรถยนต์ที่มีความปลอดภัยสูง และด้วยจำนวนโปรเซสเซอร์อินเทลถึง 608 หน่วยจากเซิร์ฟเวอร์เอชพี 320 เครื่อง ทำให้ซูเปอร์คอมพิวเตอร์เครื่องนี้มีพลังในการคำนวณถึง 29 เทราฟลอป และถูกจัดให้เป็นคอมพิวเตอร์ที่เร็วที่สุดในกลุ่มอุตสาหกรรมรถยนต์ อีกทั้งยังได้ตำแหน่งคอมพิวเตอร์สมรรถนะสูงอันดับที่ 81 ของโลกอีกด้วย
ออดี้เปิดเผยว่า ก่อนจะผลิตรถยนต์ต้นแบบหนึ่งรุ่นออกมานั้น นักพัฒนาต้องทำการทดสอบรถยนต์ด้วยโปรแกรมจำลองสถานการณ์การชนที่มีประมาณ 1,000 งานต่อสัปดาห์ เพื่อวินิจฉัยและหาจุดบกพร่องของรถยนต์ โดยระยะเวลาในการคำนวณของแต่ละงานช้าหรือเร็วขึ้นอยู่กับความซับซ้อนของอุบัติเหตุที่จำลองขึ้นมา ซึ่งระยะเวลาคำนวณมีตั้งแต่ 30 นาที จนถึงหนึ่งสัปดาห์เลยก็มี ทั้งนี้ ก่อนที่รถต้นแบบหนึ่งคันจะถูกสร้างขึ้นมาเพื่อทดสอบจริง ซูเปอร์คอมพิวเตอร์ต้องคำนวณงานมากกว่าหนึ่งแสนงานเลยทีเดียว
ที่มา - The Auto Channel
Comments
ค่ายนี้มีความรับผิิดชอบต่อผลิตภัณฑ์ตัวเองดีจัง
ดีครับยี่ห้อนี่ดีจริงๆ
หน้าเป็นห่วงจริงๆ ยี่ห้อนี้
เป็นห่วงยกกำลัง 4 เลยด้วย
555 \(@^_^@)/ M R T O M Y U M
อยากรู้จริงๆครับ ว่าเค้าเขียนสมการยังไงบ้าง
server ตั้งกี่ตัว โปรแกรมเมอร์ คงเขียนกันหัวปั่นเลย
ปกติเขียนโปรแกรมแบบขนาน เราออกแบบให้เป็น process สำหรับ SDK บางตัว เราแค่ระบุจำนวน process ที่จะรันระหว่างเครื่อง เราไม่ต้องคำนึงเลยว่ามี processor หรือ server กี่ตัวเลยครับ เดี๋ยวระบบเบื้องหลังกระจายงานไปให้เอง
โดยสรุป โปรแกรมเมอร์ไม่ต้องหัวปั่นกับการเขียนโปรแกรมบน server หลายตัวหรอกครับ มันจะมีกี่ตัวก็ตาม ความยากง่ายในการเขียนโปรแกรมก็ไม่ได้ต่างกันเลย แต่อาจจะหั่วปั่นตอนออกแบบและเขียนโปรแกรมแบบขนาน อย่างไรก็ดี ถ้าหากมีประสบการณ์มาแล้ว ก็ถือว่าเป็นเรื่องธรรมดาครับ
สำหรับเรื่อง simulation โปรแกรมเมอร์เขียนโปรแกรมครั้งเดียวให้เสร็จเลย อาจจะมีปรับแต่งเพิ่มเติมเพื่อให้คลุมกรณีใหม่ๆ,โมเดลใหม่ๆ,หรือสมการใหม่ๆ ส่วน parameter มันจะมีเครื่องมือ (เช่น พวก CAD) สำหรับออกแบบสถานการณ์ จากนั้นก็สร้างเป็น input file ครับ อันนี้ไม่จำเป็นต้องใช้โปรแกรมเมอร์ก็ได้ ควรให้พวกนักวิจัยด้านอุบัติภัยวิทยาในการจำลองครับ
แม้โปรแกรมไม่ใช่ขนาน แต่เป็นแบบ parameter-based หรือ data-intensive คือ โปรแกรมเดียว แต่ parameter มีเยอะแยะ เราจะใช้พวก batch scheduler (เช่น SGE, Condor)สำหรับกระจาย process ของโปรแกรมพร้อมส่ง parameter ไปให้ process เหล่านั้น ซึ่งขั้นตอนนี้ วิธีการเขียนโปรแกรมก็เหมือนกับเขียนบน server ตัวเดียว แต่เวลารัน ตัว batch scheduler จะจัดการเรื่องนี้ให้เองครับ
แม้กระทั่งในฝั่งผู้ดูแลระบบหรือ admin เวลาเราติดตั้งหรือควบคุม server หลายๆตัว เขาก็มี software สำหรับงานนี้โดยเฉพาะ อย่างที่ใช้กันกว้างขวางก็เช่น Rocks Cluster เป็นต้น เราสามารถติดตั้ง server ร้อยกว่าเครื่องให้พร้อมใช้งานได้ภายใน 1 วันเลยครับ (จริงๆอยากบอกว่าน้อยกว่า 3 ชั่วโมงด้วยซ้ำ) แต่ถ้ามีปัญหาทางด้าน hardware ที่แก้ไขลำบาก อันนี้ก็ต้องเรียก support น่ะครับ ซึ่งมันก็ไม่ต่างจากการดูแล server ทั่วๆไป
ปล. ถึงคุณ audy เรื่อง "สมการเขียนอย่างไร" อันนี้ผมไม่ชำนาญครับ แต่ผมเคยเห็นนักศึกษาที่เขาเขียนโปรแกรมพวก crash หรือ collsion แบบขนานครับ เขามีสมการการชนของวัตถุอยู่ครับ สำหรับเรื่องทดลองรถชน สมการมีอยู่หลายตัวด้วยกัน และก็ซับซ้อนมากๆ มันอยู่ที่ input file และ prob distribution ด้วยครับ เขาจะใช้ parameter หลายๆแบบ เพื่อดูหลายๆกรณีว่ากรณีไหนที่มันทำให้เกิดอันตรายได้
JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com
My Blog
+1
——————————————————————
คิดๆ ขีดๆ เขียนๆ | นั่งเล่นในสวน ชวนคุยเรื่องเกม
LinkedIn
ถ้าผมอยากเขียนโปรแกรมจำลองอะไรซักอย่าง ผมควรเริ่มศึกษาวิชาสถิติก่อน อันนี้ผมคิดถูกมั๊ยครับ
จากประสบการณ์ที่เคยเขียน simulation มา มันก็แล้วแต่ application ที่เราจะจำลองครับ รวมไปถึงความน่าเชื่อถือของโปรแกรมเราด้วยว่า เราจะให้มันน่าเชื่อถือแค่ไหน แต่การมีพื้นด้าน math/stat ที่แข็งแรง ย่อมเป็นเรื่องดีของการทำวิจัยอย่างยิ่งครับ
ปล. ใน blognone มีคนให้แนะนำเรื่องนี้ได้ดีมาก อย่างเช่นพี่ sugree พี่เขาชำนาญด้าน simulation เอาการครับ (จริงๆก็ไม่ใช่แค่เรื่อง simulation)
JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com
My Blog
queuing theory
สุดยอด...
JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com
My Blog
+1 เทอมที่แล้วเพิ่งเรียนไป
จริงๆ เข้าใจว่าจะมีวีดีโอบนเว็บ เดี๋ยวไปสืบเสาะมาให้ครับ
LewCPE
lewcpe.com, @wasonliw
+1 เยี่ยมเลยครับ กำลังหาที่พึ่งพอดี ผมเคยเลี่ยงวิชานี้จาก KU มาแล้ว แต่เทอมหน้าผมต้องเจอ T_T ยิ่งหนียิ่งเจอ
JavaBoom (Boom is not Java, but Java was boom)
http://javaboom.wordpress.com
My Blog
สถิติเป็นพื้นฐานของทุกสิ่งครับ อิอิ
29 เทราฟลอป ... ใช้การ์ดจอ Radeon 4870 จำนวน 29 ตัว ก็ได้ 29 เทราฟลอป เหมือนกันนะเนี่ย เอิ้กๆ :P
เค้าใช้ลักษณะ finite element โดยจำลองจุดต่างๆบนวัตถุ (คล้ายภาพ wireframe) ซึ่งมีคุณสมบัติ ตำแหน่งในสามมิติ, ความเร็ว, อัตราเร่ง แล้วโปรแกรมค่าคุณสมบัติของวัตถุ ความยืดหยุ่น จุดแตก แล้วก็คำนวณตามกฎนิวตัน F=ma นี่แหล่ะครับ
แต่ความสนุกสนานอยู่ที่จำนวนจุดอนุภาคที่ใช้คำนวณ เป็นระดับล้านจุดขึ้นไป