آشنایی با مفهوم Bit-rot (پوسیدگی نرم‌افزار)

آشنایی با مفهوم Bit-rot (پوسیدگی نرم‌افزار)

پوسیدگی نرم‌افزار (Bit-rot) به پروسهٔ کاهش تدریجی پرفورمنس یک نرم‌افزار گفته می‌شود که منجر به کندی سرعت و نامناسب شدن آن نرم‌افزار برای کاربردهای تجاری در طول زمان می‌شود. به مرور زمان، حجم زیادی از کدها به برنامه اضافه شده و با کدهای قبلی ترکیب می‌شوند و بدین ترتیب، روز به روز فهمیدن این کدها و اصلاح آنها دشوارتر می‌شود؛ همچنین ورود سخت‌افزارهای جدید هم بیش از پیش کدهای قدیمی را ناکارآمد می‌کنند! 

دانشمندان کامپیوتر دانشگاه MIT به همراه مهندسین شرکت Adobe سعی بر آن داشته‌اند تا با همکاری یکدیگر، این مشکل بزرگ را که بر سر راه تمامی کمپانی‌های عظیم نرم‌افزاری قرار دارد برطرف سازند.

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

Saman Amarsinghe، پروفسور دانشگاه MIT و محقق سازمان کامپیوتر و هوش مصنوعی CSAIL، این مسأله را یک «مشکل میلیارد دلاری» می‌نامد چرا که کمپانی‌ها می‌بایست هر چند سال یک‌بار، به صورت دستی کدهای خود را بررسی کرده و پَچ ترمیمی را در این کدها اعمال کنند. از همین رو، مغزهای متفکر MIT و Adobe به این فکر افتادند که یک برنامهٔ کامپیوتری طراحی کنند که بتواند به طور اتوماتیک، کدهای قدیمی را ترمیم کند.

آشنایی با Helium
CSAIL برنامهٔ هلیوم (Helium) را طراحی کرده که می‌تواند کدها را بدون نیاز به نیروی انسانی و یا سورس اصلی، در چند دقیقه و یا چند ساعت ترمیم کند! گروهی از کرنِل‌های محاسباتی به نام Stencil Kernels وجود دارند که در نرم‌افزارهایی همچون فوتوشاپ، امکان انجام عملیات بر روی پیکسل‌ها را امکان‌پذیر می‌کنند. این کِرنل‌ها هستند که بخش زیادی از منابع را به خود اختصاص می‌دهند و با افزوده شدن کدهای جدید و ورود سخت‌افزارهای جدید، عملکرد آنها کاهش می‌یابد.

سیستم هلیوم، کدهای پوسیدهٔ نرم‌افزار را با کدهای بهتر و بهینه‌تر جایگزین می‌کند. بررسی‌ها نشان داد که هلیوم می‌تواند این کار را در یک روز به پایان رساند، در حالی که مهندسین برای انجام همین کار، به سه ماه زمان نیاز داشتند! در نتیجه، عملکرد برخی فیلترهای فوتوشاپ تا 75٪ افزایش یافت (برخی نرم‌افزارهای دیگر که کد آنها از بهینه‌سازی کمتری برخوردار بود، پس از استفاده از هلیوم، به رشد راندمان 400 تا 500 درصدی رسیدند).

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

منبع