ความแตกต่างระหว่างฮาร์ดเรียลไทม์ซอฟต์เรียลไทม์และเรียลไทม์ที่มั่นคง


102

ฉันได้อ่านคำจำกัดความของแนวคิดที่แตกต่างกันของเรียลไทม์แล้วและตัวอย่างที่ให้ไว้สำหรับระบบเรียลไทม์แบบแข็งและแบบอ่อนก็สมเหตุสมผลสำหรับฉัน แต่ไม่มีคำอธิบายหรือตัวอย่างของระบบเรียลไทม์ที่แท้จริง ตามลิงค์ด้านบน:

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

มีความแตกต่างที่ชัดเจนระหว่างเรียลไทม์ที่มั่นคงกับแบบเรียลไทม์แบบแข็งหรือแบบเรียลไทม์และมีตัวอย่างที่ดีที่แสดงให้เห็นถึงความแตกต่างนั้นหรือไม่?

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

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


11
โดยพื้นฐานแล้วคำจำกัดความไม่ได้เป็นจริง
Hot Licks

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

หากคุณกำลังจะยืนยันในสามแท็กใหม่สำหรับคำถามนี้และคำถามนี้เพียงอย่างเดียวอย่างน้อยวิกิเพิ่มและพยายามที่จะหาคำถามอื่น ๆ ที่พวกเขาจะนำมาใช้
Charles

คำตอบ:


114

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

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

เส้นนั้นคลุมเครือเพราะแม้แต่เครื่องกระตุ้นหัวใจก็สามารถหลุดออกได้เพียงเล็กน้อยโดยไม่ต้องฆ่าผู้ป่วย แต่นั่นคือหัวใจสำคัญทั่วไป

มันเหมือนกับความแตกต่างระหว่างร้อนและอบอุ่น ไม่มีการแบ่งแยกที่แท้จริง แต่คุณจะรู้เมื่อคุณรู้สึก


2
ตัวอย่าง "หนักแน่น" ของคุณดูเหมือน "เบา ๆ " สำหรับฉัน
jxh

เท่าที่สังเกตเส้นแบ่งจะค่อนข้างคลุมเครือ ระบบซอฟต์เรียลไทม์ระบบเดียวที่ฉันใช้มีความคลาดเคลื่อนไม่กี่วินาทีนั่นคือจุดที่ฉันลากเส้น
Joel

1
โปรดทราบว่ามันเป็นความต่อเนื่อง ระบบคอมพิวเตอร์แทบทุกระบบเป็น "เรียลไทม์" ในบางช่วงเวลา ระบบการเรียกเก็บเงินของ บริษัท จะต้องออกใบเรียกเก็บเงินอย่างรวดเร็วเพียงพอเพื่อรักษากระแสเงินสดเข้า บริษัท มิฉะนั้น บริษัท จะตายแน่นอนในฐานะผู้ป่วยจะต้องตายหากเครื่องกระตุ้นหัวใจพลาดเต้นไม่กี่ร้อยมิลลิวินาที
Hot Licks

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

ข้อกำหนดแบบเรียลไทม์อยู่ในบริบทของระบบที่กำหนดไม่ใช่โดยธรรมชาติของปัญหา ในตัวอย่างที่คุณให้ไว้ยังคงมีความเสียหายต่อเสียง (ที่เร่งขึ้น) และเสียงและวิดีโอที่ไม่ตรงกันชั่วคราว
Joel

115

ฮาร์ดเรียลไทม์

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

ตัวอย่าง:

  • แอร์ฟรานซ์เที่ยวบิน 447 ตกในมหาสมุทรหลังจากเซ็นเซอร์ทำงานผิดพลาดทำให้ระบบเกิดข้อผิดพลาด นักบินได้หยุดเครื่องบินขณะตอบสนองต่อการอ่านเครื่องมือที่ล้าสมัย ลูกเรือทั้งหมด 12 คนและผู้โดยสาร 216 คนเสียชีวิต

  • ยานอวกาศ Mars Pathfinder เกือบจะสูญหายไปเมื่อการผกผันลำดับความสำคัญทำให้ระบบรีสตาร์ท งานที่มีลำดับความสำคัญสูงกว่าไม่เสร็จตามกำหนดเวลาเนื่องจากถูกบล็อกโดยงานที่มีลำดับความสำคัญต่ำกว่า ปัญหาได้รับการแก้ไขและยานอวกาศลงจอดได้สำเร็จ

  • เครื่องพิมพ์อิงค์เจ็ทมีหัวพิมพ์พร้อมซอฟต์แวร์ควบคุมสำหรับการฝากปริมาณหมึกที่ถูกต้องลงบนส่วนใดส่วนหนึ่งของกระดาษ หากพลาดกำหนดเวลางานพิมพ์จะเจ๊ง


แบบเรียลไทม์

แบบ real-time บริษัทนิยามช่วยให้การกำหนดเวลาพลาดบ่อย ในแอปพลิเคชันเหล่านี้ระบบสามารถอยู่รอดกับความล้มเหลวของงานได้ตราบเท่าที่มีการเว้นระยะห่างอย่างเพียงพออย่างไรก็ตามมูลค่าของความสำเร็จของงานจะลดลงเหลือศูนย์หรือเป็นไปไม่ได้

ตัวอย่าง:

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

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


ซอฟต์เรียลไทม์

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

ตัวอย่าง:

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

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


Siewert:ระบบและส่วนประกอบแบบฝังตัวแบบเรียลไทม์
Liu & Layland:อัลกอริทึมการจัดตารางเวลาสำหรับการเขียนโปรแกรมหลายโปรแกรมในสภาพแวดล้อมแบบ Hard Real-Time
Marchand & Silly-Chetto:การจัดตารางเวลาแบบไดนามิกของงาน Aperiodic แบบไดนามิกและงานเป็นระยะด้วยการข้าม


10
รายการตัวอย่างที่น่าเพลิดเพลิน!
Erik Kaplun

หนึ่งในตัวอย่างที่ดีที่สุด
Vishnu NK

ในกรณีของการชน 447 ไม่มีกำหนดเวลาหลายครั้งก่อนที่เครื่องบินจะหยุด? ดูเหมือนว่าระบบทั้งหมดจะมั่นคงในแง่นั้น
Josiah Yoder

3
รายการที่ดีมากอย่างไรก็ตามตัวอย่างเครื่องพิมพ์อิงค์เจ็ทไม่มีคุณสมบัติสำหรับฮาร์ดเรียลไทม์ที่ดีที่สุดคือมั่นคงและส่วนใหญ่อาจจะนุ่ม
Ab Irato

tysm สำหรับตัวอย่าง
himanshuxd

43

หลังจากอ่านหน้า Wikipedia และหน้าอื่น ๆ เกี่ยวกับการประมวลผลแบบเรียลไทม์ ฉันทำการอนุมานต่อไปนี้:

1> สำหรับระบบฮาร์ดเรียลไทม์หากระบบล้มเหลวในการดำเนินการตามกำหนดเวลาแม้จะถือว่าระบบล้มเหลว

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

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

นี่คือลิงค์ไปยังแหล่งข้อมูลที่มีประโยชน์มาก


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

12

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

หนักแน่นและนุ่มนวลก็ล้มเหลวที่จะถูกประกาศโดยอัตโนมัติเมื่อไม่ผ่านตามกำหนดเวลาเดียว

สำหรับตัวอย่างที่ยุติธรรมของฮาร์ดเรียลไทม์จากหน้าที่คุณเชื่อมโยง:

ระบบวิดีโอเกมในยุคแรก ๆ เช่น Atari 2600 และกราฟิกเวกเตอร์ Cinematronics มีข้อกำหนดแบบเรียลไทม์อย่างหนักเนื่องจากลักษณะของกราฟิกและฮาร์ดแวร์จับเวลา

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

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

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


4
If nobody sees you break the rules (or if they did but they die the fire before telling anyone), and nobody can prove that you broke the rules after the fact, then it's kind of the same as if you never broke the rules!... ตกลง HAL ตอนนี้คุณช่วยเปิดประตูช่องใส่ฝักได้ไหม
ขั้นพื้นฐาน

11

วิธีที่ง่ายที่สุดในการแยกความแตกต่างระหว่างระบบเรียลไทม์ประเภทต่างๆคือการตอบคำถาม:

การตอบสนองของระบบล่าช้า (หลังกำหนดเวลา) ยังมีประโยชน์หรือไม่?

ดังนั้นขึ้นอยู่กับคำตอบที่คุณได้รับสำหรับคำถามนี้ระบบของคุณอาจรวมเป็นหนึ่งในหมวดหมู่ต่อไปนี้:

  1. ยาก : ไม่และคำตอบล่าช้าถือว่าระบบล้มเหลว

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

  1. บริษัท : ไม่ แต่คำตอบที่ล่าช้าไม่จำเป็นเพราะระบบล้มเหลว

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

  1. นุ่ม : ใช่ แต่บริการของระบบลดลง

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


6

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

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

ในระบบฮาร์ดเรียลไทม์หากได้รับผลลัพธ์หลังจากกำหนดเวลาระบบจะถือว่าล้มเหลวโดยสิ้นเชิง

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

ในระบบเรียลไทม์ที่มั่นคงหากผลลัพธ์ของการดำเนินการกระบวนการเกิดขึ้นหลังจากกำหนดเวลาเราจะทิ้งผลลัพธ์นั้น แต่ระบบจะไม่ถูกเรียกว่าล้มเหลว

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


ตัวอย่างเบราว์เซอร์ไม่ถูกต้อง เวลาไม่ใช่ทรัพยากรในเว็บเบราว์เซอร์นี่ไม่ใช่ระบบเรียลไทม์ แต่อย่างใด
Bart Friederichs

6

ในการกำหนด "ซอฟต์เรียลไทม์" ให้เปรียบเทียบกับ "ฮาร์ดเรียลไทม์" ได้ง่ายที่สุด ด้านล่างเราจะเห็นว่าคำว่า "เรียลไทม์ที่แท้จริง" ถือเป็นการเข้าใจผิดเกี่ยวกับ "ซอฟต์เรียลไทม์"

การพูดแบบสบาย ๆ คนส่วนใหญ่มักมีแบบจำลองทางจิตที่ไม่เป็นทางการซึ่งพิจารณาข้อมูลหรือเหตุการณ์ว่าเป็น "เรียลไทม์"

•ถ้าหรือในขอบเขตที่แสดงให้พวกเขาเห็นด้วยความล่าช้า (เวลาแฝง) ที่อาจเกี่ยวข้องกับสกุลเงินที่รับรู้

•กล่าวคือในกรอบเวลาที่ข้อมูลหรือเหตุการณ์มีคุณค่าที่น่าพอใจสำหรับพวกเขา

มีคำจำกัดความเฉพาะกิจที่แตกต่างกันมากมายของ "ฮาร์ดเรียลไทม์" แต่ในแบบจำลองทางจิตนั้นฮาร์ดเรียลไทม์จะแสดงด้วยคำว่า "if" โดยเฉพาะสมมติว่าการดำเนินการแบบเรียลไทม์ (เช่นงาน) มีกำหนดเวลาเสร็จสมบูรณ์มูลค่าที่น่าพอใจที่ยอมรับได้ของเหตุการณ์ที่งานทั้งหมดเสร็จสมบูรณ์นั้น จำกัด เฉพาะกรณีพิเศษที่งานทั้งหมดตรงตามกำหนดเวลา

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

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

  • ไม่เกิน 10% ของงานที่พลาดกำหนดเวลา
  • หรือไม่มีงานใดที่ล่าช้าเกิน 20%
  • หรือความล่าช้าโดยเฉลี่ยของงานทั้งหมดไม่เกิน 15%
  • หรือความล่าช้าสูงสุดในงานทั้งหมดน้อยกว่า 10%

ทั้งหมดนี้เป็นตัวอย่างทั่วไปของเคสแบบเรียลไทม์ที่นุ่มนวลในแอปพลิเคชันมากมาย

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

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

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

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

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

มีสเปกตรัมของความสามารถในการคาดเดา การกำหนด (ดีเทอร์มินิซึม) คือจุดสิ้นสุดจุดหนึ่ง (ความสามารถในการคาดเดาสูงสุด) บนสเปกตรัมการทำนาย จุดสิ้นสุดอื่น ๆ คือความสามารถในการคาดเดาขั้นต่ำ (ความไม่กำหนดสูงสุด) เมตริกและจุดสิ้นสุดของสเปกตรัมจะต้องถูกตีความในรูปแบบการคาดการณ์ที่เลือกไว้ ทุกอย่างระหว่างจุดสิ้นสุดทั้งสองนี้คือองศาของความไม่สามารถคาดเดาได้ (= องศาของการไม่กำหนดปัจจัย)

ระบบเรียลไทม์ส่วนใหญ่ (กล่าวคือระบบอ่อน) มีความสามารถในการคาดการณ์ที่ไม่สามารถกำหนดได้ตัวอย่างเช่นเวลาที่งานเสร็จสมบูรณ์และด้วยเหตุนี้ค่าที่ได้รับจากเหตุการณ์เหล่านั้น

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

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

อ้างถึงรายการเหตุการณ์ข้างต้นที่ให้ค่าที่ยอมรับได้ตอนนี้เราสามารถเพิ่มกรณีที่ไม่ได้กำหนดได้เช่น

  • ความเป็นไปได้ที่จะไม่มีงานใดที่จะพลาดกำหนดเวลามากกว่า 5% นั้นมากกว่า 0.87 (สังเกตจำนวนเกณฑ์การจัดตารางเวลาที่แสดงในนั้น)

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

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

  • บ่นว่านี่ไม่ใช่ปัญหาการประมวลผลแบบเรียลไทม์เนื่องจากเป็นแบบไดนามิกแทนที่จะเป็นแบบคงที่และไม่ใช้แนวคิดและเทคนิคเรียลไทม์แบบดั้งเดิมและฟังดูยากกว่าเรียลไทม์แบบคงที่ดังนั้นคุณจึงไม่สนใจ .

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

เพื่อตอบคำถาม OP โดยตรง:

ระบบเรียลไทม์ที่ยากสามารถให้การรับประกันที่กำหนดได้โดยทั่วไปแล้วงานทั้งหมดจะตรงตามกำหนดเวลาการขัดจังหวะหรือเวลาในการตอบสนองการโทรของระบบจะน้อยกว่า x เป็นต้นเสมอ - ถ้ามีและเฉพาะในกรณีที่มีการตั้งสมมติฐานที่รัดกุมมากและถูกต้องว่า ทุกสิ่งที่มีความสำคัญเป็นแบบคงที่และเป็นที่รู้จักกันดี (โดยทั่วไปแล้วการรับประกันดังกล่าวสำหรับระบบเรียลไทม์ที่ยากเป็นปัญหาการวิจัยแบบเปิดยกเว้นกรณีที่ค่อนข้างง่าย)

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

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

"Firm real-time" เป็นกรณีพิเศษของ "soft real-time" ไม่จำเป็นต้องใช้คำนี้หากเข้าใจและใช้คำว่า "ซอฟต์เรียลไทม์" อย่างเหมาะสม

ฉันมีรายละเอียดเพิ่มเติมเกี่ยวกับการสนทนาแบบเรียลไทม์แบบเรียลไทม์แบบเรียลไทม์แบบเรียลไทม์แบบเรียลไทม์การคาดเดาการกำหนดปัจจัยและหัวข้อที่เกี่ยวข้องอย่างละเอียดมากขึ้นในเว็บไซต์ real-time.org ของฉัน


“ การปฏิวัติครั้งแรกคือเมื่อคุณเปลี่ยนความคิดเกี่ยวกับวิธีการมองสิ่งต่างๆและเห็นว่าอาจมีวิธีอื่นในการมองดูสิ่งนั้นที่คุณยังไม่ได้แสดง” --Gil Scott-Heron "การปฏิวัติจะไม่ถูกถ่ายทอดสดทางโทรทัศน์"
E. Douglas Jensen

2

เรียลไทม์ - เกี่ยวข้องกับระบบหรือโหมดการทำงานที่มีการคำนวณในช่วงเวลาจริงที่กระบวนการภายนอกเกิดขึ้นเพื่อให้สามารถใช้ผลการคำนวณเพื่อควบคุมตรวจสอบหรือตอบสนองต่อกระบวนการภายนอกได้อย่างทันท่วงที ลักษณะ. [มาตรฐาน IEEE 610.12.1990]

ฉันรู้ว่าคำจำกัดความนี้เก่าแก่มาก อย่างไรก็ตามฉันไม่สามารถหาคำจำกัดความล่าสุดของ IEEE (Institute of Electrical and Electronics Engineers) ได้


2
จริงๆแล้วปี 1990 ไม่เก่าเลย ฉันมีการสนทนานี้ในยุค 70 และคำจำกัดความก็ใกล้เคียงกัน
Hot Licks

2

พิจารณางานที่ป้อนข้อมูลจากพอร์ตอนุกรม เมื่อข้อมูลใหม่มาถึงพอร์ตอนุกรมจะทำให้เกิดเหตุการณ์ เมื่อบริการซอฟต์แวร์เกิดเหตุการณ์นั้นซอฟต์แวร์จะอ่านและประมวลผลข้อมูลใหม่ พอร์ตอนุกรมมีฮาร์ดแวร์สำหรับจัดเก็บข้อมูลขาเข้า (2 บน MSP432, 16 บน TM4C123) ซึ่งหากบัฟเฟอร์เต็มและมีข้อมูลมากขึ้นข้อมูลใหม่จะหายไป ระบบนี้แข็งแน่นหรืออ่อนจริงหรือไม่?

เป็นเวลาจริงที่ยากเนื่องจากหากการตอบกลับล่าช้าข้อมูลอาจสูญหายได้


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

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


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

เป็นแบบเรียลไทม์ที่นุ่มนวลเพราะยิ่งตอบสนองเร็วเท่าไหร่ก็ยิ่งดี แต่คุณค่าของระบบ (แบนด์วิดท์คือจำนวนข้อมูลที่พิมพ์ต่อวินาที) ลดลงตามเวลาแฝง

UTAustinX: UT.RTBN.12.01x Realtime Bluetooth Networks


1

บางทีคำจำกัดความอาจผิดพลาด

จากประสบการณ์ของฉันฉันจะแยกทั้งสองอย่างว่าขึ้นอยู่กับฮาร์ดแวร์และซอฟต์แวร์

หากคุณมีเวลา 200 มิลลิวินาทีในการให้บริการการขัดจังหวะด้วยฮาร์ดแวร์นั่นคือสิ่งที่คุณมี คุณติดโค้ด 300ms ไว้ตรงนั้นและระบบไม่เสียมันยังไม่ได้รับการพัฒนา คุณจะถูกเปลี่ยนออกก่อนที่จะเสร็จสิ้น รหัสของคุณไม่ทำงานหรือไม่เหมาะกับวัตถุประสงค์ หลายระบบมีระยะเวลาการประมวลผลที่กำหนดไว้อย่างชัดเจน วิดีโอโทรคมนาคม ฯลฯ

หากคุณกำลังเขียนใบสมัครที่เวลาจริงนี้อาจได้รับการพิจารณานุ่ม หากคุณหมดเวลาหวังว่าจะโหลดน้อยลงในครั้งต่อไปคุณสามารถปรับแต่งระบบปฏิบัติการเพิ่มหน่วยความจำหรือแม้แต่อัปเกรดฮาร์ดแวร์ได้ คุณมีทางเลือก

การมองจากมุมมอง UX นั้นไม่เป็นประโยชน์ Skoda อาจไม่พังถ้ามันผิดพลาด แต่ BMW มั่นใจว่าจะเป็นนรก


คุณมีอะไรกับŠkodas!
Erik Kaplun

1

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

ไม่ได้หมายความว่าเวลาไม่น่าสนใจในระบบที่ไม่ใช่แบบเรียลไทม์ แต่หมายความว่าความต้องการเวลาในระบบดังกล่าวไม่ได้ส่งผลให้ผลลัพธ์ที่ไม่ถูกต้องโดยพื้นฐาน


1

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

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