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

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

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

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

Alglave, S. Ishtiaq, L. Maranget, F. ZappaNardelli, S. Sarkar, P. Sewell и др. исследователями [6–8]. Новые версии моделейпродолжают появляться в связи с развитием процессорных архитектур. В частности, в 2016 и 2017 годах были представлены модели памяти для архитектурARMv8.0 и ARMv8.3 [9, 10]. В 1995 году была стандартизована слабая модельпамяти для языка Java [3]; в дальнейшем модель существенно менялась вплотьдо 2005 года. В 2011 году появилась аксиоматическая модель памяти для языковC/C++ [4].В 2017 году исследователи J. Kang, C.-K.

Hur, O. Lahav, V. Vafeiadis иD. Dreyer представили обещающую модель памяти (promising memory model,8Promise) [11], которая является перспективным решением проблемы задания семантики для языка с многопоточностью. Авторы доказали, что модель допускаетбольшинство необходимых оптимизаций, а также показали корректность эффективных схем компиляции в архитектуры x86 и Power.

Открытым остался вопросо корректности компиляции в архитектуру ARM.Целью данной работы является исследование применимости операционных подходов для описания реалистичных моделей памяти и анализа многопоточных программ на примере языков C/C++.Для достижения поставленной цели были сформулированы следующие задачи.1. Разработать операционную модель памяти С/С++11, свободную от проблемы “значений из воздуха”.2. Доказать корректность эффективной схемы компиляции из существенного подмножества обещающей модели в операционную модель памятиARMv8 POP.3. Доказать корректность эффективной схемы компиляции из существенного подмножества обещающей модели в аксиоматическую модель памятиARMv8.3.Постановка цели и задач исследования соответствует следующим пунктампаспорта специальности 05.13.11: модели, методы и алгоритмы проектированияи анализа программ и программных систем, их эквивалентных преобразований,верификации и тестирования (пункт 1); языки программирования и системы программирования, семантика программ (пункт 2); модели и методы создания программ и программных систем для параллельной и распределенной обработкиданных, языки и инструментальные средства параллельного программирования(пункт 8).Mетодология и методы исследования.

Методология исследования базируется на подходах информатики к описанию и анализу формальных семантикязыков программирования.В работе используется представление операционной семантики программыс помощью помеченной системы переходов [12], а также метода вычислительных контекстов, предложенного M. Felleisen [13]. Для доказательств корректности компиляции используется техника прямой симуляции [14, 15]. Программнаяреализация интерпретатора операционной модели памяти C/C++11 выполнена на9языке Racket [16,17] с использованием предметно-ориентированного расширенияPLT/Redex [18, 19].Основные положения, выносимые на защиту.1.

Предложена операционная модель памяти C/С++11, для этой модели реализован интерпретатор.2. Доказана корректность компиляции из существенного подмножестваобещающей модели в операционную модель памяти ARMv8 POP.3. Доказана корректность компиляции из существенного подмножестваобещающей модели в аксиоматическую модель памяти ARMv8.3.Научная новизна результатов, полученных в рамках исследования, заключается в следующем.1. Альтернативная модель памяти для стандарта C/C++11, предложенная вработе, отличается от обещающей модели памяти [11] тем, что являетсязапускаемой, т.е. для нее возможно создание интерпретатора (что и быловыполнено в рамках данной диссертационной работы).

Это отличие является следствием того, что для получения эффекта отложенного чтенияпредложенная модель использует синтаксический подход (буферизацияинструкций), тогда как обещающая модель — семантический (обещаниепотоком сделать запись в будущем).2. Доказательство корректности компиляции из обещающей модели памяти в аксиоматическую модель ARMv8.3 [10] не опирается на специфические свойства целевой модели, такие как представимость модели в виденабора оптимизаций поверх более строгой модели. Это отличает его отаналогичных доказательств для моделей x86 и Power (работы O.

Lahav,V.Vafeiadis и других [11, 20]).3. Доказательства корректности компиляции из обещающей модели памяти в модели ARMv8 POP [9] и ARMv8.3 [10], представленные в работе,являются первыми результатами о компиляции для данных моделей.Теоретическая и практическая значимость работы. Диссертационноеисследование предлагает новый операционный способ представления реалистичной семантики многопоточности с помощью меток времени и фронтов, которыйможет быть полезен при верификации многопоточных программ с неблокирующей синхронизацией, а также при анализе реализации примитивов блокирующейсинхронизации.10Предложенный в диссертационном исследовании метод доказательства корректности компиляции из обещающей в аксиоматические модели памяти можетбыть использован для доказательств корректности компиляции из обещающей модели в архитектуры других процессоров.

Последнее актуально в свете того, чтов комитетах по стандартизации языков C и C++ активно обсуждается вопрос осмене модели памяти, и обещающая модель является одной из возможных альтернатив.Степень достоверности и апробация результатов. Достоверность и обоснованность результатов исследования обеспечивается формальными доказательствами, а также инженерными экспериментами. Полученные результаты согласуются с результатами, установленными другими авторами.Основные результаты работы докладывались на следующих научных конференциях и семинарах: внутренний семинар ННГУ им. Лобачевского (13 декабря 2017, Нижний Новгород, Россия), открытая конференция ИСП РАН им. В.П.Иванникова (30 ноября–1 декабря 2017, РАН, Москва, Россия), семинар “Технологии разработки и анализа программ” (16 ноября 2017, ИСП РАН, Москва,Россия), внутренние семинары School of Computing of the University of Kent(август 2017, Кентербери, Великобритания), внутренние семинары Departmentof Computer Science of UCL (август 2017, Лондон, Великобритания), внутренние семинары MPI-SWS (май 2017, Кайзерслаутерн, Германия), The EuropeanConference on Object-Oriented Programming (ECOOP, 18–23 июня 2017, Барселона, Испания), конференция “Языки программирования и компиляторы” (PLC,3–5 апреля 2017, Ростов-на-Дону, Россия), Verified Trustworthy Software Systemsworkshop (VTSS, 4-7 апреля 2016, Лондон, Великобритания), POPL 2016 StudentResearch Competition (21 января 2016, Санкт-Петербург, Флорида, США).Публикации по теме диссертации.

Основные результаты по теме диссертации изложены в пяти печатных работах, зарегистрированных в РИНЦ. Из нихдве статьи изданы в журналах из “Перечня рецензируемых научных изданий, вкоторых должны быть опубликованы основные научные результаты диссертацийна соискание ученой степени кандидата наук, на соискание ученой степени доктора наук”, сформированного согласно требованиям, установленным Министерством образования и науки Российской Федерации. Одна статья опубликована виздании, входящем в базы цитирования SCOPUS и Web of Science.Личный вклад автора в публикациях, выполненных с соавторами, распределён следующим образом. В статьях [21,22] автор предложил схему доказательства11корректности компиляции для аксиоматических семантик и выполнил само доказательство для модели ARMv8.3; соавторы участвовали в обсуждении основныхидей доказательства.

В работах [23,24] автор выполнил формализацию семантикиARMv8 POP и доказал корректность компиляции методом симуляции; соавторыучаствовали в обсуждении идей доказательства и редактировали тексты статей. Вработе [25] личный вклад автора заключается в предложении идеи меток времении фронтов как способа операционного задания модели памяти, а также в созданиикомпонентного метода задания семантики и реализации интерпретатора; соавторы предложили синтаксический способ обработки отложенных операций.Благодарности.Я хочу выразить признательность своим коллегам, друзьям и семье, присутствиекоторых в моей жизни сделало эту работу возможной. Начать я хотел бы с выражения благодарности Д. Ю. Булычеву, А.

В. Иванову и компании JetBrains, которыепредоставили мне уникальную возможность заниматься наукой как основной деятельностью. Я признателен своему научному руководителю Д. В. Кознову, который помог мне пройти через тернистый путь создания диссертации. Я благодаренИ. Д. Сергею и А. Наневски (A. Nanevski) за бескорыстную поддержку и руководство моей работой на первых этапах. Я хотел бы выразить признательностьстаршим коллегам В. Вафеядису (V. Vafeiadis) и О. Лахаву (O. Lahav) за помощьв исследованиях и сотрудничество. Я очень благодарен коллективам MPI-SWS,IMDEA Software и кафедры системного программирования, а также лично А. Н.Терехову за создание душевной и плодотворной атмосферы для работы.Я признателен за удивительную отзывчивость и дружбу Д.

А. Березуну, запомощь в тяжелейших ситуациях и человеческую доброту А. М. Карачуну, занемыслимые поддержку и понимание А. В., Т. П. и В. Е. Турецким и моей семье. Я горячо признателен моей маме за её самоотверженное стремление помочьмне на каждом этапе моей жизни. Я безмерно благодарен моему папе за всё.12Глава 1. Обзор предметной областиВ данной главе вводятся основные понятия, использующиеся в этом диссертационном исследовании: модель памяти, слабая модель памяти и др.

— а также приводятся примеры. Рассматриваются существующие модели памяти языковпрограммирования и процессорных архитектур, а также требования, предъявляемые к ним. Приводится описание проблемы “значений из воздуха” (OOTA, out-ofthin-air values).

Подробно описывается модель памяти C/C++11 [4]. В конце главыприведены выводы о состоянии предметной области и о существующих открытыхпроблемах.1.1Модели памяти и слабые сценарии поведенияВ диссертационном исследовании под моделью памяти понимается семантика системы с многопоточностью, и рассматриваются два типа таких систем:языки программирования и процессорные архитектуры.Модели памяти разделяются по принципу того, какие ограничения на сценарии поведения программ они накладывают [26]. Так, строгая консистентностьгарантирует, что любая запись в память становится мгновенно видна всем потокам в системе.

Эта модель требует наличия некоторого абсолютного счётчика времени, разделяемого всеми потоками системы, что зачастую является недостижимым. Менее строгая модель последовательной консистентности [1] (SC,sequential consistency) предполагает, что любой сценарий поведения может бытьполучен исполнением потоков на одном вычислительном ядре с вытесняющеймногозадачностью. Это означает, что все операции над памятью, совершаемыепотоками в рамках одного сценария поведения, могут быть упорядочены, и полученный порядок согласуется с порядком инструкций в самих потоках. Сценарииповедения программ, которые не могут быть получены в рамках модели SC, называются слабыми, а модели, допускающие слабые сценарии поведения, — слабымимоделями памяти [2].Несмотря на то, что модель SC кажется наиболее естественной, а статья [1],в которой эта модель описывается, называется “How to make a multiprocessorcomputer that correctly executes multiprocess programs”, современные процессорные архитектуры и языки программирования активно используют слабые модели памяти.

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

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

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

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