IOMMU
একটি IOMMU ডিভাইস থেকে উদ্ভূত মেমরি অ্যাক্সেস অনুবাদ এবং সীমাবদ্ধ করে। এর সুরক্ষা ও পাসথ্রু আচরণ প্ল্যাটফর্ম টপোলজি, ফার্মওয়্যার, OS এবং ড্রাইভার কনফিগারেশনের ওপর নির্ভর করে।
আপনার যা জানা প্রয়োজন
একটি IOMMU ডিভাইস থেকে উদ্ভূত মেমরি অ্যাক্সেস অনুবাদ এবং সীমাবদ্ধ করে। এর সুরক্ষা ও পাসথ্রু আচরণ প্ল্যাটফর্ম টপোলজি, ফার্মওয়্যার, OS এবং ড্রাইভার কনফিগারেশনের ওপর নির্ভর করে।
এটি যেভাবে কাজ করে
একটি ডিভাইস I/O ট্রান্সলেশন ইউনিট দ্বারা ব্যাখ্যা করা অ্যাড্রেস ব্যবহার করে DMA লেনদেন সম্পন্ন করে। OS বা হাইপারভাইজর এমন ডোমেন এবং ম্যাপিং কনফিগার করে যা ওই অনুরোধগুলোকে অনুমোদিত সিস্টেম মেমরির সাথে যুক্ত করে। ডিভাইসের পরিচয়, যৌথ অনুবাদ সীমানা এবং ইন্টারাপ্ট হ্যান্ডলিং বাস্তব আইসোলেশনকে প্রভাবিত করে।
যেখানে এটি কার্যকর
একটি VM তার IOMMU আইসোলেশন গ্রুপ প্রয়োগ করে এমন একটি কাঠামোর মাধ্যমে সমর্থিত ডিভাইস গ্রহণ করতে পারে। যেসব ডিভাইস একটি গ্রুপ শেয়ার করে সেগুলোকে একসাথে অ্যাসাইন করার প্রয়োজন হতে পারে, কারণ প্ল্যাটফর্মটি কাঙ্ক্ষিত সীমানায় স্বাধীন আইসোলেশন প্রতিষ্ঠা করতে পারে না।
সাপোর্ট এবং সক্ষমতা কীভাবে পরীক্ষা করবেন
প্ল্যাটফর্মের IOMMU বিবরণ এবং OS/হাইপারভাইজরের সক্রিয় অবস্থা, গ্রুপ ও ডিভাইস-অ্যাসাইনমেন্টের প্রয়োজনীয়তাগুলো পরীক্ষা করুন। Intel-এ VT-d পরীক্ষা করুন; AMD-তে নথিবদ্ধ AMD I/O ভার্চুয়ালাইজেশন সুবিধা ব্যবহার করুন। নির্দিষ্ট ডিভাইসের রিসেট এবং ড্রাইভার আচরণ যাচাই করুন।
একটি ভার্চুয়ালাইজড স্থাপনার বেশ কয়েকটি স্তর রয়েছে: শারীরিক ক্ষমতা, ফার্মওয়্যার অনুমতি, সক্রিয় হোস্ট হাইপারভাইজার, উন্মুক্ত গেস্ট ক্ষমতা এবং গেস্ট OS সমর্থন। যে স্তরে অপারেশনটি প্রকৃতপক্ষে চলে তা পরীক্ষা করুন, প্রাসঙ্গিক হলে নেস্টেড ভার্চুয়ালাইজেশন সহ।
এই বৈশিষ্ট্যটি যা নিশ্চিত করে না
একটি IOMMU ফ্ল্যাগ প্রতিটি পেরিফেরাল স্বাধীনভাবে আইসোলেটেড কিনা অথবা সুরক্ষা সক্রিয় আছে কিনা তা প্রমাণ করে না। শুধুমাত্র CPU পেজ-টেবিল সুরক্ষা সমস্ত ডিভাইস DMA নিয়ন্ত্রণ করতে পারে না। অসমর্থিত টপোলজি ওভাররাইড আইসোলেশনকে দুর্বল করতে পারে এবং এটি কোনো নিয়মিত সামঞ্জস্য সমাধান নয়।
বাস্তবে সামঞ্জস্য এবং কর্মক্ষমতা
CPU এক্সিকিউশন, গেস্ট মেমরি ট্রান্সলেশন এবং ডিভাইস DMA রিম্যাপিং আলাদা সুবিধা। একটি ভার্চুয়ালাইজেশন ক্ষেত্র থেকে পাসথ্রু বা বিচ্ছিন্নতা অনুমান করবেন না। হাইপারভাইজারের সমর্থিত ডায়াগনস্টিকস এবং সঠিক প্ল্যাটফর্ম/ডিভাইসের প্রয়োজনীয়তা ব্যবহার করুন।
একটি ব্যবহারিক যাচাইকরণ চেকলিস্ট
- সংশ্লিষ্ট সুনির্দিষ্ট প্রসেসর বা প্ল্যাটফর্ম মডেল এবং অ্যাপ্লিকেশন, OS ও রানটাইম সংস্করণগুলি রেকর্ড করুন। প্রকৃত ত্রুটি বা প্রয়োজনীয়তার সঠিক শব্দচয়ন সংরক্ষণ করুন।
- সেই নির্দিষ্ট মডেলের জন্য প্রস্তুতকারকের রেফারেন্স পরীক্ষা করুন, তারপর প্রোগ্রামটি যে পরিবেশে চলে সেখানে কার্যকর সক্ষমতা এবং সক্রিয় অবস্থা পর্যবেক্ষণ করুন।
- নির্বাচিত বাইনারি বা ব্যাকএন্ডের প্রতিটি প্রয়োজনীয়তা তুলনা করুন। একই নামের কোনো বৈশিষ্ট্য, উপনাম বা বিস্তৃত প্রযুক্তির লেবেলই যথেষ্ট নয়।
- অ্যাপ্লিকেশনটি কাঙ্ক্ষিত বাস্তবায়ন নির্বাচন করেছে কিনা তা নিশ্চিত করুন। প্রয়োজনীয়তা পূরণ না হলে এর নথিভুক্ত ডায়াগনস্টিকস এবং একটি সমর্থিত ফলব্যাক ব্যবহার করুন।
- একবারে একটি সমর্থিত পরিবর্তন করুন এবং একই কাজের চাপ পুনরাবৃত্তি করুন। মূল কনফিগারেশন এবং পুনরুদ্ধারের পথ উপলব্ধ রাখুন।
যদি বৈশিষ্ট্যটি তালিকাভুক্ত থাকে কিন্তু সফটওয়্যার এটি ব্যবহার করতে না পারে
নির্দিষ্ট ব্যর্থ উপাদানটি দিয়ে শুরু করুন। একটি হার্ডওয়্যার ডাটাবেস সংরক্ষিত সক্ষমতা বর্ণনা করে; অপারেটিং সিস্টেম বা হাইপারভাইজর একটি ভিন্ন কার্যকর পরিবেশ প্রকাশ করতে পারে। একটি অবৈধ-নির্দেশনা (illegal-instruction) ত্রুটির ক্ষেত্রেও প্রকৃত ত্রুটিপূর্ণ নির্দেশনা এবং বাইনারি বিল্ড তদন্ত করা প্রয়োজন, কারণ ডেটা ক্ষতি বা সম্পর্কহীন কোনো অসমর্থিত নির্দেশনাও একই রকম লক্ষণ তৈরি করতে পারে।
নির্দিষ্ট প্ল্যাটফর্মের জন্য সমর্থিত অ্যাপ্লিকেশন, ড্রাইভার বা রানটাইম সংস্করণ ইনস্টল করুন এবং প্রয়োজনে ভেন্ডরের নথিভুক্ত বেসলাইন বা ফলব্যাক বিল্ড ব্যবহার করুন। একটি সফটওয়্যার আপডেট এমন কোনো নির্দেশনা তৈরি করতে পারে না যা প্রসেসরে নেই। ফার্মওয়্যার এবং নিরাপত্তা-নীতি পরিবর্তনগুলি একটি সাধারণ অপ্টিমাইজেশন রেসিপির পরিবর্তে সিস্টেম প্রস্তুতকারকের পদ্ধতি এবং একটি পুনরুদ্ধার পরিকল্পনা অনুসরণ করা উচিত।
এই ব্যাখ্যার উৎস এবং পরিধি
Intel Virtualization Technology for Directed I/O Architecture Specification · Linux kernel: VFIO device access and IOMMU groups
এই রেফারেন্সগুলি আর্কিটেকচারাল আচরণ এবং সফটওয়্যার প্রয়োজনীয়তা স্থাপন করে। এগুলি একটি লিঙ্কযুক্ত হার্ডওয়্যার মডেল পৃষ্ঠার প্রতিটি বৈশিষ্ট্যের মান স্বাধীনভাবে যাচাই করে না। মডেল সাপোর্টের জন্য, সেই পৃষ্ঠার প্রস্তুতকারকের প্রমাণ ব্যবহার করুন এবং কার্যকর সিস্টেম কনফিগারেশন পরীক্ষা করুন। এই নিবন্ধটি কোনো বেঞ্চমার্ক, সার্টিফিকেশন বা স্বাধীন পর্যালোচনার তারিখ সরবরাহ করে না।
উৎস এবং যাচাইকরণ
সম্পাদকীয় মালিকানা: Feex। কোনো স্বাধীন পর্যালোচনার তারিখ রেকর্ড করা নেই। আমরা কীভাবে গবেষণা করি.
- Intel Virtualization Technology for Directed I/O Architecture Specification · DMA-রিম্যাপিং আর্কিটেকচার, ট্রান্সলেশন ডোমেন, ইন্টারাপ্ট রিম্যাপিং এবং ফার্মওয়্যার রিপোর্টিং কাঠামো। প্ল্যাটফর্ম সমর্থন আলাদাভাবে নিশ্চিত করতে হবে।
- Linux kernel: VFIO device access and IOMMU groups · পাসথ্রু সম্পর্কিত আইসোলেশন গ্রুপ, ডিভাইসের মালিকানা এবং সীমাবদ্ধতা ব্যাখ্যা করে। এটি নির্দিষ্ট কোনো মাদারবোর্ডের সামঞ্জস্যের তালিকা নয়।
এই নিবন্ধটি কি দরকারী ছিল?
একটি হ্যাঁ বা না-ই যথেষ্ট। আপনি চাইলে একটি কারণ বেছে নিন, বা একটি ছোট মন্তব্য যোগ করুন।
ধন্যবাদ। এটি আমাদের এই পৃষ্ঠাটি উন্নত করতে সহায়তা করে।