منصوبے کے بارے میں
OrbitKV LLM inference engines کے لیے ایک بیرونی key-value cache پرت ہے۔ یہ vLLM اور SGLang کے KV cache کو GPU میموری سے آگے بڑھاتا ہے: دوبارہ قابل استعمال prefixes DRAM اور SSD میں رکھے جاتے ہیں، پھر جب کوئی مماثل درخواست آتی ہے تو بحال کیے جاتے ہیں۔ بیان کردہ استعمال کے معاملات بار بار آنے والی دستاویزات، مشترکہ system prompts، اور لمبی گفتگو ہیں جن کے prefixes اب engine کے GPU cache میں فٹ نہیں ہوتے۔
تعیناتی کا ماڈل
ایک آزاد Cache Manager فی ہوسٹ چلتا ہے، اور اس ہوسٹ پر موجود engines اس کے مشترکہ cache سے جڑتے ہیں۔ Engines GPU میموری اور شیڈولنگ کی ملکیت برقرار رکھتے ہیں؛ OrbitKV بیرونی replicas اور منتقلی کا انتظام کرتا ہے۔ سنگل نوڈ کا راستہ vLLM 0.29.0 اور SGLang 0.5.20 پر GPU-جانچ شدہ بیان کیا گیا ہے۔ ملٹی نوڈ cache اشتراک کو تجرباتی قرار دیا گیا ہے، اور 1.0 سے پہلے interfaces تبدیل ہو سکتے ہیں۔
کلیدی صلاحیتیں
- DRAM اور SSD caching: prefixes GPU سے خارج ہونے یا engine کے دوبارہ شروع ہونے کے بعد دوبارہ استعمال کیے جا سکتے ہیں جبکہ Cache Manager زندہ رہتا ہے۔
- اختیاری دوبارہ استعمال کی پالیسیاں: ایک Rust جزو دوبارہ استعمال شدہ صفحات کو بائٹ کی حد کے اندر محفوظ رکھ سکتا ہے اور SSD تحریروں کو منتخب طور پر قبول کر سکتا ہے؛ دستاویزات میں سرد دوبارہ استعمال کی تجارت کا ذکر ہے۔
- براہ راست GPU منتقلی: دونوں engines CUDA IPC کے ذریعے GPU buffers رجسٹر کرتے ہیں؛ adapters پیداواری CUDA stream کو fence کرتے ہیں، اور Rust cache queries، reads اور transfer تکمیل کو سنبھالتا ہے۔
- ماڈل سے آگاہ بحالی: cache شناخت میں model artifacts، computation settings اور storage layout شامل ہیں۔ مرتب شدہ recovery rules attention pages، sliding windows اور recurrent/conv checkpoints کا انتخاب کرتی ہیں، بشمول layouts جو تینوں کو ملاتے ہیں۔
- محدود وسائل کا استعمال: بائٹ بجٹ زیر التواء reads، تیار صفحات اور فعال GPU transfers کا احاطہ کرتے ہیں؛ منسوخی جمع شدہ I/O کو تکمیل تک برقرار رکھتی ہے۔
- مشاہدہ پذیری: Prometheus metrics اور اختیاری درخواست timelines، شائع شدہ پیمائشوں کے لیے تولیدی حکموں کے ساتھ۔
- تجرباتی مشترکہ cache: ایمبیڈڈ catalog shards ہم مرتبہ replicas کا پتہ لگاتے ہیں، Mooncake Transfer Engine بائٹس منتقل کرتا ہے، اور etcd کلسٹر رکنیت کو ٹریک کرتا ہے۔
فوری آغاز کا خاکہ
ایک wheel ہر Python اور CUDA runtime کے لیے بنایا اور نصب کیا جاتا ہے، vLLM اور SGLang کے لیے الگ ماحول کے ساتھ۔ Wheel میں Cache Manager اور Mooncake libraries شامل ہیں؛ Manager کو بھی مطابقت پذیر PyTorch درکار ہے۔ پہلا Python release تیاری میں بیان کیا گیا ہے، لہذا پیکیج اشاعت کی حیثیت release دستاویزات میں چیک کی جانی چاہیے۔
ایک Cache Manager اس طرح کے کمانڈ سے شروع کیا جاتا ہے: `orbitkv-cache-manager --addr 127.0.0.1:50055 --http-addr 127.0.0.1:9091 --pool-size 8gb`۔ پھر vLLM کو prefix caching فعال اور KV transfer config کے ساتھ شروع کیا جاتا ہے جو OrbitKV connector module کا نام دیتا ہے؛ SGLang کو OrbitKV endpoint environment variable، page size، اور external linker اور radix cache backend آپشنز کے ساتھ شروع کیا جاتا ہے۔ SSD caching Manager کمانڈ میں `--ssd-cache-path` اور `--ssd-cache-capacity` شامل کرکے فعال کی جاتی ہے؛ SSD cache Manager کے دوبارہ شروع ہونے پر دوبارہ بنایا جاتا ہے۔ ڈیفالٹ SSD backend معاون mounts پر مقامی cuFile آزماتا ہے اور io_uring پر واپس آتا ہے۔ ایک `--ssd-read-path uring|cufile` override ذخیرہ شدہ نمائندگی سے آزادانہ طور پر demand restoration راستے کا انتخاب کرتا ہے۔ Storage encoding آپشنز میں nvCOMP ANS lossless compression، FP8، اور 3/4-bit TurboQuant شامل ہیں، جو `--storage-codec` سے منتخب کیے جاتے ہیں؛ ڈیفالٹ عین storage ہے، اور lossy modes کے لیے model-quality qualification درکار ہے۔ `orbitkv_load_bytes_total` metric میں اضافہ بیرونی بحالی کی تصدیق کے طور پر دیا گیا ہے۔
فن تعمیر اور حیثیت
Engine adapter گمشدہ حالت کی شناخت کرتا ہے اور GPU مقامات فراہم کرتا ہے؛ OrbitKV مطابقت پذیر cached ranges کا انتخاب کرتا ہے، انہیں ترتیب شدہ tiers سے پڑھتا ہے، اور GPU کاپی مکمل ہونے تک page ownership برقرار رکھتا ہے۔ نئے شمار شدہ KV بعد میں دوبارہ استعمال کے لیے شائع کیا جاتا ہے۔ ایک ہی adapter API DRAM، SSD اور تجرباتی دور دراز fetches کی خدمت کرتا ہے، Cache Manager کے اندر جسمانی جگہ کے ساتھ۔ پروجیکٹ ایک نفاذی منصوبہ دستاویز کرتا ہے جو pinned LMCache، FlexKV اور Mooncake میکانزم کو تعیناتی اور توثیق کے کام سے نقشہ بناتا ہے۔ محدود Rust cost مشاہدات، raw-copy shadow پیشین گوئیاں اور آزاد SSD read راستے نافذ شدہ بیان کیے گئے ہیں؛ dynamic cost selection منصوبہ بند ہے، اور مشاہدات بطور ڈیفالٹ بند ہیں۔ Cross-engine byte conversion، production catalog HA اور KV-aware request routing منصوبہ بند کام کے طور پر درج ہیں۔
کارکردگی دستاویزات
کارکردگی prefix reuse، cache گنجائش، storage اور engine شیڈولنگ پر منحصر بیان کی گئی ہے۔ رپورٹس سنگل نوڈ موازنے (مقامی HBM، engine CPU caches، OrbitKV، LMCache، FlexKV)، SSD بحالی، Qwen3-8B host reads اور GPU transfers کے ساتھ عام بحالی، درخواست کی تیاری، اور مشترکہ cache اہلیت کا احاطہ کرتی ہیں۔ درخواست کی تیاری بطور ڈیفالٹ بند ہے: دستاویز شدہ Qwen3-8B کنٹرول دونوں engines میں throughput بہتر کرتے ہیں، لیکن SGLang P95 latency پیچھے ہٹ جاتی ہے، اور سنگل H20 پیمائشیں دیگر caches پر عالمگیر برتری کے طور پر پیش نہیں کی گئیں۔ Benchmark کوڈ اور خلاصے `benches/` ڈائریکٹری میں ہیں۔
لائسنس اور شراکت
OrbitKV Apache-2.0 کے تحت لائسنس یافتہ ہے۔ دستاویزات میں تنصیب، adapter ترتیب، Manager آپشنز، metrics، fault qualification، تعیناتی پیٹرن، شراکت کار گائیڈ، Python پیکیج تفصیلات، test gates اور releases شامل ہیں۔ شراکتوں میں متعلقہ چیک اور دستاویزات کی تبدیلیاں شامل ہونے کی توقع ہے۔
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.