WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 28 |
исполнения. Проводится анализ эффективности, а так же анализ недостатков метода. Предлагается вариант реализации, позволяющий снизить себестоимость разработки.

Предисловие Статья В. Несова и О. Маликова «Использование информации о линейных зависимостях для обнаружения уязвимостей в исходном коде программ» В очередном томе «Трудов Института» представлены статьи, посвященные посвящена некоторым аспектам реализации метода обнаружения потенразличным аспектам системного программирования: организации циальных уязвимостей в программе на основе статического потоковокомпиляторов и систем программирования, защите программных средств от чувствительного анализа потоков данных. Серьезной проблемой этого метода различного рода атак, тестированию программного обеспечения на основе является большое количество ложных предупреждений. Часто ложные формальных спецификаций, автоматизации создания программного предупреждения вызваны недостаточной точностью определяемой обеспечения на основе формализованных описаний аппаратуры, модельноинформации об атрибуте – значение некоторой переменной (объекта ориентированной разработке программных систем, интеллектуальному программы). Самым простым подходом определения информации о анализу данных.

целочисленных значениях является анализ на основе интервальных оценок.

В статье А. Белеванцева, М. Кувыркова, Д. Мельника «Использование паралПредлагаемый авторами подход состоит в поддержании системы линейных лелизма на уровне команд в компиляторе для Intel Itanium» описывается неравенств, выполняющихся для числовых атрибутов в данной точке выполненная авторами разработка и реализация алгоритма эффективной программы.

генерации команд раннего выполнения (speculative execution). Технология В статье В. Владимирова «Критерии полноты тестового покрытия в раннего выполнения – это одна из особенностей EPIC (Explicitly Parallel генетических алгоритмах генерации тестов». В статье описывается применение Instruction Computing), заключающаяся в возможности опережающего генетических алгоритмов для автоматической генерации тестов. Проводится выполнения команд, которые используют данные из памяти, что помогает анализ некоторых широко распространённых критериев полноты на предмет “скрывать” задержки чтения данных и лучше переупорядочивать поток их применимости для построения тестов с помощью генетических алгоритмов.

команд. В статье описывается предложенный авторами алгоритм генерации Строятся оценочные функции, соответствующие этим критериям.

инструкций раннего выполнения, а также приводятся методы, используемые авторами для улучшения эффективности раннего выполнения на основании Статья С. Грошева «Применение технологии UniTesK для тестирования систем данных анализа указателей.

с различной конфигурацией активных потоков управления» посвящена особенностям тестирования различных конфигураций активных потоков с В статье П. Довгалюка «Разреженная модель базовых блоков для оптимизации помощью технологии тестирования UniTesK. В статье исследуются потоков команд» предлагается модель для описания потоков команд в базовых возможности использования технологии тестирования UniTesK для построения блоках. Модель ориентирована на задачи оптимизации потоков команд по тестов с различной конфигурацией потоков управления, систематизируется скорости их исполнения. Подобные модели применяются с целью получения опыт тестирования различных конфигураций активных потоков, кратчайшего по времени расписания команд, поступающих на конвейер разрабатываются подходы для случаев, на которые технология UniTesK в процессора.

существующем на данный момент виде не рассчитана.

Статья С. Гайсаряна и К Долговой «Разработка системной поддержки вызова В статье А. Демакова, С. Зеленова и С. Зеленовой «Генерация тестовых данных программ, реализованных на языке Fortran, из среды Java посвящена сложной структуры с учетом контекстных ограничений» представлена исследованию возможности вызова программ, реализованных на языке Fortran технология автоматической генерации тестовых данных сложной структуры, 95, из среды Java. Чтобы среды могли обмениваться данными, должно иметься обеспечивающая возможность тонкой настройки процесса генерации тестовых отображение данных одной среды на данные другой. В статье представлено данных и оптимизации этого процесса под особенности функциональности описание отображения данных языка Fortran на данные языка Java и обратно.

конкретного тестируемого приложения. Подход основан на использовании Также описывается способ эффективной передачи данных из среды Java в формального описания данных сложной структуры.

среду Fortran и обратно. Помимо этого, в статье рассматривается метод организации вызова подпрограмм, реализованных на языке Fortran из В статье В. Мутилина «Паттерны проектирования тестовых сценариев» окружения Java.

рассматриваются вопросы использования типовых решений (паттернов проектирования) для построения тестовых программ, основанных на В статье П. Бойко «Метод виртуального процессора в защите программного обобщенных моделях тестируемых систем в форме неявно заданных конечных обеспечения» рассматривается метод защиты программного обеспечения от автоматов.

изучения с помощью переноса защищаемого кода в виртуальную среду В статье С. Зеленова и Д. Силакова «Автоматическая генерация тестовых помощью классификации выявляются признаки, характеризующие группу, к данных для оптимизаторов графических моделей» предлагается метод которой принадлежит тот или иной объект. Это делается посредством анализа GraphOTK автоматической генерации тестовых данных для тестирования уже классифицированных объектов и формулирования некоторого набора оптимизирующих трансляторов графических моделей. Это метод позволяет правил. Целью различных алгоритмов классификации, обзор которых решить проблему автоматической генерации тестовых данных, а также за счет приводится в статье, является построение классификационной модели, которая параметризации генератора позволяет варьировать количественные и будет предсказывать класс для заданного примера на основании имеющихся качественные характеристики получаемых тестовых данных. значений атрибутов.



В статье В. Рубанова и А. Михеева «Интегрированная среда описания системы Наконец, завершающая сборник статья В.В. Кулямина, В.А. Омельченко и команд встраиваемых процессоров» рассматривается интегрированная среда О.Л. Петренко «Формирование профессиональных компетенций современного MetaDSP для описания системы команд встраиваемых процессоров. Такое разработчика ПО» посвящена обоснованию эффективности применения описание включает спецификацию синтаксиса и поведения команд процессора активных методов обучения передовым технологиям разработки программного и позволяет автоматически настроить набор кросс-инструментария разработки обеспечения, в частности, формальным методам. Предоставлено несколько (ассемблер, дисассемблер, симулятор, отладчик), а также сгенерировать примеров таких методов, которые подталкивают студентов к активному документацию прикладного программиста для целевого процессора. Эти мышлению и использованию получаемых при обучении знаний в практической возможности позволяют использовать MetaDSP и соответствующий деятельности.

настраиваемый кросс-инструментарий на этапе дизайна аппаратуры для Замечу, что наряду с изданием ежегодного сборника «Трудов Института» ИСП прототипирования встраиваемых процессоров.

РАН регулярно издает препринты, в которых публикуются более объемные В статье Ю. Фонина «Использование языков описания процессоров высокого работы сотрудников Института. В частности, одновременно с настоящим уровня для генерации платформо-зависимых частей операционной системы» сборников публикуются препринты А. Болдакова и М. Гринева «Расширение анализируются языки описания архитектур процессора, рассматриваются языка XQuery функциональными update-выражениями» и П. Плешачкова основные элементы микропроцессора, а также выделяются базовые элементы «SXTM: Высокопроизводительный менеджер управления XMLархитектуры процессора, необходимые для генерации ядра операционной транзакциями». Эти работы, как и многие исследования, результаты которых системы, их параметры и свойства. публикуются в сборнике, поддержаны грантами РФФИ, Министерства науки и образования и президиума РАН.

В статье Е. Волковой и А. Страбыкина «Анализ и трансформации исполняемых UML моделей» рассматриваются конечные автоматы языка UML, предлагается подход к анализу исполняемых моделей UML. На Член-корреспондент РАН В.П. Иванников основании выборки моделей, использованных в промышленных проектах, исследуются их количественные свойства и демонстрируется актуальность трансформации моделей. Выделяются образцы, часто используемые при построении автоматов. Предлагаются новые трансформации, улучшающие структуру модели, описывается процесс их применения к реальной системе.

В статье А. Волкова «Использование ролей в сценариях взаимодействия» рассматривается возможность систематического использования понятия роли в сценариях взаимодействия и исследуются средства, позволяющие строить общее поведение для объектов моделируемой системы по их поведению в различных ролях. Для представления сценариев используется модель взаимодействий UML (UML Interactions). В качестве абстрактных моделей для описания общего поведения объектов рассматриваются автоматные модели и модели, основанные на сетях Петри, в нотации UML (машины состояний и активности соответственно).

Целью статьи Г. Маракаевой «Применение методов выявления закономерностей для классификации химических соединений» является постановка задачи классификации неизвестных химических соединений. С – большой регистровый файл и много параллельно работающих функциональных устройств.

Из перечисленного списка особенностей архитектуры видно, что создание оптимизирующего компилятора для EPIC является принципиально иной задачей, чем оптимизация под традиционные последовательные архитектуры.

Использование параллелизма на Компилятор для EPIC должен уметь выразить как можно больше параллелизма уровне команд в компиляторе для на уровне команд, создавая эффективный план выполнения программы с учетом всех возможностей архитектуры, и упаковать эти команды в длинные Intel Itanium слова. При этом задачи, возникающие при использовании свойств архитектуры, ранее в компиляторах не ставились, и методы их решения до сих пор в полной мере не разработаны.

А. Белеванцев, М. Кувырков, Д. Мельник Целью нашей работы является разработка и реализация алгоритма эффективной генерации команд раннего выполнения (speculative execution).

1. Введение Технология раннего выполнения – это одна из особенностей EPIC, заключающаяся в возможности опережающего выполнения команд, Современные микропроцессоры обладают достаточными ресурсами для использующих данные из памяти, что помогает “скрывать” задержки чтения выполнения нескольких инструкций за один такт. Для того, чтобы достичь данных и лучше переупорядочивать поток команд. В данной статье мы хорошей производительности на таких процессорах, нужно уметь находить в описываем предлагаемый нами алгоритм генерации инструкций раннего программе инструкции, которые могут выполняться независимо. Обычно эту выполнения, а также приводим методы, которые используются нами для задачу называют обнаружением параллелизма на уровне команд (ILP, улучшения эффективности раннего выполнения на основании данных анализа instruction level parallelism).





указателей. Кроме того, мы обсуждаем результаты тестирования реализации Суперскалярные процессоры решают задачу нахождения ILP динамически в алгоритма для компилятора GCC [2] на пакете SPEC CPU 2000.

процессе выполнения программы. Программа для этих процессоров не содержит сведений о том, какие инструкции могут выполняться независимо, и 2. Реализация раннего выполнения на Intel Itanium вся нагрузка по нахождению оптимального “плана” выполнения ложится на аппаратуру. Чем больше команд процессор может выдать за такт, тем сложнее В этом разделе мы описываем технику раннего выполнения, а также ее в реальном времени обнаружить оптимальную последовательность реализацию в процессорах Itanium. Далее под инструкцией (или командой) мы выполнения команд.

понимаем одну операцию, выполняемую процессором.

Для того, чтобы преодолеть эти ограничения, фирмой Intel была предложена Процессоры семейства Intel Itanium [3] являются реализацией архитектуры архитектура EPIC (Explicitly Parallel Instruction Computing [1]) с очень длинным EPIC с очень длинным командным словом (VLIW – Very Long Instruction командным словом, реализованная в процессорах семейства Itanium. Идея Word). Каждое такое командное слово представляет собой пакет инструкций, EPIC состоит в том, чтобы переложить задачу по поиску ILP на компилятор.

который включает в себя 3 инструкции, и задает шаблон, который указывает EPIC-программа содержит явные указания на то, какие инструкции можно процессору, на каком функциональном устройстве следует выполнять каждую выполнять параллельно, а EPIC-процессор в точности следует тому плану из инструкций. Itanium 2 имеет более 20 функциональных устройств, которые выполнения, который задает программа. При этом его основной задачей могут работать параллельно.

становится обеспечение работы конвейера, и необходимость в аппаратной Пакеты инструкций объединяются в группы инструкций (далее – просто реализации сложной логики поиска независимых инструкций отпадает.

группы), каждая из которых может быть выполнена за 1 такт работы С другой стороны, отдавая компилятору задачу определения наилучшего плана процессора (всего до двух групп за 1 такт). Группы разделяются между собой выполнения программы, архитектура должна предоставить компилятору стоп-битами, которые являются частью кода шаблона; в текущей реализации широкие возможности по управлению ходом выполнения программы. EPIC в одной группе может быть до двух пакетов. Задача компилятора по дает возможность компилятору (помимо явного указания на независимость выявлению ILP состоит в явном указании шаблонов пакетов и границ групп определенных команд) предсказывать ветвления, влиять на работу кэша, инструкций (с помощью стоп-битов). Шаблоны указывают процессору, куда избавляться от коротких ветвлений, выполнять команды с опережением и некоторые другие. Кроме того, предоставляется значительный объем ресурсов требуется распределить инструкции, а группы явно указывают, какие могут быть перемещены. Перед использованием результатов перемещенных инструкции можно выполнять независимо. команд должна быть выполнена проверочная инструкция, определяющая, действительно ли была зависимость. Если результат проверки положителен, то Для того, чтобы эффективно использовать параллелизм на уровне команд, проверочная инструкция выполняет переход на код восстановления (см.

имеющийся в программе, необходимо иметь как можно большую свободу примеры на рисунках 1 и 2).

перемещения инструкций между группами с тем, чтобы максимально использовать все функциональные устройства, доступные во время До: После:

выполнения каждой группы. Возможности по перемещению инструкций /* Выдать загрузку раньше */ компилятором ограничиваются зависимостями инструкций по данным и по...

управлению. Тем не менее, часто бывает, что точно определить наличие /* Процессор простаивает */ зависимости в момент компиляции нельзя, но можно с большой вероятностью aload(ld_addr, target) утверждать, что зависимости нет. При обычном планировании компилятор в store(st_addr, data) store(st_addr, data) таких случаях обязан предполагать наличие зависимости, чтобы сохранить load(ld_addr, target) корректность программы. Архитектура EPIC позволяет компилятору /* Если ld_addr и st_addr игнорировать такие зависимости, поддерживая технику раннего выполнения различны, можно работать с /* Дождаться окончания (speculative execution). Компилятор может выдать инструкции раньше, чем данными, иначе перейти на код загрузки */ восстановления */ позволило бы наличие зависимости, но должен сгенерировать код восстановления (recovery code), который обеспечит корректное выполнение программы, если зависимость окажется реальной. В случае отсутствия acheck(target, recovery) use(target) зависимости использование раннего выполнения позволяет скрыть задержки use(target) операций загрузки из памяти и уменьшить время выполнения программы.

До: После:

Рис. 2. Пример раннего выполнения (устраняется......

Pages:     || 2 | 3 | 4 | 5 |   ...   | 28 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.