คำถามติดแท็ก multicore

10
ภาษาแอสเซมบลีของมัลติคอร์มีลักษณะอย่างไร
กาลครั้งหนึ่งเมื่อต้องการเขียนแอสเซมเบลอร์ x86 คุณจะมีคำแนะนำที่ระบุ "โหลดการลงทะเบียน EDX ด้วยค่า 5", "การเพิ่ม EDX" การลงทะเบียนเป็นต้น ด้วยซีพียูสมัยใหม่ที่มี 4 คอร์ (หรือมากกว่านั้น) ที่ระดับรหัสเครื่องมันดูเหมือนกับซีพียูที่แยกกัน 4 ตัว (เช่นมีเรจิสเตอร์ "EDX" ที่แตกต่างกัน 4 ตัว)? หากเป็นเช่นนั้นเมื่อคุณพูดว่า "การเพิ่มการลงทะเบียน EDX" การพิจารณาการลงทะเบียน EDX ของ CPU ใดจะเพิ่มขึ้น มีแนวคิด "บริบทของ CPU" หรือ "เธรด" ในแอสเซมเบลอร์ x86 หรือไม่? การสื่อสาร / การซิงโครไนซ์ระหว่างแกนทำงานอย่างไร หากคุณกำลังเขียนระบบปฏิบัติการกลไกใดที่จะถูกเปิดเผยผ่านฮาร์ดแวร์เพื่อให้คุณสามารถกำหนดเวลาดำเนินการบนแกนที่ต่างกันได้ เป็นคำสั่งพิเศษที่มีสิทธิพิเศษหรือไม่? หากคุณกำลังเขียนการเพิ่มประสิทธิภาพ VM / คอมไพเลอร์ bytecode สำหรับ CPU …
243 assembly  x86  cpu  multicore  smp 

8
รวบรวมด้วย g ++ โดยใช้หลายแกน
คำถามด่วน: ธงคอมไพเลอร์คืออะไรที่อนุญาตให้ g ++ วางไข่หลายอินสแตนซ์ของตัวเองเพื่อรวบรวมโครงการขนาดใหญ่ได้เร็วขึ้น (เช่นไฟล์ต้นฉบับ 4 ไฟล์ในเวลาเดียวกันสำหรับ CPU แบบมัลติคอร์)?

1
สถานะของการเขียนโปรแกรมแบบมัลติคอร์ใน Haskell คืออะไร?
สถานะของการเขียนโปรแกรมแบบมัลติคอร์ใน Haskell คืออะไร? โครงการเครื่องมือและห้องสมุดใดบ้างที่มีให้ในตอนนี้ มีรายงานประสบการณ์อะไรบ้าง?

8
ฉันจะวัดการใช้งานแกน CPU แยกกันสำหรับกระบวนการได้อย่างไร
มีวิธีใดในการวัดการใช้งาน CPU ของกระบวนการเฉพาะตามคอร์หรือไม่? ฉันรู้ว่าด้านบนดีสำหรับการวัดการใช้งาน CPU ของระบบทั้งหมดโดยคอร์และชุดงานสามารถให้ข้อมูลเกี่ยวกับแกน CPU ที่ได้รับอนุญาตให้กระบวนการทำงานได้ แต่ฉันจะวัดการใช้งาน CPU ของกระบวนการเฉพาะตามแกน CPU ได้อย่างไร

4
เรียกใช้แอปพลิเคชันใน GDB จนกว่าจะมีข้อยกเว้นเกิดขึ้น
ฉันกำลังทำงานกับแอพพลิเคชั่นมัลติเธรดและต้องการดีบักโดยใช้ GDB ปัญหาคือหนึ่งในเธรดของฉันยังคงตายด้วยข้อความ: pure virtual method called terminate called without an active exception Abort ฉันรู้สาเหตุของข้อความนั้น แต่ฉันไม่รู้ว่ามันเกิดขึ้นที่ไหนในชุดข้อความ backtrace จะเป็นประโยชน์จริงๆ เมื่อฉันเรียกใช้แอปใน GDB แอปจะหยุดชั่วคราวทุกครั้งที่เธรดถูกระงับหรือกลับมาทำงานต่อ ฉันต้องการให้แอปของฉันทำงานต่อไปตามปกติจนกว่าเธรดใดเธรดหนึ่งจะตายโดยมีข้อยกเว้นนั้นเมื่อถึงจุดนั้นทุกอย่างควรหยุดเพื่อที่ฉันจะได้รับการย้อนกลับ

9
Node.js หรือ Erlang
ฉันชอบเครื่องมือเหล่านี้มากเมื่อพูดถึงระดับการทำงานพร้อมกันที่สามารถจัดการได้ Erlang / OTP ดูเหมือนโซลูชันที่มีเสถียรภาพมากกว่า แต่ต้องการการเรียนรู้ที่มากขึ้นและการดำน้ำลึกเข้าไปในกระบวนทัศน์ภาษาที่ใช้งานได้ และดูเหมือนว่า Erlang / OTP จะทำให้ดีขึ้นมากเมื่อพูดถึงซีพียูแบบมัลติคอร์ (แก้ไขฉันถ้าฉันผิด) แต่ควรเลือกแบบไหน? อันไหนดีกว่ากันในมุมมองระยะสั้นและระยะยาว? เป้าหมายของฉันคือการเรียนรู้เครื่องมือที่ทำให้การปรับขนาดโครงการเว็บของฉันภายใต้ภาระงานสูงทำได้ง่ายกว่าภาษาทั่วไป
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.