ส่งข้อความ

503 Service Temporarily Unavailable 503 Service Temporarily Unavailable nginx

March 11, 2021

หน่วยความจำเฉพาะโดเมน

การประมวลผลเฉพาะโดเมนอาจเป็นความโกรธ แต่เป็นการหลีกเลี่ยงปัญหาที่แท้จริง

ความกังวลที่ใหญ่กว่าคือความทรงจำที่เร่งประสิทธิภาพของโปรเซสเซอร์กินไฟมากขึ้นและกินพื้นที่ชิปมากที่สุดความทรงจำจำเป็นต้องหลุดพ้นจากโครงสร้างแข็งที่ซอฟต์แวร์ที่มีอยู่ต้องการเมื่ออัลกอริทึมและหน่วยความจำได้รับการออกแบบร่วมกันการปรับปรุงประสิทธิภาพจึงมีความสำคัญและการประมวลผลสามารถปรับให้เหมาะสมได้

การประมวลผลเฉพาะโดเมนได้รับความนิยมจากการบรรยายของทัวริงปี 2018 เรื่อง“ ยุคทองใหม่สำหรับสถาปัตยกรรมคอมพิวเตอร์” โดย John Hennessy และ David Pattersonแต่โปรเซสเซอร์ถูก จำกัด โดยหน่วยความจำมานานหลายทศวรรษการเปลี่ยนการประมวลผลโดยไม่ต้องคิดใหม่เกี่ยวกับหน่วยความจำและลำดับชั้นของหน่วยความจำจะละเลยกฎของ Amdahl ซึ่งให้ความสัมพันธ์ทางคณิตศาสตร์ระหว่างการเร่งความเร็วที่เป็นไปได้สำหรับระบบเมื่อบางส่วนของระบบได้รับการปรับปรุงโดยพื้นฐานแล้วจะบอกว่าคุณได้รับผลตอบแทนลดลงหากคุณมุ่งความสนใจไปที่ส่วนเดียวของระบบแทนที่จะมองไปที่ระบบโดยรวม

แล้วทำไมไม่ให้ความสำคัญกับคอขวด?“ หน่วยความจำเฉพาะโดเมนเป็นเพียงคำศัพท์ใหม่ แต่สถาปนิกได้ทำการเพิ่มประสิทธิภาพประเภทนี้มาเป็นเวลานานแล้ว” ปราสาดซากกูร์ติผู้อำนวยการฝ่ายการตลาดผลิตภัณฑ์ของ Synopsys กล่าว“ และถ้ายังทำไม่ได้พวกเขาจะพลาดเคล็ดลับเพราะคนส่วนใหญ่เคยทำมาแล้ว”

คนอื่น ๆ เห็นด้วย“ จดจำความทรงจำของวิดีโอ - DRAM พร้อมทะเบียนกะในตัวหรือไม่”ถาม Michael Frank เพื่อนและสถาปนิกระบบที่ Arteris IP“ บางทีอาจเป็น GDDR [1-5] ความทรงจำแคชแท็กพิเศษหรือความทรงจำที่เชื่อมโยงกันในสมัยของ TTL?สิ่งเหล่านี้จำนวนมากไม่สามารถอยู่รอดได้จริงเนื่องจากฟังก์ชันการทำงานเฉพาะเจาะจงเกินไปพวกเขากำหนดเป้าหมายอุปกรณ์ที่ไม่ซ้ำใครคุณต้องมีโดเมนที่ใหญ่พอและคุณกำลังต่อสู้กับ DRAM ที่มีต้นทุนต่ำในปัจจุบันซึ่งมีประโยชน์จากการผลิตในปริมาณมากและปริมาณมาก”

บางครั้งมันลึกไปกว่านั้น“ คุณอาจต่อสายบางอย่างลงใน ROM ได้” Saggurti ของ Synopsys กล่าว“ สิ่งที่เราเห็นคือผู้คนจำนวนมากขึ้นในการปรับแต่งหน่วยความจำในปัจจุบันตัวอย่างเช่นเมื่อมีการแปลงฟูเรียร์หรือการแปลง Z ผู้คนจะเขียนโค้ดในลักษณะที่คุณสามารถจัดเก็บค่าสัมประสิทธิ์ตามลำดับที่กำหนดเมื่อคุณทำการคูณเมทริกซ์คุณสามารถจัดเก็บค่าสัมประสิทธิ์ตามลำดับที่กำหนดเพื่อให้การอ่านออกมาเร็วขึ้นคุณไม่สามารถจัดเก็บข้อมูลไว้ในหน่วยความจำเดียวแทนได้โดยใส่ไว้ในความทรงจำที่แตกต่างกันสามหรือสี่แบบเพื่อให้คุณสามารถอ่านสิ่งต่างๆผ่านเส้นทางข้อมูลหลายสิ่งเหล่านี้เพิ่งเกิดขึ้นเมื่อไม่นานมานี้”

การเปลี่ยนแปลงเป็นเรื่องยาก“ ความท้าทายคือในอดีตผู้คนมีรูปแบบที่สวยงามและเป็นนามธรรมในการคิดเกี่ยวกับระบบคอมพิวเตอร์” สตีเวนวูเพื่อนร่วมงานและนักประดิษฐ์ที่มีชื่อเสียงของ Rambus กล่าว“ พวกเขาไม่เคยคิดถึงเรื่องความทรงจำเลยมันมาพร้อมกันฟรีและรูปแบบการเขียนโปรแกรมทำให้มันเป็นเช่นนั้นเมื่อคุณอ้างอิงถึงหน่วยความจำมันเพิ่งเกิดขึ้นคุณไม่จำเป็นต้องชัดเจนเกี่ยวกับสิ่งที่คุณกำลังทำอยู่”

กำลังมีความคืบหน้าในการทำงานของหน่วยความจำทั่วไป“ ตัวควบคุมหน่วยความจำในปัจจุบันและมาตรฐานอินเทอร์เฟซขั้นสูงได้ปรับปรุงสิ่งที่คุณสามารถดึงออกมาจากเทคโนโลยีซิลิกอนขั้นสูงได้อย่างมาก” แฟรงค์ Arteris กล่าว“ สิ่งนี้ได้เปิดใช้งานคิวลึกและตัวกำหนดตารางเวลาขั้นสูงเทคโนโลยีหน่วยความจำขั้นสูงเช่นหน่วยความจำแบนด์วิธสูง (HBM) และแบนด์วิดท์สนับสนุนแบบเรียงซ้อนที่เราคิดว่าเป็นไปไม่ได้ที่จะบรรลุเมื่อทศวรรษที่แล้วแต่มันก็ไม่ได้ราคาถูกเทคโนโลยี Sub-10 นาโนเมตรยังเปิดใช้งานแคชขนาดใหญ่ดังนั้นเราอาจเรียกหน่วยความจำเฉพาะโดเมนของชายผู้น่าสงสารคนนี้ก็ได้”

แต่ทั้งหมดนี้เป็นตัวอย่างของการเปลี่ยนแปลงทีละน้อย“ ระบบย่อยหน่วยความจำด้านสถาปัตยกรรมซึ่งคำนวณตามข้อมูลเป็นหลักแทนที่จะใช้วิธีอื่น ๆ ต้องมีการทบทวนหลักการหลายอย่างที่สถาปนิกคุ้นเคย” Matt Horsnell วิศวกรวิจัยหลักอาวุโสของกลุ่มวิจัยและพัฒนาของ Arm กล่าว“ มีโอกาสที่จะปรับปรุงสิ่งที่เป็นนามธรรมของการเขียนโปรแกรมจากรายการการดำเนินการกับข้อมูลโดยทั่วไปในปัจจุบันไปจนถึงรูปแบบขยายที่ห่อหุ้มการทำงานพร้อมกันและแนวคิดบางประการเกี่ยวกับระยะทางสัมพัทธ์ระหว่างหน่วยคำนวณและรายการข้อมูลนามธรรมดังกล่าวสามารถเปิดใช้งานการเปลี่ยนแปลงที่จำเป็นเพื่อกำหนดเป้าหมายความทรงจำเฉพาะโดเมนได้อย่างเหมาะสมยิ่งขึ้นเมื่ออัลกอริทึมมีการพัฒนาอย่างรวดเร็ว”

ศูนย์ข้อมูลในที่นั่งคนขับ
ศูนย์ข้อมูลเป็นตัวขับเคลื่อนเทรนด์เทคโนโลยีมากมายในปัจจุบัน“ หนึ่งในแอปพลิเคชันที่เติบโตเร็วที่สุดสำหรับการประมวลผลคือในศูนย์ข้อมูลซึ่งแอปพลิเคชันซอฟต์แวร์ต้องการความจุหน่วยความจำมากกว่าแบนด์วิธในเวลาแฝงที่ต่ำกว่า” Ravi Thummarukudy ซีอีโอของ Mobiveil กล่าว“ ด้วยการถือกำเนิดของมาตรฐานอุตสาหกรรมล่าสุด Compute Express Link (CXL) สถาปนิกระบบสามารถจัดระดับหน่วยความจำที่จำเป็นระหว่างหน่วยความจำหลักใน DDRn DIMMS และ DDRn ที่ใช้ CXL หรือหน่วยความจำถาวรที่ใหม่กว่าเวลาในการตอบสนองและลักษณะทางเศรษฐกิจของระดับความทรงจำเหล่านี้แตกต่างกันและนั่นทำให้สถาปนิกมีทางเลือกในการผสมผสานและจับคู่ความทรงจำให้เหมาะกับความต้องการของพวกเขา”

นั่นคือความต่อเนื่องของสถาปัตยกรรมหน่วยความจำดั้งเดิม“ OEM และ System House จำนวนมากกำลังออกแบบ SoC ของตนเองเพื่อปรับแต่งซิลิกอนให้เข้ากับปริมาณงานที่เฉพาะเจาะจง” Tim Kogel วิศวกรแอปพลิเคชันหลักของ Synopsys กล่าว“ โอกาสที่ใหญ่ที่สุดสำหรับประสิทธิภาพและการเพิ่มพลังคือความเชี่ยวชาญของลำดับชั้นหน่วยความจำร่วมกับสถาปัตยกรรมการเชื่อมต่อที่รองรับ

พิจารณาอำนาจ“ ในสถาปัตยกรรมปัจจุบัน 90% ของพลังงานสำหรับปริมาณงาน AI ถูกใช้โดยการเคลื่อนย้ายข้อมูลการถ่ายโอนน้ำหนักและการเปิดใช้งานระหว่างหน่วยความจำภายนอกแคชบนชิปและสุดท้ายไปยังองค์ประกอบคอมพิวเตอร์ (ดูรูปที่ 1)” อรุณไอแยงการ์กล่าว ซีอีโอของ Untether AI“ การมุ่งเน้นไปที่ความต้องการในการเร่งการอนุมานและการเพิ่มประสิทธิภาพการใช้พลังงานสูงสุดเท่านั้นที่เราจะสามารถมอบประสิทธิภาพการคำนวณที่ไม่เคยมีมาก่อนได้”

การเพิ่มประสิทธิภาพหน่วยความจำเป็นปัญหาระดับระบบที่เกี่ยวข้องกับการออกแบบทุกด้านไม่ว่าจะเป็นฮาร์ดแวร์ซอฟต์แวร์และเครื่องมือ“ กลยุทธ์ในการเพิ่มประสิทธิภาพหน่วยความจำมีหลากหลายและขึ้นอยู่กับโดเมนของแอปพลิเคชัน” Kogel กล่าวเสริม“ กลยุทธ์ที่ดีที่สุดคือหลีกเลี่ยงการเข้าถึงหน่วยความจำแบบไม่ใช้ชิปโดยสิ้นเชิงสำหรับสถาปัตยกรรมเฉพาะโดเมนโดยทั่วไปสามารถทำได้โดยการเพิ่มหน่วยความจำบนชิปที่มีอยู่ไม่ว่าจะในรูปแบบของแคชหรือหน่วยความจำที่มีการจัดการของแอปพลิเคชันโดยเฉพาะอย่างยิ่งในส่วนของตัวเร่งการเรียนรู้เชิงลึกหน่วยความจำบนชิปที่มีอยู่เป็นพารามิเตอร์การออกแบบที่เด็ดขาดซึ่งส่งผลต่อวิธีการคอมไพล์แอปพลิเคชันเครือข่ายประสาทเทียมเข้ากับฮาร์ดแวร์เป้าหมายเช่นการเรียงตัวดำเนินการ Convolution”

การออกแบบจำนวนมากกำลังมองหาที่จะไปไกลกว่านี้“ แนวคิดเกี่ยวกับหน่วยความจำเฉพาะโดเมนกำลังถูกสำรวจในโดเมนการประมวลผลเชิงพื้นที่” Arm's Horsnell กล่าว“ ตัวอย่างเช่น DSP มักจะจัดเตรียมกลุ่มความทรงจำแบบกระจายซึ่งมักจะจัดการโดยตรงในซอฟต์แวร์ซึ่งจะเหมาะกับความต้องการแบนด์วิดท์และรูปแบบการเข้าถึงของแอปพลิเคชันเฉพาะทางมากกว่าระบบหน่วยความจำแบบแบ่งใช้แบบเดิมเพื่อเชื่อมช่องว่างด้านประสิทธิภาพกับ ASIC ที่มีฟังก์ชันคงที่โปรเซสเซอร์เหล่านี้มักจะนำเสนอความเชี่ยวชาญด้านหน่วยความจำบางรูปแบบโดยให้การสนับสนุนโดยตรงสำหรับรูปแบบการเข้าถึงเฉพาะ (เช่น N-buffering, FIFOs, line buffers, การบีบอัด ฯลฯ )สิ่งสำคัญของการประสานงานภายในระบบเหล่านี้และความท้าทายในการออกแบบคือการกำหนดรายละเอียดที่เหมาะสมสำหรับการเข้าถึงข้อมูลซึ่งสามารถลดค่าใช้จ่ายในการสื่อสารและการซิงโครไนซ์ให้เหลือน้อยที่สุดในขณะที่เพิ่มการทำงานพร้อมกันสูงสุดในเวลาเดียวกันความท้าทายอื่น ๆ ยังคงมีอยู่เช่นการเขียนโปรแกรมการเชื่อมโยงการซิงโครไนซ์และการแปลซึ่งเพิ่มความซับซ้อนของซอฟต์แวร์อย่างไรก็ตามเส้นทางไปข้างหน้าที่เป็นไปได้คือการพึ่งพาภาษาเฉพาะโดเมน (DSL) ซึ่งการทำให้การไหลของข้อมูลของแอปมีความชัดเจนมากขึ้นสามารถทำให้คอมไพเลอร์ระบุรูปแบบการเข้าถึงหน่วยความจำแบบพิเศษและแมปเข้ากับฮาร์ดแวร์ได้อย่างมีประสิทธิภาพมากขึ้น”

นอกจากนี้ยังจ่ายเพื่อดูความทรงจำของตัวเองอย่างใกล้ชิด“ การปรับแต่งแบบไฮเปอร์เป็นเทรนด์ที่เราเห็นเมื่อพูดถึงความทรงจำ” อานันท์ธิรุเวงกาดัมผู้จัดการอาวุโสฝ่ายการตลาดผลิตภัณฑ์ของ Synopsys กล่าว“ นี่หมายถึงความทรงจำที่สร้างขึ้นตามวัตถุประสงค์สำหรับการใช้งานที่แตกต่างกันแม้แต่ในแอปพลิเคชั่นสุดท้ายเช่น AI ก็มีความต้องการที่แตกต่างกันสำหรับความทรงจำเช่นสำหรับการฝึกอบรมหรือการอนุมานการอนุมานในเซิร์ฟเวอร์หรือการอนุมานในขอบเขตที่ไกลออกไปแต่ละแอปพลิเคชันเหล่านี้มีข้อกำหนดที่แตกต่างกันและนั่นหมายความว่าคุณต้องปรับแต่งความทรงจำการปรับแต่งนี้หมายความว่าคุณไม่สามารถดูความทรงจำเป็นสินค้าโภคภัณฑ์หรือสินค้านอกชั้นได้อีกต่อไปคุณต้องสร้างมันสำหรับแอปพลิเคชันเฉพาะนั่นคือจุดที่ซอสลับเริ่มเข้ามา”

ในหลาย ๆ กรณีหน่วยความจำและการเชื่อมต่อระหว่างกันจะเชื่อมต่อกันอย่างแน่นหนา“ ทุกอย่างเกิดขึ้นเมื่อต้องรวมหน่วยความจำและเทคโนโลยีการเชื่อมต่อระหว่างกันเพื่อตอบสนองความต้องการในการเข้าถึงข้อมูลของปริมาณงานแอปพลิเคชันตัวอย่างเช่นการทำคลัสเตอร์หลายระดับที่รวมการประมวลผลเข้ากับหน่วยความจำภายในเพื่อใช้ประโยชน์จากพื้นที่ในแอปพลิเคชันโฟลว์ข้อมูลหรือหลายระดับ SRAM บนชิปแบบแถ / หลายพอร์ตสำหรับการบัฟเฟอร์แมปคุณลักษณะของตัวเร่งความเร็ว CNN และลำดับชั้นของแคชแบบลึกพร้อมโปรโตคอลการเชื่อมโยงที่ซับซ้อนเพื่อลดภาระงานของศูนย์ข้อมูลชุดการทำงานที่อบอุ่น”

การเปลี่ยนแปลงเพียงเล็กน้อยสามารถให้ผลลัพธ์ที่ยิ่งใหญ่ได้“ ดูปาฏิหาริย์เล็ก ๆ น้อย ๆ ที่ Apple ได้แสดงด้วย M1” แฟรงค์กล่าว“ พวกเขาคิดหาวิธีออกแบบระบบย่อยหน่วยความจำที่รองรับผู้เชี่ยวชาญที่แตกต่างกันหลายคนได้ดีโดยใช้กลยุทธ์การแคชอัจฉริยะและลำดับชั้นแคชขนาดใหญ่หลายระดับ”

ซอฟต์แวร์เป็นจุดยึดเฉื่อย“ สิ่งที่มักจะเกิดขึ้นคือมีอัลกอริทึมอยู่และเราเห็นวิธีการเพิ่มประสิทธิภาพเพิ่มประสิทธิภาพหน่วยความจำเพื่อให้ใช้อัลกอริทึมได้ดีขึ้นมาก” Saggurti กล่าว“ ในทางกลับกันเรามีหน่วยความจำประเภทต่างๆเหล่านี้คุณสามารถเปลี่ยนอัลกอริทึมของคุณเพื่อใช้ประโยชน์จากความทรงจำประเภทใหม่เหล่านี้ได้หรือไม่?ในอดีตการใช้ TCAM ส่วนใหญ่เป็นการสร้างโดเมนเครือข่ายเพื่อค้นหาที่อยู่ IPเมื่อเร็ว ๆ นี้เอ็นจินการฝึกอบรมเริ่มใช้ TCAM และนั่นเป็นแนวทางที่แตกต่างออกไปสิ่งนี้ต้องใช้ซอฟต์แวร์หรือเฟิร์มแวร์เพื่อเปลี่ยนตามประเภทของความทรงจำที่มีแต่ส่วนใหญ่แล้วซอฟต์แวร์จะคงที่และมีการเปลี่ยนแปลงหน่วยความจำเพื่อให้การใช้งานได้ผลดีขึ้น”

การรับรู้ปริมาณงาน
ทุกวันนี้มีการลงทุนเวลาและเงินจำนวนมากในปัญญาประดิษฐ์ชิปที่กำหนดเองถูก จำกัด ด้วยปริมาณงานและนั่นทำให้ความสำคัญของหน่วยความจำและการเชื่อมต่อถึงกัน

“ ในอดีตสถาปัตยกรรมหน่วยความจำและการเชื่อมต่อระหว่างกันได้รับการออกแบบโดยใช้สเปรดชีตแบบคงที่หรือแบบจำลองการวิเคราะห์อย่างง่ายเช่นแบบจำลองประสิทธิภาพของหลังคา” Kogel กล่าว“ สำหรับแอพพลิเคชั่นที่ล้ำสมัยสิ่งนี้ค่อนข้างซับซ้อนตัวอย่างเช่นการคาดคะเนความต้องการหน่วยความจำของทุกเลเยอร์ใน CNN จำเป็นต้องคำนึงถึงการเพิ่มประสิทธิภาพคอมไพเลอร์เช่นการเรียงไทล์และฟิวชั่นเลเยอร์วิธีการคงที่เหล่านี้กลายเป็นความซับซ้อนอย่างไม่มีเหตุผลและไม่ถูกต้องสำหรับการคาดการณ์และการเพิ่มประสิทธิภาพของปริมาณงานระดับ SoC ด้วยระบบย่อย IP ที่หลากหลายและสถานการณ์แอปพลิเคชันแบบไดนามิกในทางกลับกันการเรียกใช้แอปพลิเคชันบนการจำลองฮาร์ดแวร์หรือระบบการสร้างต้นแบบนั้นสายเกินไปในกระบวนการพัฒนาที่จะทำการเปลี่ยนแปลงอย่างรุนแรงหรือเพิ่มประสิทธิภาพที่สำคัญของการออกแบบหน่วยความจำ”

ซึ่งให้ความสำคัญกับปริมาณงานที่ต้องการ“ กุญแจสำคัญในระบบย่อยหน่วยความจำที่มีประสิทธิภาพคือความรู้เกี่ยวกับภาระงานของคุณ” แฟรงค์กล่าว“ การทำความเข้าใจว่ามันทำงานอย่างไรบางทีอาจจะสร้างมันขึ้นมาในลักษณะที่ทำให้เข้ากันได้กับข้อ จำกัด ของลำดับชั้นความจำของคุณมากขึ้นนี่คือสิ่งที่สถาปัตยกรรมถูกท้าทายตัวเร่งความเร็วเฉพาะโดเมนต้องการระบบหน่วยความจำที่ได้รับการปรับแต่ง - และศิลปะในการสร้างกลไกการเปลี่ยนแปลงที่ 'อิมพีแดนซ์' ตรงกับจำนวนมากจัดระเบียบเพจ DRAM การเข้าถึงแบบไม่ต่อเนื่องและรูปแบบการเข้าถึงของเครื่องยนต์ต้องการข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมของระบบเครื่องมือสร้างแบบจำลองและปริมาณงานจำนวนมาก เล่นกับ.บางครั้งก็ต้องเปลี่ยนวิธีการประมวลผลข้อมูลเพื่อให้สามารถปรับปรุงระบบโดยรวมได้ตัวอย่างที่ดีคือการเปลี่ยนจากการแสดงผลแบบ "โดยตรง" ไปเป็นการประมวลผลแบบไทล์ใน GPU "

ทั้งหมดนี้ขึ้นอยู่กับการสร้างแบบจำลองและการจำลองสถานการณ์“ เราเสนอให้ใช้เครื่องมือสร้างต้นแบบเสมือนเพื่อจำลองปริมาณงานแอปพลิเคชันร่วมกับโมเดลระดับธุรกรรมที่แม่นยำของสถาปัตยกรรมการเชื่อมต่อระหว่างกันและหน่วยความจำ” Kogel กล่าว"วิธีการ 'สถาปัตยกรรมอันดับแรก' เชิงปริมาณนี้ช่วยให้สามารถวิเคราะห์การแลกเปลี่ยนได้ในช่วงต้นส่งผลให้มีข้อกำหนดการใช้งานที่เชื่อถือได้ด้วยค่าใช้จ่ายในการสร้างแบบจำลองและความพยายามในการจำลองเพิ่มเติมผลประโยชน์นี้คือลดความเสี่ยงของการขาดประสิทธิภาพและเป้าหมายด้านพลังงานหรือลดต้นทุนในการออกแบบฮาร์ดแวร์มากเกินไปเพื่อให้อยู่ในด้านที่ปลอดภัยในยุคของผลตอบแทนที่ลดลงจากกฎของมัวร์โอกาสคือการออกผลิตภัณฑ์ที่เหมาะสมและแตกต่างมากขึ้น”

ซึ่งช่วยให้สามารถมองเห็นผลกระทบของการเปลี่ยนแปลงอัลกอริทึมได้เช่นกัน“ จำเป็นต้องกลับไปออกแบบอัลกอริทึมใหม่” Thiruvengadam กล่าว“ พวกเขาสามารถออกแบบใหม่สำหรับสถาปัตยกรรมความทรงจำดั้งเดิมหรืออาจออกแบบใหม่สำหรับสถาปัตยกรรมใหม่รูปแบบความทรงจำใหม่รสชาติความทรงจำใหม่ ๆมีการผลักดันอย่างต่อเนื่องสำหรับการปรับขนาดประสิทธิภาพการกำหนดต้นทุนและความสามารถในการปรับสมดุลการแลกเปลี่ยนสำหรับแอปพลิเคชันต่างๆนี่เป็นสาเหตุหลักที่ทำให้คุณเห็นการพัฒนา MRAM และ FeRAM อย่างต่อเนื่องพวกเขากำลังพยายามหาจุดที่น่าสนใจสำหรับตัวแปรอย่างน้อยสองตัวถ้าไม่ใช่ตัวแปรทั้งหมดความจำเป็นในการออกแบบอัลกอริทึมใหม่พร้อมกับสถาปัตยกรรมหน่วยความจำกำลังกลายเป็นสิ่งสำคัญอย่างแน่นอน”

ความสมดุลเป็นสิ่งที่จำเป็น“ คุณต้องคิดถึงแนวคิดเรื่องความเข้มข้นของการคำนวณและประเภทของการดำเนินการที่เกี่ยวข้อง” แฟรงค์กล่าว“ อัลกอริทึมบางอย่างมีข้อกำหนดแบนด์วิดท์ที่ไม่รู้จักพอในขณะที่คนอื่น ๆ ย้ายข้อมูลเพียงเล็กน้อย แต่ดำเนินการหลายพันครั้งการดำเนินการในหน่วยความจำอาจทำงานได้ดีสำหรับการประมวลผลประเภท SIMD โดยที่แบนด์วิดท์คำสั่งมีขนาดเล็กเมื่อเทียบกับแบนด์วิดท์ข้อมูลและองค์ประกอบหลายอย่างได้รับการประมวลผลโดยใช้สูตรเดียวกันแต่ทันทีที่มีการอ้างอิงตามลำดับในสตรีมข้อมูลหรือกระแสข้อมูลที่ไม่สม่ำเสมอผลประโยชน์ของหน่วยความจำเฉพาะโดเมนจะลดลง”

หน่วยความจำที่กำหนดเอง
แม้ว่าการเปลี่ยนแปลงทางสถาปัตยกรรมอาจให้ผลลัพธ์ที่มาก แต่การปรับแต่งความทรงจำให้เหมาะสมก็อาจให้ประโยชน์“ ส่วนใหญ่ของพลังและพื้นที่ของเครื่องเร่งความเร็วในปัจจุบันถูกใช้กับหน่วยความจำ” Horsnell กล่าว“ ดังนั้นการปรับปรุงเวลาแฝง / ความหนาแน่น / พลังงานใด ๆ ที่ทำได้โดยเทคโนโลยีหน่วยความจำใหม่ ๆ อาจส่งผลกระทบอย่างมาก”

ความทรงจำที่กำหนดเองกำลังกลายเป็นธุรกิจขนาดใหญ่“ คุณเริ่มเห็นสิ่งต่างๆเช่นการคำนวณในหน่วยความจำการคำนวณใกล้หน่วยความจำความทรงจำเฉพาะที่อาจเป็นหน่วยความจำแบบเขียนเป็นศูนย์ - ความทรงจำที่ได้รับการปรับให้เหมาะสมสำหรับการดำเนินการบางประเภท” Saggurti กล่าว"เราเห็นลูกค้าจำนวนมากถามเราเกี่ยวกับ MRAM การปรับแต่ง SRAM, TCAM และการปรับแต่ง TCAM บางอย่างมากขึ้น"

แม้ว่าความยากลำบากยังคงอยู่“ ฉันมีการพูดคุยกันมากมายเกี่ยวกับการออกแบบหน่วยความจำแบบกำหนดเองซึ่งการประมวลผลบนหน่วยความจำจะเป็นสถาปัตยกรรมที่ 'เหมาะอย่างยิ่ง' แฟรงค์กล่าว“ มันจะให้แบนด์วิดท์สูงเวลาแฝงต่ำ ฯลฯ ทุกอย่างถูกต้องยกเว้นในกรณีที่กระบวนการหน่วยความจำ จำกัด สิ่งที่จะรวมตรรกะได้ - ชั้นโลหะสามหรือสี่ชั้นพลังงานต่ำ แต่ทรานซิสเตอร์ช้านั่นหมายถึงความไม่มีประสิทธิภาพของเอ็นจิ้นประมวลผลการเสียสละความเร็วสัญญาณนาฬิกาและความซับซ้อนของวงจรทำให้การผสานรวมของกลไกประมวลผลไม่ใช่ทางเลือกที่ดีอีกต่อไป”

แต่การเปลี่ยนแปลงเหล่านี้บางอย่างจะกลายเป็นสิ่งที่จำเป็น“ ผู้คนต้องการนำแฟลชมาติดบนชิปและทำให้เป็นแฟลชในตัว” Saggurti กล่าว“ แล้วคำถามก็กลายเป็นว่า 'เป็นไปได้ไหม?'ที่ 28 นาโนเมตรคุณอาจทำแฟลชแบบฝังได้ แต่ผู้คนเริ่มคิดถึงสิ่งต่างๆเช่น MRAM ที่ 22 นาโนเมตร”

ยังมีวิธีอื่นในการพิจารณาปัญหา“ ความแปรปรวนของกระบวนการในเวเฟอร์และแบบตายตัวและแม้กระทั่งเมื่อเวลาผ่านไปการออกแบบหน่วยความจำก็ จำกัด ” Saggurti กล่าวเสริม“ เมื่อคุณออกแบบหน่วยความจำ SRAM แบบธรรมดาคุณมักจะออกแบบสำหรับกรณีที่เซลล์บิตไปทางเดียว - ช้า - และรอบนอกไปอีกทางหนึ่งคือเร็วหากคุณออกแบบมาเพื่อสิ่งนั้นและหากซิลิกอนส่วนใหญ่ของคุณเป็นเรื่องปกติคุณจะทิ้งประสิทธิภาพและพลังไว้มากมายบนโต๊ะหากคุณเข้าใจจุดที่คุณอยู่ในช่วงของกระบวนการและให้ผู้ออกแบบชิปดำเนินการกับข้อมูลนั้นคุณสามารถปรับเวลาให้เหมาะสมได้การออกแบบของคุณอาจเหมาะสมกว่าและคุณไม่จำเป็นต้องออกแบบสำหรับกรณีที่เลวร้ายที่สุด”

สรุป
ในขณะที่หน่วยความจำได้รับการออกแบบมาโดยตลอด แต่ก็ไม่เคยได้รับความสนใจในระดับเดียวกับการประมวลผลแม้ว่าจะเป็นตัว จำกัด ประสิทธิภาพในแง่ของแบนด์วิดท์พลังงานและพื้นที่ก็ตามAI ทำให้ผู้คนต้องคิดทบทวนสถาปัตยกรรมหน่วยความจำโดยไม่จำเป็น แต่ด้วยความสนใจเป็นพิเศษทีมออกแบบอาจคิดใหม่เกี่ยวกับซอฟต์แวร์และอัลกอริทึมบางอย่างที่ได้รับการปรับให้เหมาะสมกับระบบหน่วยความจำแบบเดิมในโลกที่ผลการดำเนินงานไม่ได้มาฟรีทุก ๆ 18 เดือนมาตรการที่รุนแรงมากขึ้นกลายเป็นวิธีเดียวที่จะหยุดผลิตภัณฑ์ไม่ให้กลายเป็นสินค้าโภคภัณฑ์ (จาก Brian Bailey)

รายละเอียดการติดต่อ