Главная » Просмотр файлов » Диссертация

Диссертация (1149932), страница 23

Файл №1149932 Диссертация (Операционные методы в приложении к слабым моделям памяти) 23 страницаДиссертация (1149932) страница 232019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 23)

Для любой программы P rog, результата её компиляции P rogARM иARM-согласованного сценария поведения G программы P rogARM существует такой сценарий поведения обещающей машины, что финальное состояние памятимашины совпадает с состоянием памяти G.Здесь под “финальным состоянием памяти”, также как и в случае корректностикомпиляции для ARMv8 POP, понимается, в случае обещающей семантики, значение последних записей в локации (т.е.

записей с наибольшими метками времени), а в случае ARMv8.3 — события-максимумы в отношении частичного порядка G.mo. Обе модели заданы в существенно разных стилях и, следовательно,имеют множество концептуальных отличий. Их необходимо преодолеть для доказательства теоремы 5. Главным отличием этих моделей является то, что обещающая модель памяти представлена операционно, в терминах шагов некоторойабстрактной машины, а модель ARMv8.3 является аксиоматической и задаёт семантику сценария поведения программы в виде графа с определёнными свойствами.

Для преодоления этого отличия вводится операционная семантика обхода графа ARM-согласованного сценария поведения, шаги которой обещающая машинаможет непосредственно повторять (раздел 4.3). Другим существенным отличиемявляются те способы, которыми данные модели запрещают “плохие” сценарии.Например, такие как чтение потоком старой записи в x в случае, если поток ужевыполнял чтение из более новой записи в x.

Для предотвращения этой ситуациимодель ARMv8.3 использует аксиомы, которые проверяют отсутствие циклов вграфе, а обещающая модель в этом случае использует фронты потоков и сообщений. Для того, чтобы обойти описанное различие между моделями, вводятся117дополнительные отношения на вершинах ARM-согласованного сценария поведения, которые тесно связаны с фронтами обещающей модели (раздел 4.4).

С использованием этих идей и техники симуляции доказывается теорема 5 (раздел4.5).4.3Обход ARM-согласованного сценарияВ этом разделе сначала вводятся вспомогательные определения, затем формализуется понятие шага обхода и доказывается существование последовательности шагов, которые полностью обходят любой ARM-согласованный сценарийповедения (теорема 6).Определение 7. Конфигурацией обхода для ARM-согласованного сценария поведения G называются множества ⟨C, I⟩ такие, что:– C ⊆ G.E,– dom(G.po; [C]) ⊆ C,– C ∩ G.W ⊆ I ⊆ G.W.Элементы C мы будем называть покрытыми (covered) событиями, а I — выпущенными (issued) событиями.Покрытые события при симуляции будут соответствовать префиксу программы, который исполнен обещающей машиной, а выпущенные — записями,находящимся в памяти обещающей машины в соответствующий момент исполнения.Определение 8.

Начальной конфигурацией ARM-согласованного сценария поведения G называется пара ⟨G.E0 , G.E0 ⟩, где G.E0 — это множество инициализирующих записей.Начальная конфигурация является конфигурацией обхода, посколькуG.E0 ⊆ G.E, dom(G.po; [G.E0 ]) = ∅ и G.E0 ∩ G.W = G.E0 .Определение 9. Для сценария поведения G и его покрытия C ⊆ G.E множествомследующих событий Next(G, C) называется множество, состоящие из событий,для которых все po-предшествующие события уже покрыты:Next(G, C) ≜ {b ∈ G.E | dom(G.po; [b]) ⊆ C} \ C.118При симуляции данное множество будет содержать по одному событию длякаждого ещё не завершённого в обещающей машине потока, причём события будут соответствовать следующему переходу в потоке — т.е. переходу, который неявляется обещанием. Так, если бы обещающая семантика была определена поверхнекоторого синтаксиса, то множество следующих событий соответствовало быинструкциям, на которые указывают счётчики команд потоков (program counters)в обещающей модели.Определение 10.

В конфигурации обхода ⟨C, I⟩ событие a является покрываемымдля сценария поведения G и обозначается a ∈ Coverable(G, C, I), если событиеa является:– событием чтения, и связанное с ним событие записи оказывается выпущенным (a ∈ G.R и rf−1 (a) ∈ I),– или выпущенным событием (a ∈ I),– или барьером памяти (a ∈ G.F).В нашем обходе, заданном операционным способом, имеется шаг, который“покрывает” событие, т.е.

добавляет его во множество покрытых. Событие, которое покрывается данным правилом, должно соответствовать представленнымвыше ограничениям. Эти ограничения, в свою очередь, соответствуют ограничениям обещающей машины. Например, обещающая машина может прочитать изнекоторого конкретного сообщения только тогда, когда данное сообщение есть впамяти, т.е.

соответствующее ему событие w уже выпущено (w ∈ I).Определение 11. Для сценария G событие w называется выпускаемым в конфигурации обхода ⟨C, I⟩, w ∈ Issuable(G, C, I), если выполнены следующие условия:– w является событием записи (w ∈ G.W);– все po-предшествующие барьеры покрыты (dom([F]; G.po; [w]) ⊆ C);()– все записи других потоков, от которых зависит w, выпущены()(dom(G.rfe; G.dob+ ; [w]) ⊆ I).Если шаг обхода “выпускает” событие записи, то при симуляции он соответствует обещанию, которое делает обещающая машина. Ограничениеявляется более строгим, чем необходимо для симуляции — в обещающей моделиобещание может быть сделано “через” приобретающий барьер, который соответствует fence(ld) в ARMv8.3.

Тем не менее, более строгое ограничение позволяет119упростить симуляцию. Ограничениетребуется для того, чтобы обещающая модель могла сертифицировать обещание, которое она делает. Шаги обходазадаются так:a ∈ Next(G, C) ∩ Coverable(G, C, I)w ∈ Issuable(G, C, I) \ IG ⊢ ⟨C, I⟩ →TC ⟨C ∪ {a}, I⟩G ⊢ ⟨C, I⟩ →TC ⟨C, I ∪ {w}⟩Здесь левое правило покрывает событие, если оно принадлежит множеству следующих за ним событий и при этом покрываемо в данной конфигурации.

Правоеправило выпускает событие записи, если событие выпускаемо и при этом ещё невыпущено.Для того, чтобы использовать предложенный метод обхода в доказательствекорректности компиляции, нужно показать, что для любого ARM-согласованногосценария поведения существует его полный обход, т.е. обход, который покрываетвсе события из этого сценария.Теорема 6. Для любого ARM-согласованного сценария поведения G существуетобход G ⊢ ⟨G.E0 , G.E0 ⟩ →∗TC ⟨G.E, G.W⟩.Доказательство теоремы основано на следующих вспомогательных леммах.Лемма 9.

Пусть пара множеств ⟨C, I⟩ является достижимой конфигурацией обхода ARM-согласованного исполнения G, т.е. G ⊢ ⟨G.E0 , G.E0 ⟩ →∗TC ⟨C, I⟩. Тогдавсе события из множества C покрываемы (C ⊆ Coverable(G,C,I)), а события изI выпускаемы (I ⊆ Issuable(G,C,I)).Доказательство. Утверждение леммы следует из определений отношенийCoverable и Issuable, а также из того, что размеры множеств покрытых и выпущенных событий при обходе G увеличиваются.Лемма 10. Пусть пара множеств ⟨C, I⟩ является достижимой конфигурацией обхода ARM-согласованного исполнения G, т.е.

G ⊢ ⟨G.E0 , G.E0 ⟩ →∗TC ⟨C, I⟩. Тогдавсе события записи, которые являются элементами множества следующих событий, являются выпускаемыми, т.е. W ∩ Next(G, C) ⊆ Issuable(G,C,I).Доказательство. Зафиксируем w ∈ W ∩ Next(G, C) и покажем, что w ∈Issuable(G, C, I). Т.к. w ∈ Next(G, C), то все po-предшествующие события являются покрытыми (т.е. находятся в C). Из этого следует, что выполняется-120. Кроме того, из леммы 9 следует, что все покрытые события являются покрываемыми.

Таким образом, можно заключить, что выполняется,азначит, для w принадлежит Issuable(G, C, I).Доказательство теоремы 6. ПосколькукаждыйконкретныйARMсогласованный сценарий поведения является конечным графом, а шаги обходанаращивают конфигурации, то для доказательства наличия полного обхода графадостаточно показать, что для каждой не конечной конфигурации существует шагк новой конфигурации. А именно, что для любой конфигурации обхода ⟨C, I⟩ сценария G, достижимой из начальной конфигурации (G ⊢ ⟨G.E0 , G.E0 ⟩ →∗TC ⟨C, I⟩),множество покрытых событий которой не полно (C ̸= G.E), существуют такие C ′и I ′ , что G ⊢ ⟨C, I⟩ →TC ⟨C ′ , I ′ ⟩. Покажем это.Зафиксируем ⟨C, I⟩.

Нам известно, что Next(G, C) ̸= ∅, т.к. C ̸= G.E.Рассмотрим два следующих случая: (i) существует элемент Next(G, C), который покрываем, или сначала выпускаем, а потом покрываем; (ii) все элементыв Next(G, C) не покрываемы и не выпускаемы (для этого случая мы показываем,что в G существует событие записи, которое выпускаемо в данной конфигурации).Случай 1. Зафиксируем элемент a ∈ Next(G, C).

Если a ∈ R и rf−1 (a) ∈ I,или a ∈ F, или a ∈ W ∩ I, тогда a покрываем по определению. Если a ∈ W \ I, тогдаa является выпускаемым по лемме 10.Случай 2. Мы предполагаем, что не существует события из Next(G, C),которое покрываемо или выпускаемо. Таким образом Next(G, C) ⊆ R являетсяследствием леммы 10 и определения покрываемого события. Кроме того, для любого чтения события r из Next(G, C) мы знаем, что rf−1 (r) ̸∈ I. Далее покажем,что существует событие записи, которое выпускаемо в данной конфигурации. Дляэтого введём вспомогательное отношение eord ≜ (obs ∪ dob ∪ bob)+ , котороеантирефлексивно по определению ARM-согласованности ().Мы знаем, что имеется, как минимум, одно событие (чтения) из Next(G, C),которое при этом не покрываемо.

Это означает, что существует событие записи,которое ещё не выпущено. Выберем событие записи w ∈ W \ I, которое являетсяминимальным среди не выпущенных записей по отношению eord, т.е. ∄w′ ∈ W \I. eord(w′ , w). Осталось показать, что событие w выпускаемо.Т.к. w ̸∈ Next(G, C), то существует событие чтения r ∈ Next(G, C) такое,что po(r, w) и rf−1 (r) ̸∈ I. При этом rf−1 (r) = rfe−1 (r), т.к. C ∩ W ⊆ I и121∀e ∈ C.

Характеристики

Тип файла
PDF-файл
Размер
763,31 Kb
Высшее учебное заведение

Список файлов диссертации

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее