• شماره ركورد
    28494
  • پديد آورنده

    محمد سياوشي

  • عنوان
    توسعه زمان‌بند آگاه از جدول صفحه
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    مهندسي كامپيوتر- نرم‌افزار سيستم
  • سال تحصيل
    1399
  • تاريخ دفاع
    1401/12/13
  • استاد راهنما
    محسن شريفي
  • دانشكده
    پرديس دانشگاهي - دانشكده مهندسي كامپيوتر
  • چكيده
    اين پايان‌نامه به ارائه يك زمان‌بند جديد و يك روش براي توليد همانند‌هايي از جدول‌صفحه در سيستم‌هاي با دسترسي غير يكنواخت حافظه مي‌پردازد. سيستم توسعه داده شده با نام ققنوس برنامه‌هايي با داده‌هاي بزرگ را هدف قرار داده و سعي مي‌كند تا كيفيت سرويس را براي اين برنامه‌ها در شرايطي كه چند برنامه بر روي سرور درحال اجرا هستند حفظ كند. ققنوس به ارائه راهكار‌هايي قابل اطمينان خواهد پرداخت كه به راحتي در سرور‌هاي درحال ارائه خدمات قابل استفاده باشد. امروزه، سيستم‌هاي‌عامل جديد جدول‌صفحه را بر روي يك يا چند گره با دسترسي غير يكنواخت حافظه قرار داده و در طول زمان اجراي برنامه جاي آن را تغيير نمي‌دهند. همين امر باعث مي‌شود پردازه و جدول‌صفحه در گره‌هاي متفاوتي قرار گرفته و باعث افزايش سيكل‌هاي لازم براي پيمايش جدول‌صفحه شود كه در نتيجه آن كارايي برنامه كاهش مي‌يابد. براي رفع اين مشكل سيستم‌عامل ميتوسيز از روش همانند‌سازي جدول‌صفحه بر روي تمام گره‌ها استفاده كرد كه باعث مي‌شود پيمايش جدول‌صفحه به صورت محلي انجام شود. ميتوسيز با به ارث بردن زمان‌بند و روش توزيع‌بار لينوكس باعث مي‌شود تا نخ‌هاي برنامه‌ها بر روي تمام گره‌ها توزيع شوند. اين توزيع‌بار باعث ايجاد تداخل برنامه‌هاي كم‌اولويت با برنامه‌هاي با اولويت بالا‌تر شده و با ايجاد مزاحمت براي پيمايش‌صفحه باعث كاهش كارايي برنامه مي‌شود. سيستم‌عامل ققنوس با ارائه 3 راهكار مقابل اين سربار را حذف مي‌كند: 1) تثبيت نخ‌ها روي گره‌هاي جداگانه براي منزوي كردن برنامه‌ها، 2) استفاده از فناوري Intel RDT براي كنترل تداخل برنامه‌هايي كه روي يك گره قرار مي‌گيرند، و 3) توليد جدول‌صفحه همانند تنها در صورت نياز با استفاده از تحليل رفتار برنامه با استفاده از شمارنده‌هاي سخت‌افزاري. منطق اصلي ققنوس به شكل پيمانه قابل بارگيري حين اجرا براي سيستم‌عامل لينوكس ارائه شده و بر روي سخت‌افزار و نرم‌افراز‌هاي واقعي ارزيابي شده‌است. در ارزيابي‌هاي انجام شده بر روي سروري با 2 سوكت پردازنده با برنامه‌هاي واقعي ققنوس توانست به طور متوسط 1.63 برابر نسبت به لينوكس و 2.09 برابر نسبت به ميتوسيز سيكل‌هاي پردازنده را كاهش دهد.
  • تاريخ ورود اطلاعات
    1402/04/18
  • عنوان به انگليسي
    Development of a page table aware scheduler
  • تاريخ بهره برداري
    3/3/2024 12:00:00 AM
  • دانشجوي وارد كننده اطلاعات

    محمد سياوشي

  • چكيده به لاتين
    This paper presents Phoenix as a new integrated CPU scheduling policy and page table replication mechanism for large-memory applications that maintain QoS for NUMA systems. Large-memory applications include both latency-sensitive and throughput-sensitive applications. Today, modern operating systems pin page tables to a NUMA node once allocated, increasing page-walk cycles for processes located on distant nodes. This has motivated the state-of-the-art solutions such as Mitosis to eagerly replicate page tables on all NUMA nodes to increase locality. Mitosis inherits Linux CPU scheduler that distributes threads across NUMA nodes to achieve NUMA domain balancing. Hence, antagonistic applications spread across all nodes, causing interference in accessing page table replicas and degrading the performance of high-priority applications. Phoenix removes this overhead by using three complementary techniques; $1$) it consolidates processes on a separate set of NUMA nodes for maximum isolation; $2$) employs Intel RDT for fine-grain memory bandwidth interference management when processes share a node, and $3$) monitors hardware performance counters at the kernel level to provide on-demand page table replication. We have implemented Phoenix core as a loadable kernel module for Linux and eva‎luated it on real hardware. Experiments on a set of real-world applications (e.g., Redis, BTree, GUPS, Graph500, HashJoin) on a 2-socket machine show when a combination of applications are co-located on a server, Phoenix reduces CPU cycles with average of 1.63x and 2.09x compared to Linux and Mitosis, respectively.
  • كليدواژه هاي فارسي
    جانمايي نخ , جانمايي جدول صفحه , مهاجرت جدول صفحه , زمان‌بندي پردازنده
  • كليدواژه هاي لاتين
    Thread placement , page table placement , page table migration , cpu scheduling
  • Author
    Mohammad Siyavashi
  • SuperVisor
    Dr. Mohsen Sharifi