พื้นหลัง
หน่วยความจำภายนอกหรือโมเดล DAM กำหนดต้นทุนของอัลกอริทึมด้วยจำนวนของ I / O ที่ดำเนินการ (โดยหลักแล้วจำนวนแคชที่หายไป) โดยทั่วไปเวลาทำงานเหล่านี้จะได้รับในแง่ของขนาดของหน่วยความจำและจำนวนคำที่สามารถถ่ายโอนไปยังหน่วยความจำในครั้งเดียว บางครั้งและถูกใช้สำหรับและตามลำดับ
ยกตัวอย่างเช่นการเรียงลำดับต้องใช้ค่าใช้จ่ายของและการคูณเมทริกซ์ไร้เดียงสาต้อง{M})
แบบจำลองนี้จะใช้ในการวิเคราะห์ "อัลกอริทึมแคชลบเลือน" ซึ่งไม่ได้มีความรู้เกี่ยวกับหรือMโดยทั่วไปแล้วเป้าหมายสำหรับอัลกอริธึมการลืมเลือนเพื่อให้เกิดประสิทธิภาพสูงสุดในโมเดลหน่วยความจำภายนอก สิ่งนี้ไม่สามารถทำได้ตลอดเวลาเช่นในปัญหาการเปลี่ยนแปลงเช่น (แสดงในBrodal, Faderberg 2003 ) ดูการเขียนนี้โดย Erik Demaineสำหรับคำอธิบายเพิ่มเติมเกี่ยวกับอัลกอริธึมแคชที่ลืมเลือนรวมถึงการอภิปรายของการเรียงลำดับและการคูณเมทริกซ์
เราสามารถเห็นได้ว่าการเปลี่ยนทำให้การเร่งแบบลอการิทึมสำหรับการเรียงลำดับและการเร่งความเร็วแบบโพลิโนเมียลสำหรับการคูณเมทริกซ์ (ผลลัพธ์นี้มาจากHong, Kung 1981และก่อนหน้านี้จริง ๆ แล้วทั้งความหลงลืมแคชและการทำให้เป็นระเบียบของโมเดลหน่วยความจำภายนอก)
คำถามของฉันคือ:
มีกรณีใดที่ speedup คือชี้แจงใน ? เวลาทำงานจะคล้าย(M)} ฉันสนใจอัลกอริทึมหรือโครงสร้างข้อมูลที่ไม่เหมาะสมกับแคชที่เหมาะกับคำอธิบายนี้ แต่จะมีความสุขกับอัลกอริทึม / โครงสร้างข้อมูลที่รับรู้ถึงแคชหรือแม้แต่ขอบเขตล่างที่รู้จักกันดีที่สุด
โดยทั่วไปแล้วมันจะสันนิษฐานในรุ่นที่ขนาดคำว่าถ้าเป็นขนาดอินพุตและชัดเจน จากนั้นเพิ่มความเร็วของให้ speedup พหุนามในNนี่ทำให้ฉันเชื่อว่าหากปัญหาที่ฉันค้นหามีอยู่มันก็ไม่ใช่พหุนาม (มิฉะนั้นเราสามารถเปลี่ยนขนาดแคชโดยค่าคงที่เพื่อให้ได้จำนวนคงที่ของ I / Os ซึ่งไม่น่าจะเกิดขึ้น)N M > w 2 M N