Tarit؛ سندباکس میلیثانیهای برای ایجنتهای هوش مصنوعی
خلاصهٔ کاملتر
تو مخزن Tarit اومده که این پروژه یه پلتفرم microVM ـه برای ساختن سندباکسهای امن، سریع و یکبارمصرف، مخصوص بارکاری ایجنتهای هوش مصنوعی و محیطهای یادگیری تقویتی. منطقش سادهست: یه ماشین مجازی واقعی رو تو چند میلیثانیه بوت میکنه، تسک رو داخلش اجرا میکنه و بعد جمعش میکنه.
تیم پروژه دلیل رفتن سراغ microVM رو جداسازی واقعی میدونه. هر سندباکس یه مهمان KVM با کرنل مستقل خودشه، نه یه پروسهی namespaceشده؛ یعنی یه بارکاری خراب یا نفوذشده نه میزبان رو میبینه نه همسایههاش رو. این دقیقاً همون چیزیه که وقتی یه ایجنت داره دستور تولیدشده و دلخواه اجرا میکنه اهمیت پیدا میکنه.
پروژه از دو تیکه تشکیل شده که کنار هم توسعه داده میشن. بخش vmm/ خودِ هایپروایزره؛ یه مانیتور microVM مینیمال مبتنی بر rust-vmm که هر پروسهش یه ماشین مجازی رو میگردونه و مستقل هم قابل استفادهست. بخش orch/ هم taritd ـه، یه ارکستریتور چندنودی که روی یه ناوگان ماشین، جایگذاری، استخر گرم، شبکه، اسنپشات، دسترسی SSH/PTY و آمار مصرف بهازای هر کلید رو مدیریت میکنه.
این دوتا از طریق یه پروتکل روی سوکت یونیکس با هم حرف میزنن که تایپهاش تو یه کرِیت مشترک و کموابستگی به اسم tarit-proto قرار داره. نکتهی مهمش اینه که همین کرِیت قرارداد سیمیه، پس میشه VMM رو از taritd یا از کنترلپلین خودت درایو کرد بدون اینکه لازم باشه تایپها رو دستی کپی کنی.
مخزن یه جدول مقایسه با Firecracker هم گذاشته که اعداد Tarit از تست روی سختافزار واقعی (p50) و اعداد Firecracker از مستندات رسمیشه. بازیابی اسنپشات تا رسیدن به ماشین در حال اجرا 2.9 میلیثانیه، تحویل ماشین از استخر گرم 12.3 میلیثانیه، رفتوبرگشت اجرای یه دستور توی ماشین در حال اجرا 0.6 میلیثانیه و آمادهشدن برای اجرا از روی اسنپشات 83 میلیثانیه گزارش شده.
چندتا قابلیت هم هست که به گفتهٔ مخزن Firecracker نداره: اسنپشات زنده از مهمانِ در حال اجرا بدون توقف، حالت suspend که رم مهمان رو آزاد میکنه، PTY مستقیم روی API بهجای فقط کنسول سریال، بوت مستقیم ایمیج OCI و فیلتر خروجی با allowlist و محدودیت نرخ بهازای هر ماشین.
برای اجرا به یه میزبان لینوکس x86_64 با KVM و زنجیرهابزار Rust نیاز داری و چون راهاندازی ماشین مجازی دسترسی روت میخواد، دستورها با sudo اجرا میشن. ساخت کرنل مهمان و گرفتن rootfs یهبار انجام میشه و بعدش بالا آوردن ماشین آنی میشه. گاردهای فعلی هم شفاف گفته شدن: مهمان aarch64 و virtio-balloon هنوز پیاده نشده و سلفهاستینگ روی AWS و GCP تست شده و Azure در راهه.
نکات کلیدی:
- هر سندباکس یه مهمان KVM با کرنل مستقله، نه کانتینر با کرنل مشترک
- دو بخش اصلی: هایپروایزر vmm و ارکستریتور taritd، با پروتکل مشترک tarit-proto
- اعداد اعلامشده: بازیابی اسنپشات 2.9ms، تحویل از استخر گرم 12.3ms، آماده به اجرا 83ms
- اسنپشات زنده بدون توقف، suspend با آزادسازی رم، PTY روی API و بوت ایمیج OCI
- نیازمندی: لینوکس x86_64 با KVM؛ aarch64 هنوز پشتیبانی نمیشه
- لایسنس AGPL-3.0-or-later




