প্রকল্প সম্পর্কে
smolvm আপনাকে হার্ডওয়্যার ভার্চুয়ালাইজেশন (macOS-এ Hypervisor.framework, Linux-এ KVM, Windows-এ Windows Hypervisor Platform) ব্যবহার করে স্থানীয়ভাবে কাস্টম লিনাক্স ভার্চুয়াল মেশিন পরিচালনা ও চালানোর সুযোগ দেয়। এটি VMM হিসেবে libkrun এবং গেস্ট কার্নেল হিসেবে libkrunfw-এর উপর ভিত্তি করে তৈরি, যেখানে প্রতিটি ওয়ার্কলোডের নিজস্ব VM এবং গেস্ট কার্নেল থাকে, যা শক্তিশালী বিচ্ছিন্নতা নিশ্চিত করে।
মূল ক্ষমতাগুলির মধ্যে রয়েছে:
- দ্রুত, ক্রস-প্ল্যাটফর্ম মাইক্রোভিএম যার ঠান্ডা শুরু 200ms-এর কম, virtio balloon-এর মাধ্যমে ইলাস্টিক মেমরি এবং হাইপারভাইজারে স্লিপিং আইডল vCPU থ্রেড।
- Smolfile: একটি TOML ডিক্লারেশন ফাইল (ডকারফাইলের মতো কিন্তু পুরো VM-এর জন্য) যা ইমেজ, রিসোর্স, নেটওয়ার্ক নীতি, মাউন্ট, পোর্ট এবং সেটআপ কমান্ড নির্দিষ্ট করে। অজানা কী তৈরি করার সময় প্রত্যাখ্যান করা হয়।
- VM ব্রাঞ্চিং: চলমান মেশিনের লাইভ কপি-অন-রাইট ফর্ক যা উৎসের প্রক্রিয়া, মেমরি এবং ডিস্ক পুনরায় শুরু করে। ফ্যান-আউট সহ ব্যাচ ব্রাঞ্চিং, ওয়ার্কার-রেডি সিগন্যালিং এবং হোল্ড পুল স্লট সমর্থন করে।
- পোর্টেবল আর্টিফ্যাক্ট: একটি বন্ধ VM একটি একক .smolmachine ফাইলে প্যাক করুন যা যেকোনো OCI রেজিস্ট্রিতে পুশ করা যায় এবং যেকোনো সমর্থিত প্ল্যাটফর্মে শূন্য নির্ভরতা সহ পুনরায় হাইড্রেট করা যায়।
- স্যান্ডবক্সিং: নেটওয়ার্ক ডিফল্টরূপে বন্ধ থাকে; ইগ্রেস নির্দিষ্ট অনুমোদিত হোস্টে লক করা যায়। হোস্ট ফাইলসিস্টেম, নেটওয়ার্ক এবং ক্রেডেনশিয়াল হাইপারভাইজার সীমানা দ্বারা পৃথক করা হয়।
- SSH এজেন্ট ফরওয়ার্ডিং: গেস্ট হোস্ট SSH কী ব্যবহার করতে পারে git এবং SSH-এর জন্য, ব্যক্তিগত কী উপাদান VM-এ কপি না করেই।
- স্থানীয় কন্টেইনার ইমেজ: docker save / podman save আর্কাইভ, stdin পাইপ বা আনপ্যাক করা rootfs ডিরেক্টরি থেকে বুট করুন, ডকার ডেমন ছাড়াই।
- স্থায়ী ডেভ মেশিন: মেশিন তৈরি, বন্ধ, শুরু এবং এক্সিকিউট করুন যেখানে ইনস্টল করা প্যাকেজ পুনরায় চালু হওয়ার পরেও টিকে থাকে। হোস্ট ডিরেক্টরি মাউন্ট হট রিলোডের জন্য inotify ইভেন্ট প্রেরণ করে।
- Kubernetes ইন্টিগ্রেশন: একটি containerd shim v2 সরবরাহ করে যাতে পডগুলি RuntimeClass-এর মাধ্যমে মাইক্রোভিএম হিসাবে চলে।
- GPU ত্বরণ: macOS এবং Linux-এ virtio-gpu / Venus (Vulkan-over-virtio) এর মাধ্যমে হোস্ট GPU প্রকাশ করে। CUDA API রিমোটিং (--cuda) GPU পাসথ্রু ছাড়াই vsock-এর মাধ্যমে হোস্ট NVIDIA ড্রাইভারে CUDA কল ফরোয়ার্ড করে।
- চেকপয়েন্টিং: VM অবস্থা একটি স্থায়ী .smolcheckpoint আর্টিফ্যাক্ট হিসাবে সংরক্ষণ করুন পরবর্তী পুনরুদ্ধারের জন্য। একটি Rust ক্রেট (smolvm-checkpoint) VM রানটাইমের উপর নির্ভর না করে ইনক্রিমেন্টাল স্টোরেজ এবং পোর্টেবল এক্সপোর্ট সরবরাহ করে।
ডিফল্ট রিসোর্স হল 4 vCPU এবং 8 GiB RAM, যা ফ্ল্যাগ বা Smolfile-এর মাধ্যমে ওভাররাইড করা যায়। নিরাপত্তা মডেল গেস্ট রুটকে অবিশ্বস্ত হিসাবে বিবেচনা করে, যেখানে স্পষ্টভাবে ফরোয়ার্ড করা ক্ষমতা (মাউন্ট, নেটওয়ার্ক, পোর্ট, SSH এজেন্ট) ওয়ার্কলোডের কর্তৃত্বের অংশ হয়ে যায়। প্রকল্পটি Apache-2.0 লাইসেন্সের অধীনে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.