นี่เป็นแนวคิดที่น่าสนใจ โดยใช้การคาดเดาแบบขนานที่สนับสนุนโดยฮาร์ดแวร์เพื่อเร่งการจำลอง โดยต้องใช้ฮาร์ดแวร์แบบกำหนดเอง Paul Cunningham (รองประธานอาวุโส/GM, Verification at Cadence), Raúl Camposano (Silicon Catalyst, ผู้ประกอบการ, อดีต CTO ของ Synopsys และปัจจุบันคือ Silvaco CTO) และผมสานต่อแนวคิดการวิจัยของเรา และเช่นเคย เรายินดีรับฟังความคิดเห็น
นวัตกรรม
เลือกเดือนนี้ Chronos: การเก็งกำไรแบบขนานที่มีประสิทธิภาพสำหรับตัวเร่งความเร็ว. ผู้เขียนได้นำเสนอบทความนี้ในการประชุม 2020 Conference on Architectural Support for Programming Languages and Operating Systems และมาจาก MIT
การใช้ประโยชน์จากการทำงานแบบขนานโดยใช้โปรเซสเซอร์แบบมัลติคอร์เป็นทางเลือกหนึ่งสำหรับแอปพลิเคชันที่การทำงานแบบขนานนั้นชัดเจนในตัวเอง อัลกอริทึมอื่นๆ อาจแบ่งพาร์ติชันได้ไม่ง่ายนัก แต่อาจได้ประโยชน์จากการดำเนินการเชิงคาดเดาที่ใช้ประโยชน์จากความขนานที่แท้จริง โดยปกติแล้ว การดำเนินการเชิงคาดเดาจะขึ้นอยู่กับการเชื่อมโยงกันของแคช ซึ่งเป็นค่าใช้จ่ายที่สูงโดยเฉพาะอย่างยิ่งสำหรับการจำลอง วิธีนี้จะข้ามความจำเป็นในการเชื่อมโยงกัน โลคัลไลซ์การดำเนินการงานทางกายภาพเพื่อคำนวณไทล์ตามออบเจกต์อ่าน-เขียนเป้าหมาย ทำให้มั่นใจได้ว่าสามารถตรวจพบการตรวจจับข้อขัดแย้งในเครื่องได้ โดยไม่จำเป็นต้องมีการจัดการการเชื่อมโยงกันทั่วโลก งานสามารถดำเนินการแบบเก็งกำไรควบคู่กันไป ข้อขัดแย้งใดๆ ที่ตรวจพบสามารถคลายออกจากงานผ่านงานย่อย จากนั้นดำเนินการใหม่โดยไม่จำเป็นต้องหยุดเธรดอื่นๆ
อีกหนึ่งประเด็นที่ควรทราบที่นี่ วิธีนี้รองรับการจำลองแบบหน่วงเวลา ซึ่งแตกต่างจากเทคนิคการเร่งด้วยฮาร์ดแวร์ส่วนใหญ่
มุมมองของพอล
ว้าว ช่างเป็นกระดาษออกเทนสูงที่ยอดเยี่ยมจาก MIT! เมื่อถามเกี่ยวกับการคำนวณแบบขนาน ฉันจะนึกถึงเธรด mutexes และการเชื่อมโยงกันของหน่วยความจำทันที แน่นอนว่านี่คือการออกแบบซีพียูแบบมัลติคอร์ที่ทันสมัย แต่ไม่ใช่วิธีเดียวที่จะรองรับการทำงานแบบขนานในฮาร์ดแวร์
บทความนี้เสนอสถาปัตยกรรมทางเลือกสำหรับการขนานที่เรียกว่า Chronos ซึ่งขึ้นอยู่กับคิวงานที่สั่ง ที่รันไทม์ งานจะถูกดำเนินการตามลำดับการประทับเวลา และแต่ละงานสามารถสร้างงานย่อยใหม่ที่เพิ่มลงในคิวแบบไดนามิก การดำเนินการเริ่มต้นด้วยการวางงานเริ่มต้นบางอย่างลงในคิวและสิ้นสุดเมื่อไม่มีงานอื่นในคิว
งานในคิวจะถูกจัดสรรให้กับองค์ประกอบการประมวลผล (PE) หลายรายการพร้อมกัน ซึ่งหมายความว่า Chronos กำลังดำเนินการงานในอนาคตอย่างคาดเดาก่อนที่งานปัจจุบันจะเสร็จสมบูรณ์ หากงานปัจจุบันทำให้งานในอนาคตที่ดำเนินการอย่างคาดเดาไม่ถูกต้อง การดำเนินการของงานในอนาคตเหล่านั้นจะถูก "เลิกทำ" และจะถูกจัดคิวใหม่ การนำแนวคิดนี้ไปใช้อย่างถูกต้องในฮาร์ดแวร์นั้นไม่ใช่เรื่องง่าย แต่สำหรับผู้ใช้ภายนอกถือว่าเป็นสิ่งที่ดี คุณเพียงแค่เขียนโค้ดอัลกอริทึมของคุณราวกับว่าคิวงานกำลังดำเนินการตามลำดับบน PE เดียว ไม่จำเป็นต้องเขียนโค้ด mutexes หรือกังวลเกี่ยวกับการหยุดชะงัก
ผู้เขียนใช้ Chronos ใน SystemVerilog และคอมไพล์เป็น FPGA เอกสารส่วนใหญ่จัดทำขึ้นเพื่ออธิบายว่าพวกเขานำคิวงานไปใช้อย่างไร และการคลายฮาร์ดแวร์ที่จำเป็นใดๆ เพื่อประสิทธิภาพสูงสุด Chronos ได้รับการวัดประสิทธิภาพด้วยสี่อัลกอริธึมที่เหมาะกับสถาปัตยกรรมตามคิวงาน แต่ละอัลกอริทึมถูกนำไปใช้งานสองวิธี: วิธีแรกใช้ PE เฉพาะอัลกอริทึมเฉพาะ และวิธีที่สองใช้ RISC-V CPU แบบโอเพ่นซอร์ส 32 บิตแบบฝังตัวนอกชั้นวางเป็น PE ประสิทธิภาพของ Chronos จะถูกนำไปเปรียบเทียบกับการใช้ซอฟต์แวร์แบบมัลติเธรดของอัลกอริทึมที่ทำงานบนเซิร์ฟเวอร์ Intel Xeon โดยมีราคาใกล้เคียงกับ FPGA ที่ใช้สำหรับ Chronos ผลลัพธ์น่าประทับใจ – Chronos ปรับขนาดได้ดีกว่าการใช้เซิร์ฟเวอร์ Xeon ถึง 3 เท่าถึง 15 เท่า อย่างไรก็ตาม การเปรียบเทียบตารางที่ 3 กับรูปที่ 14 ทำให้ฉันกังวลเล็กน้อยว่ากำไรส่วนใหญ่มาจาก PE เฉพาะอัลกอริทึมมากกว่าสถาปัตยกรรม Chronos เอง
เนื่องจากนี่เป็นบล็อกการยืนยัน ฉันได้ขยายมาตรฐานการจำลองระดับเกทอย่างเป็นธรรมชาติ อุตสาหกรรม EDA ได้ลงทุนอย่างหนักเพื่อพยายามจำลองลอจิกแบบขนาน และพิสูจน์ให้เห็นได้ยากว่าจะเห็นประโยชน์มหาศาลนอกเหนือจากกรณีการใช้งานเฉพาะบางกรณี สาเหตุหลักมาจากประสิทธิภาพของการจำลองในโลกแห่งความเป็นจริงส่วนใหญ่ถูกควบคุมโดยคำสั่งโหลด/จัดเก็บที่ขาดหายไปในแคช L3 และส่งออกไปยัง DRAM มี testcase เพียงอันเดียวที่เป็นเกณฑ์เปรียบเทียบในเอกสารนี้ และเป็นโปรแกรมพกพาบันทึก adder ขนาดเล็กแบบ 32 บิต หากคุณกำลังอ่านบล็อกนี้และสนใจที่จะทำการเปรียบเทียบอย่างละเอียดมากกว่านี้ โปรดแจ้งให้เราทราบ หาก Chronos สามารถปรับขนาดได้ดีในการจำลองโลกแห่งความเป็นจริง มันจะมีมูลค่าเชิงพาณิชย์มหาศาล!
มุมมองของราอูล
ผลงานหลักของบทความนี้คือ โมเดลการดำเนินการคำสั่งตามพื้นที่ (SLOT) ซึ่งมีประสิทธิภาพสำหรับตัวเร่งฮาร์ดแวร์ที่ใช้ประโยชน์จากความขนานและการเก็งกำไร และสำหรับแอปพลิเคชันที่สร้างงานแบบไดนามิกที่รันไทม์ การสนับสนุนการขนานแบบไดนามิกเป็นสิ่งที่หลีกเลี่ยงไม่ได้สำหรับการจำลองและการซิงโครไนซ์เชิงคาดเดาเป็นตัวเลือกที่น่าสนใจ แต่ค่าใช้จ่ายในการเชื่อมโยงกันนั้นสูงเกินไป
SLOT หลีกเลี่ยงความจำเป็นในการเชื่อมโยงกันโดยจำกัดให้แต่ละงานดำเนินการ (เขียน) บนวัตถุเดียวและสนับสนุนงานที่สั่งเพื่อเปิดใช้งานปรมาณูหลายวัตถุ มีการเรียงลำดับแอปพลิเคชัน SLOT งานที่สร้างขึ้นแบบไดนามิกโดยมีการประทับเวลาและรหัสวัตถุ การประทับเวลาระบุข้อจำกัดในการสั่งซื้อ รหัสวัตถุระบุการขึ้นต่อกันของข้อมูล กล่าวคือ งานจะขึ้นอยู่กับข้อมูลก็ต่อเมื่อพวกเขามีรหัสวัตถุเดียวกัน (หากมีการพึ่งพาการอ่านงานสามารถดำเนินการอย่างคาดเดาได้) การตรวจจับความขัดแย้งกลายเป็นแบบโลคัล (โดยไม่มีโครงสร้างการติดตามที่ซับซ้อน) โดยการแมปรหัสอ็อบเจ็กต์กับคอร์หรือไทล์ และส่งงานแต่ละรายการไปยังตำแหน่งที่แมปรหัสอ็อบเจ็กต์
พื้นที่ โครโนส ระบบถูกนำไปใช้ในเฟรมเวิร์ก AWS FPGA เป็นระบบที่มี 16 ไทล์ แต่ละอันมี 4 องค์ประกอบการประมวลผลเฉพาะแอปพลิเคชัน (PE) ซึ่งทำงานที่ 125MHz ระบบนี้ถูกเปรียบเทียบกับพื้นฐานที่ประกอบด้วย 20-core/40-thread 2.4 GHz Intel Xeon E5-2676v3 ซึ่งได้รับการคัดเลือกโดยเฉพาะเนื่องจากราคาของมันเทียบได้กับ FPGA (ประมาณ 2 ดอลลาร์ต่อชั่วโมง) รันงานเดียวบน PE เดียว Chronos เร็วกว่าพื้นฐาน 2.45 เท่า เมื่อจำนวนของงานที่ทำพร้อมกันเพิ่มขึ้น การใช้งาน Chronos จะปรับความเร็วขึ้นเป็น 44.9 เท่าแบบสัมพันธ์กันบนไทล์ 8 แผ่น ซึ่งสอดคล้องกับความเร็วที่เพิ่มขึ้น 15.3 เท่าของการใช้งาน CPU พวกเขายังเปรียบเทียบการใช้งานตามวัตถุประสงค์ทั่วไป RISC-V มากกว่า PE เฉพาะแอปพลิเคชัน PE เร็วกว่า RISC-V ถึง 5 เท่า
ฉันพบว่าเอกสารนี้น่าประทับใจเพราะครอบคลุมทุกอย่างตั้งแต่แนวคิดไปจนถึงคำจำกัดความของรูปแบบการดำเนินการ SLOT ไปจนถึงการนำฮาร์ดแวร์ไปใช้ และการเปรียบเทียบโดยละเอียดกับ Xeon CPU แบบดั้งเดิมสำหรับ 4 แอปพลิเคชัน ความพยายามนั้นสำคัญมาก Chronos มี SystemVerilog มากกว่า 20,000 บรรทัด ผลลัพธ์คือความเร็วเฉลี่ย 5.4 เท่า (จาก 4 แอปพลิเคชัน) เมื่อเทียบกับซอฟต์แวร์เวอร์ชันคู่ขนาน เนื่องจากความขนานที่มากขึ้นและการใช้การดำเนินการเชิงคาดเดาที่มากขึ้น บทความนี้ควรค่าแก่การอ่านสำหรับการใช้งานที่ไม่ใช่งานจำลอง กระดาษมีสามตัวอย่าง
แชร์โพสต์นี้ผ่าน:
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- ที่มา: https://semiwiki.com/eda/326261-speculation-for-simulation-innovation-in-verification/
- :เป็น
- 000
- 2020
- 8
- a
- เกี่ยวกับเรา
- เร่งความเร็ว
- การเร่งความเร็ว
- เร่ง
- พลอากาศเอก
- การปฏิบัติ
- ที่เพิ่ม
- ขั้นตอนวิธี
- อัลกอริทึม
- ทางเลือก
- เสมอ
- และ
- อุทธรณ์
- การใช้งาน
- เฉพาะแอปพลิเคชัน
- การใช้งาน
- ในเชิงสถาปัตยกรรม
- สถาปัตยกรรม
- เป็น
- AS
- At
- ผู้เขียน
- AWS
- ตาม
- baseline
- BE
- สวยงาม
- เพราะ
- จะกลายเป็น
- ก่อน
- กำลัง
- มาตรฐาน
- เกณฑ์มาตรฐาน
- ประโยชน์
- ดีกว่า
- เกิน
- ใหญ่
- บิต
- บล็อก
- by
- แคช
- จังหวะ
- ที่เรียกว่า
- CAN
- พกพา
- กรณี
- ตัวเร่ง
- ลักษณะ
- เด็ก
- เลือก
- รหัส
- เชิงพาณิชย์
- เทียบเคียง
- เมื่อเทียบกับ
- เปรียบเทียบ
- การเปรียบเทียบ
- เสร็จ
- ซับซ้อน
- การคำนวณ
- คำนวณ
- แนวคิด
- พร้อมกัน
- การประชุม
- ขัดกัน
- ประกอบด้วย
- ข้อ จำกัด
- ต่อ
- ผลงาน
- ตรงกัน
- หลักสูตร
- ครอบคลุม
- ซีพียู
- สร้าง
- ที่สร้างขึ้น
- CTO
- ปัจจุบัน
- ประเพณี
- ข้อมูล
- ทุ่มเท
- การอยู่ที่
- ขึ้นอยู่กับ
- ได้รับการออกแบบ
- รายละเอียด
- ตรวจพบ
- การตรวจพบ
- ยาก
- พลวัต
- แบบไดนามิก
- e
- แต่ละ
- อย่างง่ายดาย
- อย่างมีประสิทธิภาพ
- ที่มีประสิทธิภาพ
- ความพยายาม
- องค์ประกอบ
- ที่ฝัง
- ทำให้สามารถ
- สิ้นสุด
- การสร้างความมั่นใจ
- ผู้ประกอบการ
- โดยเฉพาะอย่างยิ่ง
- ทุกอย่าง
- ตัวอย่าง
- ดำเนินการ
- การดำเนินงาน
- การปฏิบัติ
- อธิบาย
- เอาเปรียบ
- เร็วขึ้น
- ข้อเสนอแนะ
- สองสาม
- รูป
- ชื่อจริง
- สำหรับ
- อดีต
- พบ
- FPGA
- กรอบ
- ราคาเริ่มต้นที่
- อนาคต
- กําไร
- General
- สร้าง
- กิกะเฮิรตซ์ อินเทล
- เหตุการณ์ที่
- ไป
- ฮาร์ดแวร์
- มี
- หนัก
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- จุดสูง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- อย่างไรก็ตาม
- HTTPS
- ใหญ่
- i
- ID
- ความคิด
- ความคิด
- ทันที
- การดำเนินการ
- การดำเนินงาน
- การดำเนินการ
- การดำเนินการ
- ประทับใจ
- in
- รวมถึง
- เพิ่มขึ้น
- อุตสาหกรรม
- หลีกเลี่ยงไม่ได้
- แรกเริ่ม
- นักวิเคราะห์ส่วนบุคคลที่หาโอกาสให้เป็นไปได้มากที่สุด
- คำแนะนำการใช้
- อินเทล
- สนใจ
- น่าสนใจ
- แท้จริง
- การลงทุน
- IT
- ITS
- ตัวเอง
- ทราบ
- ภาษา
- เส้น
- ในประเทศ
- ในท้องถิ่น
- ที่ตั้งอยู่
- หลัก
- ทำให้
- การจัดการ
- การทำแผนที่
- ความกว้างสูงสุด
- สูงสุด
- วิธี
- หน่วยความจำ
- วิธี
- อาจ
- หายไป
- เอ็มไอที
- แบบ
- ทันสมัย
- ข้อมูลเพิ่มเติม
- มากที่สุด
- หลาย
- จำเป็น
- จำเป็นต้อง
- ใหม่
- จำนวน
- วัตถุ
- of
- on
- ONE
- เปิด
- โอเพนซอร์ส
- ทำงาน
- การดำเนินงาน
- ระบบปฏิบัติการ
- ตัวเลือกเสริม (Option)
- ใบสั่ง
- อื่นๆ
- ด้านนอก
- วิชาพลศึกษา
- กระดาษ
- Parallel
- พอล
- การปฏิบัติ
- ทางร่างกาย
- เลือก
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- กรุณา
- จุด
- โพสต์
- นำเสนอ
- ราคา
- การประมวลผล
- โปรเซสเซอร์
- การเขียนโปรแกรม
- การเขียนโปรแกรมภาษา
- เสนอ
- ที่พิสูจน์แล้ว
- วัตถุประสงค์
- วาง
- ค่อนข้าง
- อ่าน
- การอ่าน
- จริง
- โลกแห่งความจริง
- การวิจัย
- จำกัด
- ผล
- ผลสอบ
- วิ่ง
- เดียวกัน
- ลด
- ขนาด
- ตาชั่ง
- ที่สอง
- การส่ง
- ระดับอาวุโส
- ชุด
- หิ้ง
- ซิลิคอน
- คล้ายคลึงกัน
- จำลอง
- เดียว
- So
- ซอฟต์แวร์
- บาง
- แหล่ง
- โดยเฉพาะ
- เฉพาะ
- การเก็งกำไร
- เป็นกอบเป็นกำ
- สนับสนุน
- รองรับ
- การประสาน
- ระบบ
- ระบบ
- ตาราง
- TAG
- เป้า
- งาน
- งาน
- เทคนิค
- ที่
- พื้นที่
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- สาม
- ตลอด
- การประทับเวลา
- ไปยัง
- เกินไป
- การติดตาม
- แบบดั้งเดิม
- บิด
- ใช้
- ผู้ใช้งาน
- มักจะ
- การตรวจสอบ
- ผ่านทาง
- ทาง..
- วิธี
- ยินดีต้อนรับ
- ดี
- อะไร
- ที่
- กับ
- ไม่มี
- ยอดเยี่ยม
- โลก
- คุ้มค่า
- จะ
- เขียน
- ของคุณ
- ลมทะเล