HDF5 สามารถเขียนและอ่านได้อย่างน่าเชื่อถือพร้อมกันด้วยกระบวนการหลามแบบแยกกันหรือไม่?


9

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

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

ฉันดูเอกสารของกลุ่ม HDF เกี่ยวกับHDF5 I / O แบบขนานแต่นั่นก็ไม่ได้ทำให้ฉันชัดเจน

คำตอบ:


10

I / O แบบขนาน HDF5 จะไม่แก้ปัญหานี้ เทคโนโลยีที่มีวัตถุประสงค์หลักสำหรับผลการดำเนินงานไม่ได้สำหรับการหลีกเลี่ยงการปะทะกัน

สิ่งที่คุณต้องการคือรู้ว่าเป็นSWMR (single-writer / multiple-reader) :

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

เพื่อให้ผู้ใช้สามารถตรวจสอบระบบดังกล่าวได้เราได้พัฒนารูปแบบการเข้าถึงไฟล์อ่าน / เขียนแบบพร้อมกันที่เราเรียกว่า SWMR (นักว่ายน้ำออกเสียง) SWMR ย่อมาจาก single-writer / multiple-reader ฟังก์ชั่น SWMR ช่วยให้กระบวนการเขียนเพื่อเพิ่มข้อมูลไปยังไฟล์ในขณะที่กระบวนการอ่านหลายกระบวนการอ่านจากไฟล์

SWMR ถูกรวมครั้งแรกในHDF5 เวอร์ชัน 1.10.0 ที่เผยแพร่ใน 2016-03-30

การเข้าถึงไฟล์ HDF5 พร้อมกัน - Single Writer / Multple Reader (SWMR)

คุณลักษณะ Single Writer / Multiple Reader หรือ SWMR ช่วยให้ผู้ใช้สามารถอ่านข้อมูลพร้อมกันในขณะที่เขียน ไม่จำเป็นต้องมีการสื่อสารระหว่างกระบวนการและการล็อกไฟล์ กระบวนการสามารถรันบนแพลตฟอร์มเดียวกันหรือบนแพลตฟอร์มที่แตกต่างกันตราบใดที่พวกเขาแชร์ระบบไฟล์ทั่วไปที่สอดคล้องกับ POSIX

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