กลับไปหน้าบทความ

อ่าน 3 นาที

เร่งความเร็ว

ใน สถาปัตยกรรมคอมพิวเตอร์ อัตราเร่ง (speedup) คือตัวเลขที่ใช้วัดประสิทธิภาพเชิงเปรียบเทียบของระบบสองระบบที่ประมวลผลปัญหาเดียวกัน ในเชิงเทคนิคแล้ว...

เร่งความเร็ว

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

คำจำกัดความ

สามารถกำหนดความเร็วในการประมวลผลได้สำหรับปริมาณสองประเภทที่แตกต่างกัน ได้แก่ความหน่วงและปริมาณงาน[ 1 ]

ความหน่วงของสถาปัตยกรรมคือส่วนกลับของความเร็วในการประมวลผลของงาน:

ที่ไหน

  • vคือความเร็วในการประมวลผลของงานนั้น
  • Tคือเวลาในการดำเนินการของงานนั้น;
  • Wคือภาระงานในการดำเนินการของงานนั้น

อัตราการประมวลผลของสถาปัตยกรรม คือ อัตราการดำเนินการของงานหนึ่งๆ:

ที่ไหน

โดยทั่วไปแล้ว ค่าความหน่วงจะวัดเป็นวินาทีต่อหน่วยของปริมาณงานประมวลผล ส่วนค่าปริมาณงานทั้งหมดจะวัดเป็นหน่วยของปริมาณงานประมวลผลต่อวินาที หน่วยวัดปริมาณงานทั้งหมดอีกหน่วยหนึ่งคือจำนวนคำสั่งต่อรอบการทำงาน (IPC) และค่าผกผันของ IPC คือ จำนวนรอบการทำงานต่อคำสั่ง (CPI) ซึ่งเป็นหน่วยวัดค่าความหน่วงอีกหน่วยหนึ่ง

อัตราเร่งไม่มีหน่วยและถูกกำหนดความหมายแตกต่างกันสำหรับปริมาณแต่ละประเภท เพื่อให้เป็นตัวชี้วัดที่สอดคล้องกัน

ความเร็วในการหน่วงเวลาเพิ่มขึ้น

การเร่งความเร็วในความหน่วงจะถูกกำหนดโดยสูตรต่อไปนี้: [ 2 ]

ที่ไหน

  • ค่าความหน่วงSคือความเร็วในการตอบสนองของสถาปัตยกรรม 2 เมื่อเทียบกับสถาปัตยกรรม 1;
  • L 1คือค่าความหน่วงของสถาปัตยกรรม 1;
  • L2คือค่าความหน่วงของสถาปัตยกรรม2

สามารถคาดการณ์ความเร็วในการตอบสนองที่เพิ่มขึ้นได้จากกฎของ Amdahlหรือกฎของ Gustafson

เพิ่มความเร็วในการประมวลผล

การเร่งความเร็วในการประมวลผลถูกกำหนดโดยสูตร: [ 3 ]

ที่ไหน

  • อัตราการประมวลผลSคือ อัตราเร่งในการประมวลผลของสถาปัตยกรรม 2 เมื่อเทียบกับสถาปัตยกรรม 1;
  • Q 1คือปริมาณงานของสถาปัตยกรรม 1;
  • Q2คือปริมาณงานของสถาปัตยกรรม2

ตัวอย่าง

โดยใช้เวลาในการดำเนินการ

เรากำลังทดสอบประสิทธิภาพของ ตัวทำนายการกระโดด ( branch predictor ) ในการประมวลผลโปรแกรม ขั้นแรก เราประมวลผลโปรแกรมด้วยตัวทำนายการกระโดดมาตรฐานบนโปรเซสเซอร์ ซึ่งให้เวลาในการประมวลผล 6.75 วินาที ต่อมา เราประมวลผลโปรแกรมด้วยตัวทำนายการกระโดดที่ได้รับการดัดแปลง (และหวังว่าจะดีขึ้น) บนโปรเซสเซอร์เดียวกัน ซึ่งให้เวลาในการประมวลผล 4.50 วินาที ในทั้งสองกรณี ปริมาณงานในการประมวลผลเท่ากัน โดยใช้สูตรเร่งความเร็วของเรา เราทราบว่า

ตัวทำนายการแตกแขนงแบบใหม่ของเราช่วยเพิ่มความเร็วได้ถึง 1.5 เท่า เมื่อเทียบกับแบบเดิม

การใช้รอบต่อคำสั่งและคำสั่งต่อรอบ

เราสามารถวัดความเร็วในการประมวลผลได้ในหน่วยรอบต่อคำสั่ง (CPI) ซึ่งเป็นค่าความหน่วงแฝง ขั้นแรก เราจะรันโปรแกรมด้วยตัวทำนายการแตกแขนงแบบมาตรฐาน ซึ่งจะได้ค่า CPI เท่ากับ 3 จากนั้น เราจะรันโปรแกรมด้วยตัวทำนายการแตกแขนงที่ได้รับการดัดแปลง ซึ่งจะได้ค่า CPI เท่ากับ 2 ในทั้งสองกรณี ปริมาณงานในการประมวลผลเท่ากัน และสถาปัตยกรรมทั้งสองแบบไม่ได้ใช้การประมวลผลแบบไปป์ไลน์หรือแบบขนาน เมื่อใช้สูตรคำนวณความเร็วในการประมวลผลจะได้ผลลัพธ์ดังนี้

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

เราได้ความเร็วเพิ่มขึ้น 1.5 เท่าเท่ากัน แม้ว่าเราจะวัดปริมาณที่แตกต่างกันก็ตาม

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

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

ประสิทธิภาพคือตัวชี้วัดการใช้ทรัพยากรของระบบที่ได้รับการปรับปรุง ซึ่งกำหนดไว้ดังนี้

โดยทั่วไปค่าของมันจะอยู่ระหว่าง 0 ถึง 1 โปรแกรมที่มีความเร็วในการประมวลผลเชิงเส้นและโปรแกรมที่ทำงานบนโปรเซสเซอร์ตัวเดียวจะมีประสิทธิภาพเท่ากับ 1 ในขณะที่โปรแกรมที่ยากต่อการประมวลผลแบบขนานจำนวนมากจะมีประสิทธิภาพเช่น 1/ln( s ) ซึ่งเข้าใกล้ 0 เมื่อจำนวนโปรเซสเซอร์A = sเพิ่มขึ้น

ในบริบททางวิศวกรรม เส้นโค้งประสิทธิภาพมักถูกใช้ในกราฟมากกว่าเส้นโค้งความเร็ว เนื่องจาก

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

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

การเร่งความเร็วแบบเหนือเชิงเส้น

ใน การประมวลผลแบบขนาน บางครั้ง อาจพบความเร็วที่เพิ่มขึ้นมากกว่าAเมื่อใช้ โปรเซสเซอร์ Aซึ่งเรียกว่าความเร็วที่เพิ่มขึ้นเกินเชิงเส้น (super-linear speedup ) ความเร็วที่เพิ่มขึ้นเกินเชิงเส้นเกิดขึ้นได้ยากและมักทำให้ผู้เริ่มต้นสับสน ซึ่งมักเข้าใจว่าความเร็วที่เพิ่มขึ้นสูงสุดตามทฤษฎีควรเป็นAเมื่อใช้โปรเซสเซอร์ A

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

สถานการณ์ที่คล้ายคลึงกันเกิดขึ้นเมื่อค้นหาชุดข้อมูลขนาดใหญ่ เช่น ข้อมูลจีโนมิกที่ค้นหาโดย การใช้งาน BLASTในกรณีนี้ RAM ที่สะสมจากแต่ละโหนดในคลัสเตอร์ทำให้สามารถย้ายชุดข้อมูลจากดิสก์ไปยัง RAM ได้ ซึ่งช่วยลดเวลาที่จำเป็นสำหรับการค้นหา เช่น mpiBLAST ได้อย่างมาก[ 5 ]

การเร่งความเร็วแบบเหนือเส้นตรงสามารถเกิดขึ้นได้เมื่อทำการย้อนกลับแบบขนาน: ข้อยกเว้นในเธรดหนึ่งสามารถทำให้เธรดอื่น ๆ หลายเธรดย้อนกลับก่อนกำหนด ก่อนที่พวกมันจะไปถึงข้อยกเว้นนั้นเอง[ 6 ]

การเร่งความเร็วแบบเหนือเส้นตรงยังสามารถเกิดขึ้นได้ในการใช้งานแบบขนานของ branch-and-bound เพื่อการเพิ่มประสิทธิภาพ: [ 7 ]การประมวลผลโหนดหนึ่งโดยโปรเซสเซอร์หนึ่งตัวอาจส่งผลต่องานที่โปรเซสเซอร์อื่นต้องทำสำหรับโหนดอื่น

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Speedup&oldid=1321101526 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เร่งความเร็ว

ใน สถาปัตยกรรมคอมพิวเตอร์ อัตราเร่ง (speedup) คือตัวเลขที่ใช้วัดประสิทธิภาพเชิงเปรียบเทียบของระบบสองระบบที่ประมวลผลปัญหาเดียวกัน ในเชิงเทคนิคแล้ว...

คำจำกัดความ

สามารถกำหนดความเร็วในการประมวลผลได้สำหรับปริมาณสองประเภทที่แตกต่างกัน ได้แก่ ความหน่วง และ ปริมาณ งาน [ 1 ]

ความเร็วในการหน่วงเวลาเพิ่มขึ้น

การเร่งความเร็วใน ความหน่วง จะถูกกำหนดโดยสูตรต่อไปนี้: [ 2 ]

เพิ่มความเร็วในการประมวลผล

การเร่งความเร็วใน การประมวลผล ถูกกำหนดโดยสูตร: [ 3 ]