คำนวณเวลาเฉลี่ยในการอ่านไบต์บนดิสก์


2

คำถามให้ฉันพารามิเตอร์ต่อไปนี้:

เวลาในการค้นหาเส้นทาง = 10ms (หนึ่งในพันวินาที)

ความเร็วในการหมุนของดิสก์ = 9000 revs ต่อนาที

ส่วนในแต่ละแทร็ก = 600

แต่ละเซกเตอร์สามารถเก็บข้อมูลได้ 512 ไบต์

คำถามขอให้ฉันคำนวณเวลาเฉลี่ยในการอ่าน 1024 ไบต์

ฉันต้องรู้ว่าฉันทำถูกต้องหรือไม่ ฉันจะขอบคุณถ้ามีใครสามารถโปรดดูวิธีการแก้ปัญหาของฉัน

สารละลาย

สมการสำหรับการหาเวลาจาก William Stallings, สถาปัตยกรรมคอมพิวเตอร์และองค์กร 10e


เราไม่ทำการบ้าน
DavidPostill

คำตอบ:


2

หากต้องการอ่าน 1024 ไบต์ (1024/512 = 2 ส่วน) คุณต้องมี:

  • พยายามติดตามด้วยภาคที่ 1 10ms
  • รอในขณะที่ภาคที่ 1 เริ่มต้นมาถึงตำแหน่งหัวหน้า รอมัน - 0 ms นาที, 60 * 1000/9000 = 6.67ms สูงสุด, เฉลี่ย 3.33ms
  • อ่านเซกเตอร์ 1 / (600 * (9000/60)) = 0.011ms ละเลย.
  • ส่วนที่สองอาจอยู่ในเส้นทางเดียวกันหรืออีกเส้นทางหนึ่ง หาเวลา - 0 ms นาทีสูงสุด 10 ms เฉลี่ย 5 ms
  • รอในขณะที่เซกเตอร์ 2 เริ่มต้นถึงตำแหน่งหัวหน้า รอ - 0 ms ขั้นต่ำ, สูงสุด 6.67ms, เฉลี่ย 3.33 มิลลิวินาที
  • อ่านเซกเตอร์ ละเลย.

รวม: 10 + 3.33 + 5 + 3.33 ~ 21.7 ms

PS อย่าคิดว่า "หากไม่มีการค้นหาระหว่างส่วนเวลารอคือ 0" ไม่มีใครพูดว่าภาคที่อยู่ติดกัน


0

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

ยังคงเข้าใจในสิ่งที่เป็นสาเหตุและไม่ก่อให้เกิดปัญหาด้านประสิทธิภาพที่สำคัญ

"อัตราการอ่านข้อมูล" โดยเฉลี่ยสำหรับฐานข้อมูลส่วนใหญ่จะขึ้นอยู่กับขนาดของ IO ที่คุณกำลังย้ายในครั้งเดียวและถ้ามันต่อเนื่องกันหรือไม่ นอกจากนี้ยังขึ้นอยู่กับดิสก์ด้วยตัวเองรายงานพารามิเตอร์ฮาร์ดแวร์ที่แท้จริงซึ่งมักจะจำลองเท่านั้น (ตัวอย่างเช่นมีภาค 600 แทร็กต่อแทร็คหรือไม่เนื่องจากแทร็กภายนอกของดิสก์มีขนาดใหญ่กว่ามากดิสก์ใด ๆ ในช่วง 30 ปีที่ผ่านมาจะมีเซกเตอร์เพิ่มเติมบนแทร็กภายนอกมากกว่าด้านใน) นี่คือตัวอย่างประสิทธิภาพ นี่คือพารามิเตอร์ที่แท้จริง:

การอ่านฐานข้อมูล: โดยปกติหมายถึงหมายเลขเซ็กเตอร์จะอ่านแบบสุ่มทั่วดิสก์ (สันนิษฐานว่า 1024 ไบต์ของ 2 ส่วนต่อเนื่อง 512 ส่วน) และไม่มีส่วนใดในหน่วยความจำหรือแคชอื่น ๆ : ในกรณีนี้อัตราข้อมูลเฉลี่ยของคุณ จะเป็น:

10 MS = การเปลี่ยนตำแหน่งของ Head Seek: (โปรดทราบว่านี่หมายความว่าคุณสามารถทำการค้นหาได้ 100 ครั้งใน 1 วินาทีเท่านั้นและ 100 KB / Sec จะเป็น FASTEST ที่เร็วที่สุดที่คุณสามารถอ่าน 1024 แบบสุ่ม)

1 MS = คำสั่งค่าโสหุ้ย = ไม่ทราบ: สิ่งนี้เคยมีความสำคัญมากถึง 8 MS วันนี้มีแนวโน้มที่จะขึ้นกับระบบปฏิบัติการของคุณมากขึ้นประมวลผลคำขอของคุณอย่างมีประสิทธิภาพ ดังนั้นหากระบบของคุณทำการแลกเปลี่ยนกับดิสก์จำนวนมาก MB ระบบของคุณจะช้าลงอย่างมาก IO ไปและกลับจากดิสก์วันนี้มีโอกาสน้อยกว่า MS สิ่งนี้สามารถทดสอบได้อย่างง่ายดายด้วย SSD เพื่อจำลองบัสค่าใช้จ่ายของบัส HD และเฟิร์มแวร์ โดยรวมแล้วที่นี่จะเป็นเวลาที่จะเปลี่ยนหัวอ่านสมมติว่าคุณอยู่ในแทร็กหรือทรงกระบอกที่ถูกต้องแล้ว รวมถึงการส่งคืนข้อมูลที่ถูกย้ายไปยังระบบปฏิบัติการ ดูเวลาการขัดจังหวะ CPU ทั้งหมดของคุณยังคงอยู่ <1% ซึ่งสามารถระบุปัญหาฮาร์ดแวร์ดิสก์ เดาป่า? <1 มิลลิวินาทีซึ่งยังคงมีนัยสำคัญ

3.3 MS = หมุนจนกว่าภาคจะอยู่ภายใต้หัวข้อ: 9000 RPM / 60 วินาที = 6.67 MS อัตราต่อรองของการอยู่ใกล้ที่สุดหรือไกลที่สุดคือ 50% ดังนั้นความล่าช้า 3.33 MS สำหรับแต่ละ IO หมายเหตุ: นั่นหมายความว่าการอ่านแบบสุ่มถ้าหัวอยู่ในตำแหน่งที่ถูกต้องแล้วจะยังคงอยู่ที่ 3.33 MS และหมายความว่าอัตราข้อมูลสูงสุดของคุณต้องไม่เกิน 300 KB / วินาทีที่ 1k IO

0.022 MS = เวลาอ่านหัว: 6.67 MS / 600 ส่วน * 2 = 1024 อ่าน ==> 0.022 MS ซึ่งหมายความว่าอัตราข้อมูลสูงสุดของดิสก์นี้คือ 1 / 0.022 MS = 45,000 * 1024 = 46 MB / วินาที สำหรับการอ่าน / สืบค้นฐานข้อมูลสิ่งนี้ไม่มีนัยสำคัญอย่างสมบูรณ์ในขณะที่ถ้าการย้ายฐานข้อมูลทั้งหมดจะเป็นปัจจัยที่สำคัญที่สุด

ดังนั้นในกรณีนี้อัตรา "การอ่านฐานข้อมูล" ของคุณจะเป็น ~ 14.355 MS = 70 KB / วินาที โปรดทราบว่าหาก IO เท่ากับ 512 (ละเว้น. 022 MS) อัตราจะเท่ากับครึ่งหนึ่ง ใช้ 2,048 และอัตราเป็นสองเท่า ดังนั้นพารามิเตอร์ที่สำคัญที่สุดคือขนาดของเซ็กเตอร์ที่ต่อเนื่องกันจนกระทั่งคุณได้อ่านเต็มแทร็ก (สมมติว่าเซกเตอร์ของดิสก์ทั้งหมดนั้นต่อเนื่องกัน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.