Coupling Facility در SYSPLEX
در مقاله ی SYSPLEX با مفهوم کلی SYSPLEX و مزایای آن آشنا شدیم و یاد گرفتیم که Parallel SYSPLEX از طریق ابزاری به نام CF ارتباطات بین سیستمی ایجاد می کند. در این مقاله درباره ی این ابزار صحبت خواهیم کرد.
جهت مطالعه مقاله ی SYSPLEX اینجا کلیک نمایید.
Coupling Facility یا CF چیست؟
CF یک پارتیشن منطقی خاص می باشد که خدمات قفل گذاری، caching و لیست کردن را بین پردازشگرهای مختلف z/OS انجام می دهد و به سیستم های درون یک SYSPLEX اجازه ی ارتباط گرفتن و به اشتراک گذاری داده را می دهد.
CF یک پردازشگر Mainframe است که شامل مموری، لینک های CF و کد کنترلی (CFCC) می باشد و به جز لینک های CF دستگاه ورودی/خروجی دیگری ندارد.
CF معمولا مموری بزرگی دارد و از آنجایی که CFCC یک سیستم عامل حافظه ی مجازی نیست، اطلاعات CF کاملا در مموری قرار می گیرند. همچنین CF هیچگونه نرم افزاری را اجرا نمی کند.
از طریق CF، یک SYSPLEX می تواند از صدها CPU (حداکثر ۳۲ سیستم و در هر کدام ۶۴ CPU) جهت اجرای تراکنش ها و برنامه های پایگاه داده استفاده نماید. با استفاده از لینک های CF، داده ها می توانند با Direct Memory Access و بدون ایجاد اختلال در برنامه های در حال اجرا، مستقیما بین مموریِ CF و مموریِ سیستم های درون SYSPLEX مبادله شوند.
سیستم های درون SYSPLEX اطلاعات CF را در یک مموری داخلی (Local) ذخیره می کنند که این باعث می شود تا بتوانند اطلاعات ضروری سایر سیستم ها را بدون نیاز به درخواست دادن به CF دریافت نمایند.
ساختار Coupling Facility :
یک CF به سه دلیل استفاده می شود:
- اطلاعات قفل گذاری مشترک در بین همه ی سیستم های درون SYSPLEX
- اطلاعات کَش (cache) مشترک در بین همه ی سیستم های درون SYSPLEX یا انسجام بافرپول های هر سیستم
- اطلاعات لیستِ داده ی مشترک در بین همه ی سیستم های درون SYSPLEX
این سه هدف انواع ساختار CF را تعریف می کنند.
یک Parallel SYSPLEX معمولا دارای چندین ساختار از هر نوع می باشد. گاها ممکن است ساختار ها در CF های مختلف دو برابر شوند که جهت اطمینان از هماهنگی، از هر ساختار دو کپی وجود داشته باشد.
درخواست های CF:
درخواست هایی که به ساختار CF ارسال می شوند دو نوع می باشند:
- درخواست های همزمان: زمانی که سیستم z/OS یک درخواست همزمان ایجاد می کند، برای کامل شدن آن درخواست منتظر می ماند. درخواست های همزمان سریع هستند اما باعث هدر رفتن CPU در زمان انتظار می شوند. پس این درخواست ها از نظر CPU هزینه ی بالایی دارند.
- درخواست های غیر همزمان: زمانی که سیستم z/OS یک درخواست غیر همزمان ایجاد می کند، در انتظار کامل شدن آن نمی ماند. درخواست های غیر همزمان نسبت به درخواست های همزمان دارای سرعت کمتری هستند (به دلیل اینکه اولویت پایین تری در CF دارند) اما باعث اشغال CPU در زمان انتظار نمی شوند.
جهت مطالعه بیشتر در خصوص SYSPLEX و CF به زبان انگلیسی می توانید از منابع زیر استفاده نمایید: