HDF5 có thể được ghi và đọc một cách đáng tin cậy đồng thời bởi các quá trình python riêng biệt không?


9

Tôi đang viết một tập lệnh để ghi dữ liệu trực tiếp theo thời gian vào một tệp HDF5 bao gồm toàn bộ tập dữ liệu của tôi cho dự án này. Tôi đang làm việc với Python 3.6 và quyết định tạo một công cụ dòng lệnh bằng cách sử dụng clickđể thu thập dữ liệu.

Mối quan tâm của tôi là điều gì sẽ xảy ra nếu tập lệnh thu thập dữ liệu đang ghi vào tệp HDF5 và ứng dụng ML sắp được cố gắng đọc dữ liệu từ cùng một tệp?

Tôi đã xem tài liệu của Nhóm HDF về I / O song song HDF5 , nhưng điều đó không thực sự rõ ràng với tôi.

Câu trả lời:


10

HDF5 I / O song song sẽ không giải quyết được vấn đề này. Công nghệ đó chủ yếu dành cho hiệu suất, không phải để tránh va chạm.

Những gì bạn muốn được biết là SWMR (một người viết / nhiều người đọc) :

Hệ thống thu thập dữ liệu và mô hình máy tính thường cần phân tích và trực quan hóa dữ liệu trong khi nó được viết. Chẳng có gì lạ, chẳng hạn, một ứng dụng tạo ra kết quả ở giữa một lần chạy gợi ý một số thông số cơ bản được thay đổi, các cảm biến được điều chỉnh hoặc chạy hoàn toàn bị loại bỏ.

Để cho phép người dùng kiểm tra các hệ thống như vậy, chúng tôi đã phát triển một mẫu truy cập tệp đọc / ghi đồng thời, chúng tôi gọi là SWMR (phát âm là người bơi). SWMR là viết tắt của một người viết đơn / nhiều người đọc. Chức năng SWMR cho phép một quá trình nhà văn thêm dữ liệu vào một tệp trong khi nhiều người đọc xử lý đọc từ tệp.

SWMR lần đầu tiên được bao gồm trong phiên bản HDF5 1.10.0 được phát hành vào ngày 2016-05-30

Truy cập đồng thời vào các tệp HDF5 - Trình ghi đơn / Trình đọc nhiều trang (SWMR)

Tính năng Single Writer / Many Reader hoặc SWMR cho phép người dùng đọc dữ liệu đồng thời trong khi viết nó. Giao tiếp giữa các quy trình và khóa tập tin là không cần thiết. Các quy trình có thể chạy trên cùng hoặc trên các nền tảng khác nhau miễn là chúng chia sẻ một hệ thống tệp chung tuân thủ POSIX.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.