আমার গবেষণা গ্রুপটি আণবিক গতিবিদ্যায় ফোকাস করেছে, যা স্পষ্টতই একক ট্র্যাজিকোলজির অংশ হিসাবে গিগা বাইটের ডেটা তৈরি করতে পারে যা অবশ্যই বিশ্লেষণ করা উচিত।
আমরা যে সমস্যাগুলির সাথে উদ্বিগ্ন হয়েছি সেগুলির মধ্যে অনেকগুলি ডেটা সেটের সাথে সম্পর্কিত হতে পারে যার অর্থ আমাদের আরও বেশি ক্রমিক পদ্ধতি ব্যবহার না করে মেমরির প্রচুর পরিমাণে ডেটা ট্র্যাক করা এবং সেগুলি বিশ্লেষণ করা দরকার।
আমি যা জানতে চাই তা হ'ল বড় ডেটা সেটগুলির স্ক্রিপ্টগুলিতে আই / ও পরিচালনা করার জন্য সবচেয়ে কার্যকর কৌশলগুলি কী। আমরা সাধারণত পাইথন-ভিত্তিক স্ক্রিপ্টগুলি ব্যবহার করি কারণ এটি ফাইল I / O কে কোডিং সি বা ফোর্টরানের তুলনায় অনেক কম বেদনাদায়ক করে তোলে, তবে যখন আমাদের দশক বা কয়েক মিলিয়ন লাইন প্রসেস করা দরকার তখন এটি এতটা পরিষ্কার হয় না যে সেরা পন্থাটি কী is । কোডের ফাইলের ইনপুট অংশটি সিতে করা উচিত, না অন্য কৌশলটি আরও কার্যকর? (সহজেই পুরো অ্যারেটিকে স্মৃতিতে প্রিলোডিং করা "খণ্ডগুলি" (মেগাবাইটের ক্রম) এর ধারাবাহিক পাঠের ধারাবাহিকের চেয়ে ভাল হবে?
কিছু অতিরিক্ত নোট:
আমরা প্রাথমিকভাবে "অন-লাইন" সরঞ্জামগুলির চেয়ে পোস্ট-প্রসেসিংয়ের জন্য স্ক্রিপ্টিং সরঞ্জামগুলির সন্ধান করছি — তাই পাইথনের ব্যবহার।
উপরে বর্ণিত হিসাবে, আমরা এমডি সিমুলেশন করছি doing আগ্রহের একটি বিষয় হ'ল বিবর্তনের গণনা, যার জন্য আমাদের আইনস্টাইন বিস্তারের সহগ অর্জন করতে হবে: এই উপায়ে (রেকর্ড আমরা সত্যিই হিসাব সব ডেটার অংশ আরম্ভ করার পূর্বে মেমরিতে সমস্ত ডেটা লোড করার প্রয়োজন স্বতন্ত্র সময়) একে অপরের সাথে যোগাযোগ করবে।
mmap
আপনার প্রধান কোডের মতো কিছু প্রয়োগের আগে আপনি মাপছেন এবং পরীক্ষা করেছেন তা নিশ্চিত করুন । অনেক আধুনিক অপারেটিং সিস্টেমগুলিread
কম জটিলতার সাথে নিয়মিত মধ্যে একই রকম কর্মক্ষমতা দেয় । (এছাড়াও, হ্যাঁ, পাইথনের এমএম্যাপ উইন্ডোজ এবং ইউনিক্স মেমরি মানচিত্রে একটি বহনযোগ্য ইন্টারফেস সরবরাহ করে)।