پرش به محتوای اصلی
آخرین اخبار
۲ وایر پاداش مطالعه

بازنویسی زیرساخت گیت‌هاب برای ایجنت‌های هوش مصنوعی؛ ثبت رکورد ۷۲۰۰ پوش در ثانیه با Rubicon

انتشار:۱۶ آبان ۱۴۰۵
۵ دقیقه زمان مطالعه
۰ دیدگاه
اشتراک و پسندیدن

گیت‌هاب در حال بازنویسی اساسی سیستم ذخیره‌سازی گیت برای هماهنگی با سرعت سرسام‌آور ایجنت‌های هوش مصنوعی است. معماری جدید این پلتفرم با نام Rubicon موفق شده است در آزمایش‌های داخلی، بیش از ۷۲۰۰ پوش در ثانیه و فعالیت هم‌زمان ۵۰۰۰ ایجنت را روی یک مخزن پردازش کند. این تحول زیرساختی بدون نیاز به تغییر در ابزارهای فعلی، مسیر توسعه نرم‌افزار به دست هوش مصنوعی را هموار می‌سازد.

بازنویسی زیرساخت گیت‌هاب برای ایجنت‌های هوش مصنوعی؛ ثبت رکورد ۷۲۰۰ پوش در ثانیه با Rubicon

در یک نگاه (نکات کلیدی خبر)

خلاصه مهم‌ترین نکات و تحولات این گزارش برای مطالعه سریع

  • معماری جدید گیت‌هاب با نام Rubicon می‌تواند تا ۷۲۰۰ ارسال تغییرات در ثانیه و فعالیت هم‌زمان ۵۰۰۰ ایجنت هوش مصنوعی را روی یک مخزن مدیریت کند.
  • این سیستم با جدا کردن اشیای تغییرناپذیر گیت از ارجاعات شاخه‌ها توان نوشتن داده‌ها را نسبت به نسل قبلی تا ۳۵ برابر افزایش داده است.
  • توسعه‌دهندگان و سیستم‌های هوش مصنوعی بدون نیاز به تغییر در ابزارها یا رابط‌های برنامه‌نویسی گیت می‌توانند از ظرفیت پردازشی این زیرساخت تازه بهره‌مند شوند.

گیت‌هاب در حال بازنویسی اساسی بخش ذخیره‌سازی گیت است تا بتواند مخازنی را که توسط هزاران ایجنت کدنویسی با سرعت سرسام‌آور ماشین به‌روزرسانی می‌شوند، مدیریت کند. این معماری جدید که با نام مستعار Rubicon شناخته می‌شود، در آزمایش‌های داخلی گیت‌هاب توانست به رکورد ۷۲۰۰ پوش در ثانیه دست یابد و هم‌زمان از فعالیت ۵۰۰۰ ایجنت روی یک مخزن واحد پشتیبانی کند، در حالی که تاخیر خواندن داده‌ها کاملاً پایدار باقی ماند.

ورود پوش‌ها با سرعت ماشین

شلوغ‌ترین مخازن گیت‌هاب در گذشته حداکثر چند ده عملیات نوشتن در ثانیه دریافت می‌کردند که معمولاً در قالب جهش‌های مقطعی رخ می‌داد. جریان‌های کاری انسانی تمایل دارند تا واحدهای کاری تکمیل‌شده را به گیت ارسال کنند؛ اما ایجنت‌های کدنویسی هوش مصنوعی پس از هر مرحله کوچک اقدام به ثبت کامیت و پوش می‌کنند. این رفتار ترافیک مداومی از نوشتن داده‌ها ایجاد می‌کند که بسیار فراتر از مفروضات اولیه سیستم ذخیره‌سازی فعلی گیت‌هاب است.

علاوه بر این، هر پوش به‌نوبه خود ترافیک خواندن سنگینی را فعال می‌کند؛ چراکه مجریان یکپارچه‌سازی مداوم (CI)، سیستم‌های استقرار، اسکنرهای کد و سایر ایجنت‌ها بلافاصله برای دریافت اشیای جدید اقدام می‌کنند. طبق اعلام گیت‌هاب، حجم عملیات نوشتن در این پلتفرم نسبت به سال گذشته ۴٫۹ برابر افزایش یافته و این موضوع فشار مضاعفی بر هر دو مسیر خواندن و نوشتن درخواست‌ها وارد کرده است.

وابستگی خواندن به حدنصاب نوشتن در معماری Spokes

بخش پشتیبان پیشین گیت‌هاب با نام Spokes، نسخه‌های کاملی از مخزن را روی چندین دیسک محلی نگهداری می‌کرد. در آن سیستم، پروتکل تعهد سه‌مرحله‌ای نیازمند آن بود که حدنصابی از نسخه‌های کپی هر عملیات نوشتن را تأیید کنند، در حالی که همان نسخه‌ها باید به درخواست‌های زنده گیت نیز پاسخ می‌دادند. در نتیجه، افزودن نسخه‌های کپی هرچند ظرفیت خواندن را بالا می‌برد، اما میزان هماهنگی لازم برای عملیات نوشتن را نیز به‌شکل چشمگیری افزایش می‌داد.

بخش ساختاری
معماری Spokes
معماری Rubicon
اشیای گیت
نسخه‌های کامل مخزن روی دیسک‌های محلی
اشیای تغییرناپذیر در Azure Blob Storage
ارجاعات
تعهد سه‌مرحله‌ای میان نسخه‌های مخزن
لاگ تکثیرشده در سرویس Ref-CAS
ظرفیت خواندن
مقیاس‌پذیری با افزودن نسخه‌های کپی دائمی
مقیاس‌پذیری با نسخه‌های کپی مجازی و یک‌بارمصرف
نگهداری بسته‌ها
پردازش هم‌زمان در کنار فضای ذخیره‌سازی مخزن
مدیریت از طریق گره‌های اختصاصی فشرده‌سازی

کاهش اجماع به مدیریت یک اشاره‌گر واحد

معماری تشریح‌شده در گزارش فنی گیت‌هاب، اشیای تغییرناپذیر گیت را از ارجاعات تغییرپذیر تفکیک می‌کند. کامیت‌ها، ساختارهای درختی و داده‌ها به فضای Azure Blob Storage منتقل می‌شوند و در همین حال، یک سرویس تکثیرشده اختصاصی با نام Ref-CAS هماهنگی به‌روزرسانی اشاره‌گرهای شاخه‌ها و برچسب‌ها را بر عهده می‌گیرد.

  1. دریافت پوش: یک نسخه کپی مجازی درخواست گیت ارسال‌شده از سمت کلاینت را دریافت می‌کند.
  2. ذخیره اشیای تغییرناپذیر: این نسخه مجازی، کامیت‌ها، درخت‌ها و داده‌ها را در سرویس Azure Blob Storage ثبت می‌کند که لایه ذخیره‌سازی آن دوام و تکثیر اطلاعات را تضمین می‌نماید.
  3. به‌روزرسانی ارجاع: سرویس Ref-CAS تغییرات را در اشاره‌گر مربوطه، مانند refs/heads/main، ثبت می‌کند.
  4. فشرده‌سازی در پس‌زمینه: گره‌های محاسباتی مجزا فایل‌های بسته‌بندی را یکپارچه‌سازی و بهینه‌سازی می‌کنند تا گیت بتواند اشیا را با بیشترین بازدهی ذخیره و جابه‌جا کند.

اشیای گیت مبتنی بر محتوا آدرس‌دهی می‌شوند؛ به این معنا که شناسه هر شیء از دل محتوای آن به دست می‌آید و پس از ایجاد، هرگز تغییر نمی‌کند. بنابراین هزاران ایجنت می‌توانند بدون نیاز به مذاکره بر سر مالکیت یا ترتیب زمانی، به‌صورت هم‌زمان اشیای خود را ذخیره کنند.

در نقطه مقابل، ارجاعات گیت نیازمند هماهنگی دقیق هستند؛ زیرا نام‌هایی تغییرپذیر به‌شمار می‌روند که به شناسه‌های اشیا اشاره می‌کنند. سرویس Ref-CAS از سازوکار مقایسه و جایگزینی استفاده می‌کند و به‌روزرسانی را تنها در صورتی می‌پذیرد که مقدار فعلی ارجاع با مقدار مورد انتظار مطابقت داشته باشد. اگر دو ایجنت برای جلو بردن شاخه main رقابت کنند، هر دو نمی‌توانند یک تغییر یکسان را اعمال نمایند؛ بدین ترتیب، این سرویس نظم زمانی را حفظ و تداخل‌ها را شناسایی می‌کند، بدون آنکه انتقال داده‌های سنگین وارد فرآیند اجماع شود.

نسخه‌های کپی مجازی از دیسک‌های محلی به‌عنوان حافظه موقت استفاده می‌کنند و جایگزینی آن‌ها بدون از دست رفتن داده‌های پایدار مخزن امکان‌پذیر است. گیت‌هاب می‌تواند بدون بزرگ‌تر کردن حلقه اجماع ارجاعات، نسخه‌های مجازی جدیدی را برای پاسخ به ترافیک خواندن اضافه کند؛ این قابلیت امکان مقیاس‌پذیری مستقل منابع محاسباتی و ذخیره‌سازی را فراهم می‌آورد.

نتایج بنچمارک‌ها و محدودیت‌های عملیاتی

گیت‌هاب نتایج زیر را از آزمایش‌های داخلی خود گزارش داده است. این آمارها بیانگر بنچمارک‌های کنترل‌شده و اهداف طراحی هستند و تعهدنامه سطح خدمات عملیاتی به‌شمار نمی‌آیند:

  • افزایش توان نوشتن داده‌ها تا ۳۵ برابر نسبت به معماری پیشین.
  • پشتیبانی از فعالیت هم‌زمان ۵۰۰۰ ایجنت هوش مصنوعی روی یک مخزن واحد.
  • ثبت حداکثر ۷۲۰۰ پوش در ثانیه روی یک مخزن.
  • پایداری کامل تاخیر خواندن در حین آزمایش فشار شدید عملیات نوشتن.
  • هدف‌گذاری تیم فنی برای افزایش حداقل ۱۰۰ برابری مقیاس‌پذیری روی هر مخزن.

تداوم کارکرد کلاینت‌های فعلی بدون تغییر

کلاینت‌های گیت همچنان از همان پروتکل ارتباطی و مفاهیم بنیادین مخزن به‌همراه سازوکارهای حفاظتی فعلی استفاده خواهند کرد. این دگرگونی زیرساختی، ظرفیت وب‌سایت GitHub.com را افزایش می‌دهد بدون آنکه فریمورک‌های ایجنت، سیستم‌های CI یا ایستگاه‌های کاری توسعه‌دهندگان نیازی به پیاده‌سازی رابط‌های برنامه‌نویسی جدید کنترل نسخه داشته باشند.

الگوهای پردازشی که به‌روزرسانی‌ها را میان شاخه‌های گوناگون پخش می‌کنند، بیشترین بهره را از این مقیاس‌پذیری خواهند برد:

  • ناوگان ایجنت‌هایی که مرتباً نقاط بازبینی خود را به شاخه‌های مجزا در یک منوریپو پوش می‌کنند.
  • سیستم‌های استقرار، یکپارچه‌سازی مداوم و پویش کد که هر کامیت تازه را دریافت و بررسی می‌نمایند.
  • صف‌های ادغام که حجم بالایی از درخواست‌های ادغام را پردازش می‌کنند.
  • فریمورک‌های ایجنتی که از دستور git push به‌عنوان یک مرحله بازرسی دوره‌ای بهره می‌برند.

چالش ترافیک سنگین روی شاخه‌های پرتقاضا

معماری Rubicon یک زیرساخت داخلی برای سرورهای GitHub.com است و هنوز بسته‌ای برای نسخه‌های سلف‌هاست یا اختصاصی آن معرفی نشده است. در زمان انتشار این خبر، گیت‌هاب در حال اجرای پیش‌نمایش خصوصی محدودی بود و برای عرضه گسترده‌تر آن در اوایل سال آینده میلادی برنامه‌ریزی می‌کرد.

ارجاعات مشترک همچنان نقاط هماهنگی متوالی به‌شمار می‌آیند. هر به‌روزرسانی تاییدشده روی شاخه اصلی مانند main باید مقدار قبلی را مدنظر قرار دهد؛ بنابراین ارسال هم‌زمان تغییرات توسط هزاران ایجنت مستقیماً به این شاخه، رقابت و صف‌های سنگین ایجاد خواهد کرد. راهکارهایی مانند اختصاص یک شاخه مجزا به هر ایجنت، این تراکم کاری را توزیع می‌کند و صف‌های ادغام نیز به‌روزرسانی‌های نهایی را به‌صورت منظم مرتب می‌سازند.

جداسازی فضای ذخیره‌سازی از توان پردازشی، بخش‌های عملیاتی جدیدی مانند سرویس ذخیره‌سازی فایل، نسخه‌های کپی مجازی، سامانه Ref-CAS، لایه‌های کش و فرآیندهای فشرده‌سازی را به ساختار اضافه می‌کند. گیت‌هاب باید ضمن حفظ یکپارچگی این سرویس‌ها، مهاجرت مخازن را در بستری کاملاً زنده و بدون وقفه پایش و اجرا کند.

تغییر محاسبات زیرساخت با ورود گیت ماشینی

طرح Rubicon به‌خوبی نشان می‌دهد که چگونه فعالیت ایجنت‌های هوش مصنوعی، زیرساخت‌های کنترل نسخه را دستخوش تغییر می‌کند؛ جایی که پوش‌ها به نقاط بازبینی مداوم تبدیل می‌شوند و هر عملیات نوشتن، چندین عملیات خواندن به دنبال دارد. طراحی این معماری محتوای تغییرناپذیر را در فضای ذخیره‌سازی مقیاس‌پذیر اشیا قرار می‌دهد، هماهنگی را به ارجاعات تغییرپذیر محدود می‌سازد و بخش‌های پردازشگر پاسخگو به درخواست‌ها را به اجزایی قابل جایگزینی تبدیل می‌کند.

توسعه‌دهندگانی که واسط میان ایجنت‌ها و سیستم‌های گیت را طراحی می‌کنند، باید برای نرخ‌های بالای ارسال مکرر داده‌ها، تشدید بار خواندن و تداخل روی شاخه‌های مشترک برنامه‌ریزی دقیقی داشته باشند. الگوی اشیای مبتنی بر محتوا در گیت از موازی‌سازی گسترده پشتیبانی می‌کند؛ با این حال، ارجاعات همچنان گلوگاه اصلی به حساب می‌آیند که تعیین می‌کنند چه حجمی از کارهای هم‌زمان می‌توانند در یک مسیر مشترک توسعه به هم بپیوندند.

بازخورد و اشتراک‌گذاری این مطلب

اگر این گزارش برایتان مفید بود، با پسندیدن و اشتراک‌گذاری آن با دیگران، از محتوای تخصصی هوش مصنوعی حمایت کنید.

اشتراک‌گذاری در شبکه‌های اجتماعی:

دیدگاه ها و گفتگوی تخصصی

نظرات خود را با جامعه مخاطبان وایر ای آی در میان بگذارید

۰ دیدگاه

هنوز دیدگاهی برای این مطلب ثبت نشده است

اولین نفری باشید که دیدگاه، تحلیل یا دیدگاه خود را درباره این موضوع با دیگران به اشتراک می گذارد.

مطالب مرتبط و پیشنهادی

ادوبی دسترسی به ابزارهای هوش مصنوعی Firefly و Acrobat را برای استارتاپ‌ها یک سال رایگان کرد
آخرین اخبار

ادوبی دسترسی به ابزارهای هوش مصنوعی Firefly و Acrobat را برای استارتاپ‌ها یک سال رایگان کرد

ادوبی با رونمایی از برنامه جدید Adobe for Startups، امکان استفاده رایگان یک‌ساله از ابزارهای هوش مصنوعی خود را برای کسب‌وکارهای نوپا فراهم کرده است. شرکت‌های واجد شرایط می‌توانند بدون صرف هزینه، به ابزارهای پیشرفته‌ای هم‌چون Firefly Pro Plus و Acrobat دسترسی داشته باشند و فرایند تولید محتوا و بازاریابی خود را سرعت ببخشند.

۲ دقیقه مطالعه
۰
۱۶ آبان
استارتاپ Fireworks AI: استفاده از تنها یک مدل هوش مصنوعی، هدر دادن سرمایه است
آخرین اخبار

استارتاپ Fireworks AI: استفاده از تنها یک مدل هوش مصنوعی، هدر دادن سرمایه است

مدیر ارشد استارتاپ Fireworks AI هشدار می‌دهد که تکیه بر یک مدل هوش مصنوعی به‌جای استفاده از سبدی از مدل‌های متنوع، هدر دادن بودجه است. به گفته او، هدایت هوشمند هر درخواست به مناسب‌ترین مدل می‌تواند هزینه‌های پردازشی شرکت‌ها را بیش از ۵۰ درصد کاهش دهد.

۵ دقیقه مطالعه
۰
۱۶ آبان
رونق چشمگیر کسب‌وکارهای تک‌نفره در عصر هوش مصنوعی؛ درآمد میلیون دلاری بدون استخدام کارمند
آخرین اخبار

رونق چشمگیر کسب‌وکارهای تک‌نفره در عصر هوش مصنوعی؛ درآمد میلیون دلاری بدون استخدام کارمند

موج جدیدی از کسب‌وکارهای تک‌نفره با بهره‌گیری از ابزارهای هوش مصنوعی در حوزه‌های مالی، بازاریابی و طراحی، بدون نیاز به استخدام کارمند به درآمدهای چند میلیون دلاری دست یافته‌اند. داده‌های جدید اقتصادی نشان می‌دهد این فناوری امکان مدیریت وظایف یک تیم کامل را در اختیار یک فرد قرار داده و ساختار استارتاپ‌ها را متحول کرده است.

۸ دقیقه مطالعه
۰
۱۶ آبان