حالا باگ کجاست؟ خیلی ساده است ممکنه گول بخورن !
فرض کنید دقیقاً همون لحظهای که الگوریتم به صورت تصادفی ۲ تا ترد اضافه میکنه، GC هم شروع به کار میکنه و Throughput سیستم به شدت میریزه پایین! الگوریتم بیچاره گول میخوره و فکر میکنه اضافه کردن اون ۲ تا ترد باعث افت پرفورمنس شده، پس سریع تردها رو میکُشه! یا برعکس، یه لحظه ترافیک سبک میشه و الگوریتم فکر میکنه اضافه کردن ترد باعث معجزه شده و بیخود ترد میسازه. نتیجه این میشه که سیستم دچار Thrashing (نوسان شدید) میشه و مدام در حال ساختن و کشتن تردهاست!
یه اتفاق بامزه دیگم میوفته بالاتر گفتم که ترد ها بلاک میشن کسی دیگ نمیتونه ترد بسازه خب توی اونم throughput ما صفر میشه بعد بازم این الگوریتم که طراحی کردیم میشکنه چون فکر میکنه سیستم باری روش نیست پس دیگ ترد نمیسازه و ما تا ابد توی دور باطل میمونیم تو یه حالت برزخی طور چون تردی ساخته نمیشه تردامونم بلاکن سیستم نمیدونه چیکار کنه همه چی بظاهر درسته ولی بلاک شدن !
ایده های طراحی الگوریتم و سیستم دیزاین این موضوع رو امشب باهم بررسی میکنیم که چطوری تیم دات نت تونستن جلوی این موضوع رو بگیرن تا به این موضوع برسیم خوشحال میشم راجبش فکر کنین بنظرم فکر کردن به این مسائل مهندسی خیلی خیلی ذهن مارو برای حل مسائل پیش رومون باز میکنه
@codehalics | کدهالیک
Post #1216
134
کدهالیک | codehalic اینم حیفم میاد راجبش صحبت نکنم چون ایده بسیار بسیار جذابی داره ایده الگوریتم Hill Climbing دقیقاً مثل اینه که توی یه کوهستان کاملاً مهآلود بخواید با چشم بسته به نوک قله برسید؛ تنها راهش اینه که یه قدم آزمایشی بردارید، اگر دیدید رفتید بالاتر، به همون مسیر…
- 🔥 4