আমি এমন একটি প্রকল্পে কাজ করছি যা বিতরণকৃত সিমুলেশনগুলি কার্যকর করে: একাধিক নোডে স্বেচ্ছাসেবক কোড কার্যকর করা হয় এবং ফলাফলগুলি পরে সংগ্রহ এবং সংহত হয়।
প্রতিটি নোড একটি উবুন্টু লিনাক্স ভার্চুয়াল মেশিনের উদাহরণ এবং এটি একটি মাস্টার প্রক্রিয়া চালায় যা কোডটি ফরওয়ার্ড করার জন্য বেশ কয়েকটি কর্মী প্রসেসের (প্রতিটি কোরের জন্য 1) এক্সিকিউট করার ব্যবস্থা গ্রহণ করে।
এই প্রশ্নটি কীভাবে নিশ্চিত করা যায় যে প্রতিটি কর্মী তাদের প্রত্যেকের জন্য ভার্চুয়াল মেশিন উদাহরণ ব্যবহার না করে স্যান্ডবক্সযুক্ত পরিবেশে কাজ করে। শ্রমিকদের জন্য সঠিক প্রয়োজনীয়তাগুলি হ'ল:
- fs : কোনও লেখার অনুমতি নেই, কেবলমাত্র একক ডিরেক্টরিতে (এবং উপ-ফোল্ডারগুলি) সীমাবদ্ধ কেবল পঠনের অনুমতি নেই
- নেট : কেবল স্থানীয় যোগাযোগের অনুমতি রয়েছে (আইপিসি, টিসিপি, যাই হোক না কেন ...)
- মেমো : মেমরির ব্যবহারের উপর ক্যাপ করুন (কোনও সোয়াপ মেমরি নেই) মেমো সীমা ছাড়িয়ে গেলে কিল করুন
- সিপিইউ : মাত্র 1 টি মঞ্জুরিপ্রাপ্ত, সময় সীমা ছাড়িয়ে গেলে হত্যা করুন
অন্য কোনও সীমাবদ্ধতা আরোপ করা উচিত নয়: শ্রমিককে ডায়নামিক লাইব্রেরিগুলি (কেবল পঠনযোগ্য ফোল্ডার থেকে) লোড করতে, নতুন থ্রেড বা প্রক্রিয়াগুলি স্প্যান করতে, কল সিস্টেম ফাংশন, ইসি ই সি সি লাগাতে হবে তবে সীমাটি অবশ্যই স্পাড / লোড থাকা সত্তা দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হতে হবে এবং মোটামুটিভাবে প্রয়োগ করা উচিত (উদাহরণস্বরূপ আমরা কোনও শ্রমিকের দুটি থ্রেড রাখতে পারি না যা 800 এমবি ব্যবহার করে এমন প্রতিটি কর্মীর জন্য মেমরির সীমা 1 গিগাবাইট)।
শ্রমিকের অধিকার বাড়াতে কোনও উপায় থাকার কথা না বলে এটি যায় না।
আমার প্রয়োজনীয়তাগুলি পূরণ করে এমন সহজ সমাধানের জন্য উপলভ্য বিকল্পগুলি (সেলইনাক্স, অ্যাপআর্মার, সিগ্রুপস, উলিমিট, লিনাক্স নেমস্পেসস, এলএক্সসি, ডকার, ...) পর্যালোচনা করার জন্য আমি যথেষ্ট সময় ব্যয় করেছি তবে এই ক্ষেত্রে আমার অভিজ্ঞতা সীমাবদ্ধ।
বর্তমান বোঝাপড়া: এলএক্সসি এবং ডকার আমার ব্যবহারের ক্ষেত্রে ভারী দিক থেকে কিছুটা এবং পুরোপুরি সুরক্ষিত নয় 1 । অ্যাপলআমার সহজ কনফিগারেশনের কারণে সেলইনাক্সের চেয়ে পছন্দসই, এফএস এবং নেট বিধিনিষেধের জন্য এটি ব্যবহার করুন; সিগ্রুপগুলি ইউলিমিটের চেয়ে ভাল (যা একক প্রক্রিয়াতে পরিচালিত হয়), এটি মেম এবং সিপিইউ বিধিনিষেধের জন্য ব্যবহার করে।
এটি কি আমার লক্ষ্য অর্জনের সবচেয়ে সহজ উপায়? আমি কি একচেটিয়াভাবে অ্যাপআর্মার বা সিগ্রুপ ব্যবহার করতে পারি? আমার মডেলটিতে কিছু স্পষ্ট সুরক্ষা গর্ত আছে? গাইডলাইনটি "কর্মীকে নিজে নামিয়ে আনার অনুমতি দেওয়া উচিত তবে অন্য কিছুই নয়" ।