رابط منسجم مقیاس‌پذیر

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

Scalable Coherent Interface and Serial Express Users, Developers, and Manufacturers Association
Group that supports the standard
کوته‌نوشتSCIzzL
بنیان‌گذاری1996
گونهNon-profit
وبگاه

استاندارد IEEE Std 1596-1992، استاندارد IEEE برای رابط منسجم مقیاس پذیر (SCI) توسط هیئت استانداردهای IEEE در ۱۹ مارس ۱۹۹۲ تأیید شد. این استاندارد در طول دهه ۱۹۹۰ مورد استفاده قرار گرفت، اما هرگز به‌طور گسترده مورد استفاده قرار نگرفت و از اوایل دهه ۲۰۰۰ با سیستم‌های دیگر جایگزین شده‌است.

تاریخچه ویرایش

بلافاصله پس از پروژه Fastbus (IEEE 960) Futurebus (IEEE 896) در سال ۱۹۸۷، برخی مهندسان پیش‌بینی کردند که تا زمانی که در اوایل دهه ۱۹۹۰ منتشر شود، برای بازار محاسباتی با کارایی بالا بسیار کند خواهد بود. در پاسخ، یک گروه مطالعاتی "Superbus" در نوامبر ۱۹۸۷ تشکیل شد. کارگروه دیگری از انجمن استاندارد مؤسسه مهندسین برق و الکترونیک (IEEE) برای تشکیل استانداردی در این بازار در ژوئیه ۱۹۸۸ تشکیل شد. زیرمجموعه‌ای از ویژگی‌های Futurebus که می‌توان آن‌ها را به راحتی با سرعت بالا پیاده‌سازی کرد، همراه با اضافات جزئی برای تسهیل اتصال به سیستم‌های دیگر، مانند VMEbus. بسیاری از توسعه دهندگان پیشینه خود را از گذرگاه‌های کامپیوتری پرسرعت داشتند. نمایندگانی از شرکت‌های صنعت کامپیوتر و جامعه تحقیقاتی شامل Amdahl, Apple Computer, BB&N, Hewlett-Packard, CERN, Dolphin Server Technology, Cray Research, Sequent, AT&T, Digital Equipment Corporation, McDonnell Douglas, National Semiconductor, Stanford Linear Accelerator, Tektronix, Texas Instruments, Unisys، دانشگاه اسلو، دانشگاه ویسکانسین.

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

دیوید وی جیمز در نوشتن مشخصات از جمله C-code قابل اجرا مشارکت قابل توجهی داشت. [نیاز به منبع] گروه Stein Gjessing در دانشگاه اسلو از روش‌های رسمی برای تأیید پروتکل انسجام استفاده کردند و Dolphin Server Technology یک تراشه کنترل‌گر گره شامل منطق انسجام حافظه پنهان را پیاده‌سازی کرد.

 
بلوک دیاگرام یک مثال

نسخه‌ها و مشتقات مختلف SCI توسط شرکت‌هایی مانند Dolphin Interconnect Solutions, Convex, Data General AViiON (با استفاده از کنترل‌کننده حافظه پنهان و تراشه‌های کنترل‌کننده پیوند از Dolphin), Sequent و Cray Research پیاده‌سازی شدند. Dolphin Interconnect Solutions یک مشتق متصل PCI و PCI-Express از SCI را پیاده‌سازی کرد که دسترسی به حافظه مشترک غیر منسجم را فراهم می‌کند. این پیاده‌سازی توسط Sun Microsystems برای خوشه‌های پیشرفته خود، گروه Thales و چندین برنامه دیگر از جمله برنامه‌های حجمی برای ارسال پیام در خوشه‌بندی HPC و تصویربرداری پزشکی استفاده شد. SCI اغلب برای پیاده‌سازی معماری‌های دسترسی غیریکنواخت حافظه مورد استفاده قرار می‌گرفت. همچنین توسط Sequent Computer Systems به عنوان گذرگاه حافظه پردازنده در سیستم‌های NUMA-Q خود استفاده شد. Numascale یک مشتق برای ارتباط با HyperTransport منسجم ایجاد کرد.

استاندارد ویرایش

استاندارد دو سطح رابط را تعریف می‌کند:

  • سطح فیزیکی که با سیگنال‌های الکتریکی، اتصالات، شرایط مکانیکی و حرارتی سروکار دارد.
  • سطح منطقی که فضای آدرس، پروتکل‌های انتقال داده، مکانیسم‌های انسجام حافظه پنهان، موارد اولیه همگام‌سازی، ثبت‌های کنترل و وضعیت، و امکانات اولیه و بازیابی خطا را توصیف می‌کند.

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

مقیاس‌پذیری برای سیستم‌های بزرگ از طریق یک مدل انسجام حافظه پنهان مبتنی بر دایرکتوری توزیع شده به دست می‌آید. (مدل‌های محبوب دیگر برای انسجام حافظه نهان مبتنی بر استراق سمع (جاسوسی) تراکنش‌های حافظه در سراسر سیستم است - طرحی که خیلی مقیاس پذیر نیست) در SCI هر گره حاوی یک فهرست با اشاره گر به گره بعدی در یک لیست پیوندی است که یک خط حافظه پنهان خاص را به اشتراک می‌گذارد.

SCI یک فضای آدرس مسطح ۶۴ بیتی (۱۶ اگزابایت) را تعریف می‌کند که در آن ۱۶ بیت برای شناسایی یک گره (۶۵۵۳۶ گره) و ۴۸ بیت برای آدرس درون گره (۲۵۶ ترابایت) استفاده می‌شود. یک گره می‌تواند شامل تعداد زیادی پردازنده و/یا حافظه باشد. استاندارد SCI یک شبکه سوئیچینگ بسته را تعریف می‌کند.

توپولوژی‌ها ویرایش

SCI می‌تواند برای ساخت سیستم‌هایی با انواع توپولوژی‌های سوئیچینگ از سوئیچینگ متمرکز تا سوئیچینگ کاملاً توزیع شده استفاده شود:

  • با یک سوییچ مرکزی، هر گره با یک حلقه (در این مورد یک حلقه دو گره) به سوئیچ متصل می‌شود.
  • در سیستم‌های سوئیچینگ توزیع شده، هر گره را می‌توان به حلقه ای با طول دلخواه وصل کرد و همه یا برخی از گره‌ها را می‌توان به دو یا چند حلقه متصل کرد.

رایج‌ترین روش برای توصیف این توپولوژی‌های چند بعدی، n-مکعب k-ary (یا توری) است. مشخصات استاندارد SCI چندین توپولوژی از این قبیل را به عنوان نمونه ذکر می‌کند.

چنبره دو بعدی ترکیبی از حلقه‌های دو بعدی است. جابجایی بین دو بعد به یک قابلیت سوئیچینگ کوچک در گره نیاز دارد. این را می‌توان به سه بعد یا بیشتر گسترش داد. مفهوم حلقه‌های تاشو همچنین می‌تواند برای توپولوژی‌های Torus اعمال شود تا از هر گونه اتصال طولانی جلوگیری شود.

معاملات ویرایش

SCI اطلاعات را در بسته‌ها ارسال می‌کند. هر بسته از یک دنباله ناگسستنی از نمادهای ۱۶ بیتی تشکیل شده‌است. نماد با بیت پرچم همراه است. انتقال بیت پرچم از ۰ به ۱ شروع یک بسته را نشان می‌دهد. انتقال از ۱ به ۰ ۱ (برای پژواک) یا ۴ نماد قبل از پایان بسته رخ می‌دهد. یک بسته حاوی یک سربرگ با فرمان آدرس و اطلاعات وضعیت، بار (از ۰ تا طول داده‌های اختیاری) و یک نماد بررسی CRC است. اولین نماد در سربرگ بسته حاوی آدرس گره مقصد است. اگر آدرس در دامنه ای که توسط گره دریافت کننده مدیریت می‌شود نباشد، بسته از طریق بای پس FIFO به خروجی ارسال می‌شود. در حالت دیگر، بسته به یک صف دریافت تغذیه می‌شود و ممکن است به یک حلقه در بعد دیگری منتقل شود. همه بسته‌ها هنگام عبور از اسکرابر علامت گذاری می‌شوند (وقتی حلقه اولیه می‌شود یک گره به عنوان اسکرابر ایجاد می‌شود). بسته‌های بدون آدرس مقصد معتبر هنگام عبور از اسکرابر برای بار دوم حذف می‌شوند تا از پر شدن حلقه با بسته‌هایی که در غیر این صورت به‌طور نامحدود در گردش هستند، جلوگیری شود.

انسجام حافظه پنهان ویرایش

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

در عوض، SCI از یک پروتکل انسجام حافظه نهان مبتنی بر دایرکتوری توزیع شده با لیست پیوندی از گره‌های حاوی پردازنده‌هایی استفاده می‌کند که یک خط حافظه پنهان خاص را به اشتراک می‌گذارند. هر گره یک دایرکتوری برای حافظه اصلی گره با یک برچسب برای هر خط حافظه (همان طول خط با خط حافظه پنهان) نگه می‌دارد. تگ حافظه یک اشاره گر به سر لیست پیوند داده شده و یک کد حالت برای خط (سه حالت - خانه، تازه، رفته) دارد. به هر گره نیز یک حافظه پنهان برای نگهداری داده‌های راه دور با دایرکتوری حاوی نشانگرهای رو به جلو و عقب به گره‌ها در لیست پیوندی که خط حافظه پنهان را به اشتراک می‌گذارند، مرتبط است. تگ حافظه نهان دارای هفت حالت است (نامعتبر، فقط تازه، سر تازه، فقط کثیف، سر کثیف، متوسط معتبر، دم معتبر).

دایرکتوری توزیع شده مقیاس پذیر است. سربار برای انسجام حافظه پنهان مبتنی بر دایرکتوری، درصد ثابتی از حافظه و حافظه پنهان گره است. این درصد برای حافظه ۴ درصد و برای حافظه نهان ۷ درصد است.

میراث ویرایش

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

گوستاوسون گروهی به نام رابط منسجم مقیاس پذیر و انجمن کاربران، توسعه دهندگان و سازندگان سریال اکسپرس را رهبری کرد و از سال 1996[۱] وب سایت برای این فناوری داشت. مجموعه ای از کارگاه‌ها تا سال ۱۹۹۹ برگزار شد. پس از اولین نسخه ۱۹۹۲، پروژه‌های بعدی فرمت‌های داده مشترک را در سال ۱۹۹۳ تعریف کردند، نسخه ای با استفاده از سیگنال دهی دیفرانسیل ولتاژ پایین در سال ۱۹۹۶، و یک رابط حافظه که بعداً در سال ۱۹۹۶ به نام Ramlink شناخته شد. در ژانویه ۱۹۹۸، شرکت SLDRAM برای ثبت اختراع در تلاش برای تعریف یک رابط حافظه جدید که مربوط به گروه کاری دیگری به نام SerialExpress یا Local Area Memory Port بود، تشکیل شد.[۲][۳] با این حال، در اوایل سال ۱۹۹۹ استاندارد حافظه جدید کنار گذاشته شد.[۴]

در سال ۱۹۹۹ مجموعه ای از مقالات به عنوان کتاب در مورد SCI منتشر شد. مشخصات به روز شده در ژوئیه ۲۰۰۰ توسط کمیسیون بین‌المللی الکتروتکنیکی (IEC) سازمان بین‌المللی استاندارد (ISO) به عنوان ISO/IEC 13961 منتشر شد

جستارهای وابسته ویرایش

منابع ویرایش

  1. "Scalable Coherent Interface and Serial Express Users, Developers, and Manufacturers Association". Group web site. Retrieved August 31, 2013.
  2. David B. Gustavson (February 10, 1999). "Organizing for Alternatives".
  3. David V. James; David B. Gustavson; B. Fleischer (May–Jun 1998). "SerialExpress-a high performance workstation interconnect". IEEE Micro. IEEE. 18 (3): 54–65. doi:10.1109/40.683105.
  4. David Lammers (February 19, 1999). "ISSCC: SLDRAM group morphs to DDR II". EE Times.