У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


ЛАБОРАТОРНА РОБОТА.

з предмету: « Методи паралельних обчислень».
Тема: «Інформаційна цілісність кешів і протокол MESI».


Лабораторна робота.

Тема: Інформаційна цілісність кешів і протокол MESI.

Мета: Розглянути різні підходи до вирішення проблеми підтримки інформаційної цілісності даних у багатопроцесорній SMP-системі,а також
розглянути найпоширеніший спосіб – реалізації протоколу MESI.,і методи реалізації.

Хід роботи.

У сучасних обчислювальних системах стало нормою використання блоків кешу одного або двох рівнів, зв'язаних з кожним процесором. Така організація дозволяє домогтися високої продуктивності системи, але породжує проблему інформаційної цілісності даних у кешах різних процесорів. Суть її полягає в тому, що в кешах різних процесорів можливе збереження копій тих самих даних з головної пам'яті. Якщо при цьому деякий процесор обновляє який-небудь з елементів таких даних у своїй копії, то копії, з якими мають справу інші процесори, стають недостовірними, як і вміст головної пам'яті.

Способи вирішення проблеми інформаційної цілісності даних у кешах прийнято розділяти на програмні й апаратні. Іноді можна зустріти системи, у яких вона вирішується частково апаратними засобами, а частково – програмними.

3.1 Програмні методи

Суть програмних методів вирішення проблеми інформаційної цілісності даних в кешах полягає в тому, що така задача покладається на компілятор і операційну систему. Це дозволяє перенести основну складність вирішення задачі на етап компіляції, але може привести до неефективного використання кешів.

При виконанні компіляції аналізується, які елементи даних можуть спільно використовуватися різними процесами і потенційно послужити причиною порушення інформаційної цілісності. Ці дані відповідним чином позначаються як ті, що не підлягають кешуванню. На етапі виконання програми операційна система й апаратні засоби стежать за тим, щоб ці дані не передавалися в кеш.

Найпростіший підхід – позначити в такий спосіб усі дані, що спільно використовуються різними процесорами. Але такий підхід занадто консервативний, оскільки спільно використовувані структури даних можуть на деяких етапах знаходитися у винятковому користуванні одного процесу, а на інших етапах – зчитуватися без внесення змін іншими процесами. Тому блокування кешування випливає тільки на той час, коли хоча б один процес може внести зміни в ці дані, а інші процеси можуть до них звернутися.

Тому більш ефективні алгоритми компіляції виявляють етапи виконання програми, "безпечні" з погляду інформаційної цілісності спільно використовуваних змінних, а в ділянки програми, що відповідають критичним періодам, включаються спеціальні команди, що забезпечують підтримку інформаційної цілісності. Існує безліч методик виконання такого аналізу і відповідної модифікації формованого програмного коду, огляд яких можна знайти в роботах [LILJ93] і [STEN90].

3.2 Апаратні методи

Апаратні методи вирішення проблеми часто називають реалізацією протоколу забезпечення інформаційної цілісності. Їх поєднує те, що всі дії здійснюються в процесі виконання програм, тобто з обліком реальної обстановки, яка динамічно змінюється. При цьому забезпечується більш ефективне використання кешів і, отже, більш висока продуктивність системи в цілому, ніж при використанні програмних методів. Крім того, апаратний підхід звільняє від відповідних турбот розроблювачів компіляторів і прикладних програмістів, знижуючи в такий спосіб витрати на створення програмного забезпечення.

Варіанти апаратних методів мають безліч нюансів, що стосується місця збереження інформації про розподіл даних між кешами, способів організації цієї інформації і механізму дублювання змінених даних. Безліч існуючих варіантів прийнято поділяти на дві категорії – централізовані протоколи і розподілені відслідковуючі протоколи.

Висновок: У цій роботі було розглянуто різні підходи до вирішення проблеми підтримки інформаційної цілісності даних у багатопроцесорній SMP-системі. Основна увага була приділена найпоширенішому способові – реалізації протоколу MESI. Версії цього протоколу використовуються при побудові обчислювальних систем як на базі Pentium II, так і на базі PowerPC.

Способи вирішення проблеми інформаційної цілісності даних у кешах прийнято розділяти на програмні й апаратні. Іноді можна зустріти системи, у яких вона вирішується частково апаратними засобами, а частково – програмними,з якими ми ознайомилися вище.




Список використаної літератури.

1 Catanzaro B. Multiprocessor System Architectyres. – Mountain View, CA: Sunsoft Press, 1994.

2 Hwang K. Advanced Computer Architecture. – New York : McGraw-Hill, 1993.

3 Lilja D. Cache Coherence in Large-Scale Shared-Memory Multiprocessors : Issues and Comparisons. – ACM Computing Surveys, September 1993.

Pfister G. In Search of Clusters. – Upper Saddle River, NJ : Prentice Hall, 1998. Stone H. High-performance Computer Architecture. – Reading, MA : Addison-Wesley, 1993.