MIT یک زبان برنامه نویسی جدیدی به نام “milk” ایجاد کرده است که گفته می شود کد چهار برابر سریعتر از رقبایتان است.این کار توسط مرتب سازی هوشمند و جمع آوری آدرس های داده انجام می شود.
پروفسور Saman Amarasinghe می گوید که راز زبان این است که تغییر نحوه جمع آوری و ذخیره داده های هسته را تغییر می دهد با توجه به اطلاعات مهم که آن را به حافظه ذخیره می کند، همه چیز با هم هموارتر می شود. مجموعه داده های امروز، انواع مختلفی از مشکلات را برای تکنیک های مدیریت حافظه فعلی مطرح می کند که بر اساس اصل محله استوار استاین اصل بیان می کند که اگر یک برنامه خاص به برخی از داده ها در یک مکان حافظه دسترسی پیدا کند، همچنین نیاز به توده های حافظه مجاور دارد روش فعلی که شامل جمع آوری تمام بلوک داده ها از حافظه است، هنگامی که فقط یک بلوک کوچک از مجموعه داده های بزرگ مورد نیاز است، کارآمد نیست.
هنگام کار با milk ، زمانی که یک هسته نیاز به یک تکه از داده ها، آن را نشانی از cache داده های همسایه را درخواست نمی کند. در عوض، مسیر مورد را به لیستی از آدرس ذخیره شده محلی اضافه می کند.وقتی این لیست به اندازه کافی بلند می شود، تمام هسته ها لیست های خود را دسته بندی می کنند و آدرس های همسایه را دسته بندی می کنندگام بعدی شامل توزیع مجدد لیست ها به هسته می شود. بنابراین، یک هسته درخواست اقلام داده که آن را می داند که نیاز دارد.
تعجب کردید ؟ چطور؟ راز قضیه این است که هسته ها اطلاعات را جمع آوری و ذخیره می کنند.
با milk ، یک برنامه نویس چند خط کد در اطراف قطعات موجود برای ایجاد کل پروسه کارآمد تر اضافه می کند. کامپایلر milk، که چگونگی مدیریت حافظه را نشان می دهد، نقش مهمی ایفا می کند در اینجا چیزی است که Matthew Zahiri ، استادیار دانشگاه استنفورد در مورد milk ، می گوید چنین است :
“milk کمک می کند تا به این شکاف با بهینه سازی دسترسی به حافظه در ساختار برنامه نویسی مشترک کمک می کند. این کار اطلاعاتی مفصل درباره طراحی کنترلرهای حافظه با دانش درباره کامپایلرها را برای بهینه سازی های خوب برای سخت افزار کنونی ترکیب می کند.
بنابراین، Vladimir kiriansky، یکی از فعالان کامیونیتی milk پیشنهاد می دهد به جای این کار به شرح زیر عمل کند:
یافتن دادهای خاص از میان یک مجموعهٔ بیگ دیتا، فرایندی ناکارآمد و کاری دشوار است. برای روشنتر شدن این مسئله، مثالی از زندگی روزمره میزنم؛ فرض کنید هر بار نیاز به شیر داشته باشید، ابتدا در یخچال را باز کرده، شیشهٔ شیر را باز میکنید و کمی از آن را برمیدارید و بعد درب شیشه را میبندید و آن را دوباره در یخچال قرار میدهید. کاری تکراری و طاقتفرسا!
به جای ایجاد درخواستهای مکرر برای بازیابی بلوکهای بزرگ داده، هستهٔ زبان میلک تنها دادهای را درخواست میکند که میداند نرمافزار به آن نیاز دارد (قبل از اینکه درخواستی به هسته فرستاده شود، این زبان لیستی از اطلاعات آدرس آیتمها برای خود ایجاد میکند.)یکی دیگر از مزایای زبان برنامهنویسی میلک این است که توسعهدهندگان میتوانند در اطراف دستورالعمل پردازش دادهٔ مد نظر، چند خطی کد بزنند و کامپایلر چگونگی و کارآمدترین راه ممکن را برای مدیریت حافظه تعیین خواهد کرد.
Milk هنوز در اوایل راه توسعه است اما امیدوارم که این زبان به زودی در GitHub و ریپازیتوریهای دیگر ظاهر شود چرا که در سالهای آتی، روز به روز اهمیت کلان دادهها در فضای آیتی بیشتر شده و به طور حتم نیاز به پلتفرمهایی بهینهتر و سریعتر برای پردازش دادهها خواهیم داشت.
به عبارتی هر دولوپری به دنبال زبانهای برنامهنویسی سریعتر است اما نوشتن نرمافزارهای سریع و بهینه به ویژه زمانی که با زبانهای برنامهنویسی قدیمی کار میکنید، تیری در تاریکی است. در تلاش برای رسیدن به این سرعت و چابکی، برخی سازمانها و شرکتهای فناوری در تلاش برای ابداع روشها و رویکردهای جدیدی هستند. در حوزهٔ Big Data (بیگ دیتا یا کلان داده) و به امید سرعت بخشیدن در این حوزه، شرکتهای انگشت شماری در Apache Hadoop تنوع ایجاد کرده و توزیعهای مختلفی را منتشر کردهاند اما آنچه در این مقاله قصد داریم مورد بررسی قرار دهیم، یک زبان برنامهنویسی تخصصی است تحت عنوان Milk که به منظور مدیریت به مراتب سریعتر کلان داده به بازار عرضه شده است.
۱ دیدگاه