مدیریت حافظه برای سیستم های چند رشته ای نرم افزار SDSM
خلاصه:
زمانیکه سیستم های حافظه اشتراکی گسترده نرم افزار (SDSM) چند رشته ای را با بهره برداری از چند پردازشگرهای متقارن فراهم می آورد، اعتراض کردن چگونگی حفظ سازگاری حافظه سازگاری حافظه در راه ایمن است، که به عنوان “ مسئله روز آمد صفحه اتمی” شناخته شده است. در این مقاله، نشان می دهیم که در این مسئله می تواند از طریق خلق دو راه قابل دستیابی مستقل به صفحه فیزیکی و از طریق نسبت دادن مجوزهای متفاوت دستیابی به آنها تجزیه شود. به ویژه، ماسه روشن جدید را با کاربرد سیستم ارتباطی درون پردازشی حافظه اشتراکی V، فراخوانی سیستم جدید molupo و فراخوانی سیستم دو شاخه D علاوه بر کاربرد روش شناخته شده نقشه پردازی فایل پیشنهاد می دهیم. سهم اصلی از این مقاله معرفی راه حلهای متنوع به مسئله روز آمد صفحه اتمی و مقایسه مشخصه هایشان است. تجربیات و آزمایشات برای دسته ای بر پایاه لینوکس SMPS و سیستم ثابت IBM sP Hawk انجام می شود و نشان می دهد که روشهای پیشنهاد شده بر عقب کشی های از روش طراحی قایل غالب میگردد مثل هزینه بالای ارزشدهی آغازین و پاکسازی قطرنها نگاهی میانگیر اضافی به ویژه، روش کاربردی فراخوانی سیستم دو شاخه O فضای کلی نشان را به کاربرد عملی حفظ می کند.
مقدمه
سیستم های حافظه اشتراکی گسترده نرم افزار سکوی قدرتی شده است تا فضای نشانی اشتراکی را روی معماریهای حافظه اشتراکی فراهم گردد. سیستم های اولیه SDSM مثل IVY [1] ، طریقه واسطه ای [2]، [3] Munin، و Treadmark[4] گروه های غیر پردازش را می پذیرند، بنابراین تنها یک رشته را در جریان روی گره مجاز میگرداند به طور رایج، جنس ریر پردازنده های خارج از قفسه و ترکیبات شبکه به طور گسترده به عنوان بلوکهای ساختمای برای کامپیوترهای موازی به کار برده می شود. این روند سیستم های دسته ای را شکامل چند پردازشگر متناسب سکوهای جذاب برای محاسبه عملکرد بالا ساخته است. به هر حال، سیستم های اولیه تک رشته ای شده خیلی محدود به بهره داراست چند پردازشگر در رشته های SMP می شوند. نسل بعدی سیستم های SDSM مصل Quark[5]، [6] Brazos ، رشته های DSM[7]، Murk[8] آگاه از چند پردازشگرهایی هستند که آنها بوسیله چند پردازشگر یا چند رشته بهره برداری می گردد. به طور کلی، سیستم های بر پایه پردازش ساده و طبیعی ظرفیت بالای کلید زنی و تأخیرر رابطه ای اضافی درون پردازش را در یک گروه تجربه و آزمایش می کنند، بنابراین تمرکز، در این مقاله سیستم های چند رشته ای SDSM است.
خیلی از سیستم های تک رشته ای SDSM در سطح کاربر از طریق کاربرد مکانیزم گرداندن خرابی صفحه تکمیل و اجرا می شوند این نوع از SDSM دسترسی کاربرد غیر ممتاز را به صفحه اشتراکی از طریق گرفتن علامت SIGSEGV و کاربرد تعیین شده گرداننده علامتی روز آمد را در صفحه غیر معتبر آشکار می گرداند. از نقطه نظر کاربرد، این صفحه روز آمد اتمی است زمانیکه کنترل صفحه به کاربردی تنها بعد از گرداندن علامت برگردانده می شود و کاری روی خرابی تکمیل می کند. به هر حال، جریان گرداندن خطای قرار دادی در محیط های چند رشته ای موفق نخواهد شد زیرا دیگر رشته ها احتمالاً سعی در دستیابی صفحه معین در طی دوره روزآمد دارند. سیستم SDSM با برهانی روبرو می گردد زمانیکه چندین رشته با دستیابی به صفحه غیر معتبر در فاصله کوتاه کامل می گردد. در دستیابی اول به صفحه غیر معتبر، سیستم باید صفحه قابل نوشتن را با جایگزینی مورد معتبر برقرار گرداند. متأسفانه این تغییر همچنین رشته های کاربردی دیگر را به دستیابی صفحه معین مجاز می گرداند. این پدیده به عنوان صفحه ای روز آمد شناخته شده است و مسئله صحیح(7) یا حوزه شرایط mmapo تغییر می گردد. به طور خلاصه، با این مسئله روز آمد صفحه اتمی را فرا می خوانیم راه حل معروفی به این مسئله از طریق سیستم های چند رشته ای SDSM عمده مثل Treadmark[9] ، [6]Brazos وstnings[10] منطبق می شود که طراحی فایل به دو نشانی متفاوت واقعی است. حتی از طریق روش نقشه برداری محیط کاری احتمالاً تحت تأثیر عملکرد این سیستم ها است. روش نقشه برداری فایل به طور ضعیف در برخی موردها اجرا می گردد و برای مثال، سیستم IBMSP Night Hawk با ویرایش Aix 4.3.3PssP این مشاهده تحقیق دیگر راه حل ها را به مسئله روز آمد صفحه اتمی موجب می گردد. به هر حال، نقشه برداری فایل هزینه ارزش دهی بالای آغازین را دارد و فضای قابل دسترسی را کاهش می دهد زیرا SDSM و بخش عمل فضای نشانی است.
ما علت مسئله روزآمد صفحه اتمی را ذکر می کنیم که SDSM و بخش عملی همان صفحه نشانی است. زمانیکه تغییرات SDSM صفحه قابل نوشتن است، صفحه همچنین به کاربرد قابل دسترسی است. راه حل کلی به این مسئله جداسازی فضای نشانی کاربردی از فضای نشانی سیستم برای حافظه فیزیکی است و مجوز دستیابی متفاوتی تکمیل می شود، نشانیهای مهارتی متفاوت احتمالاً مجوز دستیابی متفاوتی دارند حتی اگر آنها به صفح فیزیکی یکسان رجوع کنند. سپس، سیستم می تواند روزآمد بودن صفحه اتمی را از طریق تغییر مجوز دستیابی از صفحه مهارتی در فضای نشانی کاربرد ضمانت کند بعد از اینکه آن روز آمد بودن صفحه را از طریق فضای نشانی سیستم تکمیل می کند. در این مقاله، ما سه راه حل جدید را با کاربرد سیستم ارتباطی درون حافظه اشتراکی، فراخوانی سیسستم mdupo جدید برای نسخه برداری فهرست صفحه، و فراخوانی دو شاخه سیستم O علاوه بر راه حل شناخته شده با کاربرد نقشه برداری قایل پیشنهاد می دهیم. سهم عمده از این مقاله ارائه راه حلهای متنوع به مسئله روز آمد صفحه اتمی است که با مشخصه هایشان مقایسه میگردد. به هر حال، آن مشاهده شده است که آن همیشه ممکن است تا همه آنها را در سیستم دسته SMP در نتیجه محدودیت های متنوع سیستم اجرایی تکمیل گردد. آزمایشاتی روی دسته ای براساس سینوکس ورودی دستگاه IBM SP2 نشان می دهد که روشهای پیشنهاد شده بر عقب کشی هایی از روش نقشه برداری فایل غالب می گردد مثل ارزش دهی آغازین بالای اضافی و پاک زنی و حافظه نگاهی میانگیر اضافی. بویژه، کاربرد روش فراخوانی سیستم شاخه ای o فضای کلی نشانی را به کاربرد نگه می دارد.
این مقاله به شرح ذیل سازماندهی می شود. در بخش دوم، ما از مسئله روز آ,د صفحه اتمی بحث می کنیم. ما به طور خلاصه سیستم SDSM خودمان را در بخش سوم معرفی می کنیم و چهار روش را ارائه می دهیم که مسئله را در بخش چهارم حل می کند چهار روش را از طریق کاربرد نشانه معیار ریز بررسی می کنیم و نتایج آزمایش را با چندین کاربرد در بخش s ارائه می دهیم. بخش 6 خلاصه ای از مقاله است.
مسئله روز آمد صفحه اتمی
جریان گرداندن خطای صفحه واقعی از SDSM بر پایه صفحه قراردادی در شکل 1 روشن می شود. به طور کلی این نوع از کاربردهای SDSM و SIGIO و علامتهای SIGSESV برای تکمیل پروتکولهای سازگاری حافظه است. زمانیکه عملکرد صفحه غیر معتبر اشاره شده از طریق A قابل دستیابی است، سیستم عملی علامت SIGSEGV و دسته هایی روی کنترل برنامه به SDSM از طریق راه انداختن برنامه در حافظه با کارانداز کاربر تعیین شده SIGSEGV تولید می گردد. درون کارانداز، سیستم صفحه قابل نوشتنی از طریق خلق متحرک صفحه بی نام یا از طریق بازیابی کردن صفحه از مخزن حافظه اشتراکی اختصاص می دهد که در مرحله ارزش آغازین آماده می شود. سپس سیستم بیشترین صفحه روز آمد را از گروه جزئی درخواست می کند و منتظر صفحه می گردد. زمانیکه درخواست صفحه به گروه جزئی میرسد، سیستم اجرایی جزئی علامت SIGIO و راه انداز کاربر تعریف شده SIGIO که به درخواست کمک می کند تولید می گردد. بعد از آن، SDSM محلی صفحه غیر معتبری به مورد جدید جایگزین می کند و صفحه خوانا را با کاربرد فراخوانی سیستم mprotecto بر قرار می کند.
در سیستم تک رشته ای، این صفحه روز آمد با توجه به کاربرد عملی اتمی است زمانیکه مجموعه هایی از عملیات را اجرا می کند. از لحاظ اتمی. به هر حال، تضمین نشده است زمانیکه چندین رشته دسترسی را کامل می گرداند. به منظور ضمانت صفحه روز آمد اتمی، رشته های دیگر باید از دستیابی به صفحه جلوگیری شود در حالیکه رشته در انتظار صفحه معتبر است. چندین راه حل ممکن می تواند به طریق زیر طبقه بندی شود:
معلق نگه داشتن همه رشته های کاربردی زمانیکه سیستم به صورت روزآمد صفحه غیر معتبر پایان می یابد.
اصلاح فهرست گر os که رشته هایی را فهرسست بندی نمی کند که احتمالاً قابل دستیابی به صفحه غیر معتبر است
تکمیل بسته رشته جدید (7و5)
نقشه کشی یک فایل به دو نشانی مهارتی و تعیین حواز متفاوت دستیابی به آنها.
روش اولیه قدرت مدارانه همه رشته های کاربردی را به طور موقتی از طریق پخش علامت SIGSTOP در طی دوره روزآمد کردن صفحه به طور معلق حفظ می گردد و رشته هایی مجدداً بعد از روز آمد کردن صفحه بر میانگیزد تا کامل شود. این روش خیلی ساده است اما آن حتی اجرای رشته های غیر مربوطه را به صفحه مسدود می گرداند در نتیجه، این روش بهره برداری cpu را به طور متنوع کاهش میدهد و برتری مورد انتظار ضعیف است. نگرش ثانوی اصلاح شالوده os است تا تنها رشته هایی را فهرست بندی کند که قابل دسترسی صفحه یکسان نیست. Murks[8] این نوع از سیستم است حتی این نگرش مؤثر است، و آن به محل پذیری سیستم صدمه می زند. مورد سوم تکمیل بسته رشته جدید برای کنترل فهرست بندی رشته در سطح کاربر است. رشته های DSm[7] و کوآکس(5) دو سیستم شناخته شده هستند اما آنها محل پذیری ندارند.