क्या एचडीएफ 5 को अलग-अलग अजगर प्रक्रियाओं द्वारा एक साथ लिखने और पढ़ने के लिए मज़बूती से लिखा जा सकता है?


9

मैं समय के साथ एक एकल HDF5 फ़ाइल में लाइव डेटा रिकॉर्ड करने के लिए एक स्क्रिप्ट लिख रहा हूं जिसमें इस परियोजना के लिए मेरा संपूर्ण डेटासेट शामिल है। मैं अजगर 3.6 के साथ काम कर रहा हूं और clickडेटा इकट्ठा करने के लिए कमांड लाइन टूल बनाने का फैसला किया है ।

मेरी चिंता यह है कि अगर डेटा एकत्रित करने वाली स्क्रिप्ट HDF5 फ़ाइल को लिख रही है और अभी तक होने वाली एमएल एप्लिकेशन उसी फ़ाइल से डेटा पढ़ने की कोशिश करती है तो क्या होगा?

मैंने HDF5 के समानांतर I / O के बारे में HDF समूह के दस्तावेज पर एक नज़र डाली , लेकिन यह वास्तव में मेरे लिए स्पष्ट चीजें नहीं थी।

जवाबों:


10

HDF5 समानांतर I / O इस समस्या को हल नहीं करेगा। यह तकनीक मुख्य रूप से प्रदर्शन के लिए है, टक्कर टालने के लिए नहीं।

आप जो चाहते हैं उसे SWMR (एकल-लेखक / बहु-पाठक) के रूप में जाना जाता है :

डेटा अधिग्रहण और कंप्यूटर मॉडलिंग सिस्टम को अक्सर डेटा का विश्लेषण और कल्पना करने की आवश्यकता होती है, जबकि यह लिखा जा रहा है। यह असामान्य नहीं है, उदाहरण के लिए, एक रन के बीच में परिणाम उत्पन्न करने के लिए एक आवेदन के लिए जो कुछ बुनियादी मापदंडों को बदलने का सुझाव देता है, सेंसर समायोजित किए जाते हैं, या रन को पूरी तरह से स्क्रैप किया जाता है।

उपयोगकर्ताओं को ऐसी प्रणालियों पर जाँच करने के लिए सक्षम करने के लिए, हम एक समवर्ती रीड / राइट फ़ाइल एक्सेस पैटर्न विकसित कर रहे हैं जिसे हम SWMR (स्पष्ट तैराक) कहते हैं। SWMR सिंगल-राइटर / मल्टीपल-रीडर के लिए छोटा है। SWMR कार्यक्षमता एक लेखक प्रक्रिया को फ़ाइल में डेटा जोड़ने की अनुमति देती है जबकि कई पाठक प्रक्रिया फ़ाइल से पढ़ती है।

SWMR को पहली बार 2016-03-30 को जारी HDF5 संस्करण 1.10.0 में शामिल किया गया था

HDF5 फ़ाइलों के समवर्ती प्रवेश - एकल लेखक / बहु पाठक (SWMR)

सिंगल राइटर / मल्टीपल रीडर या एसडब्ल्यूएमआर फीचर उपयोगकर्ताओं को इसे लिखते समय समवर्ती रूप से डेटा पढ़ने में सक्षम बनाता है। प्रक्रियाओं और फ़ाइल लॉकिंग के बीच संचार की आवश्यकता नहीं है। जब तक वे एक सामान्य फ़ाइल सिस्टम साझा करते हैं जो POSIX अनुरूप है, तो प्रक्रिया एक ही या अलग-अलग प्लेटफार्मों पर चल सकती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.