Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

Основы распараллеливания программ, их динамический анализ

Забавная пачка денег "100 долларов".
Купюры в пачке выглядят совсем как настоящие, к тому же и банковской лентой перехвачены... Но вглядитесь внимательней, и Вы увидите
60 руб
Раздел: Прочее
Совок №5.
Длина совка: 22 см. Цвет в ассортименте, без возможности выбора.
18 руб
Раздел: Совки
Браслет светоотражающий, самофиксирующийся, желтый.
Изготовлены из влагостойкого и грязестойкого материала, сохраняющего свои свойства в любых погодных условиях. Легкость крепления позволяет
66 руб
Раздел: Прочее

АннотацияАнализ зависимостей по данным является важнейшим этапом при распараллеливании программ. Данная работа посвящена методам динамического анализа зависимостей. Рассматриваются два метода динамического анализа, а также практическая реализация одного из них. Полученный динамический анализатор может стать в будущем частью системы автоматизации распараллеливания программ. Оглавление1 Введение 1.1 Параллельное программирование 1.2 Автоматизация распараллеливания 1.3 Статический анализ 1.4 Динамический анализ 1.5 Распараллеливание во время выполнения 1.6 Цель работы 2 Постановка задачи 2.1 Зависимости по данным 2.2 Система автоматизации распараллеливания 2.3 Задача анализатора 3 Динамический анализ 3.1 Схема работы динамического анализатора 3.2 Динамический анализ с использованием дерева контекстов 3.3 Динамический анализ с использованием глобальных номеров итераций. 3.4 Преимущества и недостатки динамического анализа. 4 Практическая реализация 4.1 Инструментация 4.2 Формат результатов 4.3 Внутреннее устройство анализатора 4.4 Результаты тестирования 5 Заключение 6 Литература 1. ВведениеС момента появления вычислительных машин одной из основных их функций является выполнение трудоемких вычислений. При этом сложность поставленных задач растет быстрее, чем производительность отдельного процессора. Многие современные вычислительные задачи невозможно решить с помощью однопроцессорных ЭВМ, поскольку программа будет выполняться слишком долго либо затребует большой объем ресурсов таких, как, например, память. Поэтому для увеличения скорости вычислений применяется также и другой путь – создание многопроцессорных ЭВМ. 1.1 Параллельное программированиеПараллельным программированием будем называть процесс написания программы для многопроцессорной системы. Разумеется, параллельное программирование имеет ряд особенностей по сравнению с традиционным последовательным программированием. Кроме того, в зависимости от типа многопроцессорной системы применяются различные средства программирования: Системы с общей памятью (SMP) – набор параллельно работающих процессоров, имеющих доступ к общей для всех процессоров памяти, причем скорость доступа к памяти одинакова для всех процессоров. Применяется программирование в модели общей памяти, как правило, с использованием интерфейса Ope MP. Системы с неоднородным доступом ( UMA) – набор блоков, содержащих несколько процессоров и общую для них память. При этом допускается обращение любого процессора к удаленной памяти, т.е. памяти другого блока, но обращение происходит медленнее, чем обращение к локальной памяти. При программировании применяется, например, система Shmem. Системы с распределенной памятью (MPP) – набор узлов, состоящих из процессора и памяти, и коммутационной среды для связи между узлами. Каждый процессор имеет непосредственный доступ только к своей локальной памяти. При программировании применяется модель передачи сообщений, используются библиотеки MPI, PVM и др. Смешанные системы – набор SMP-узлов, соединенных коммутационной средой. Применяется комбинация моделей передачи сообщений и общей памяти.

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

Существуют различные методы выявления зависимостей: статические методы, анализирующие текст программы, динамические методы, исследующие ход выполнения программы на некоторых тестовых данных, различные тесты, проводимые в ходе выполнения готовой параллельной программы. Помимо анализа программы система автоматизации распараллеливания может получать различную информацию от пользователя. Так, например, система ParaWise [] предлагает итерационный процесс анализа: статический анализ исходной программы и получение дополнительной информации от пользователя чередуются до получения приемлемого результата. Другим примером системы автоматизации распараллеливания может служить проект V-Ray []. Эта система включает статический анализ структуры программы и информационных зависимостей, присутствующих в программе, а также динамический анализ параллельных программ. Система позволяет оптимизировать существующие программы, а также получить эффективные реализации программ для различных аппаратных платформ путем анализа лежащего в основе программ алгоритмического подхода. 1.3 Статический анализСтатические методы анализа основаны на исследовании исходного текста программ. Основная идея таких методов заключается в построении по индексным выражениям в операторах, обращающихся к массивам, систем уравнений и неравенств с неизвестными, соответствующими индексным переменным циклов. Например, для следующего фрагмента программы: for (i=1; i&l ; ; i ) a 1; на основе использование одного и того же массива «а» может быть получено уравнение &l ;инд. выр-е в левой части&g ; = &l ;инд. выр-е в правой части на другой итерации&g ;, то есть i1 = i2-1 . Решение данного уравнения покажет наличие зависимости между соседними итерациями цикла: каждая следующая итерация использует значение, вычисленное на предыдущей итерации. Существуют различные методы статического анализа зависимостей, различающиеся методами построения системы (возможно, неявно) по тексту программы и ее решения. В спорных ситуациях, когда метод не может доказать наличие или отсутствие зависимости, предполагается наличие зависимости. Это консервативное предположение гарантирует генерацию корректной параллельной программы, но связано с потерей эффективности из-за недостаточного использования параллелизма, в случае, если реальной зависимости в программе нет. По своей природе статические методы анализа обладают рядом ограничений. Одно из основных связано с тем, что при анализе текста программы никогда не известны значения переменных, используемых в программе. В особенности это относится к входным данным, получаемым программой из внешних источников. В случае, если такие переменные используются в индексных выражениях при обращениях к массивам или в граничных значениях циклов, статические методы анализа не смогут сделать какие-либо выводы и будут вынуждены предположить наличие зависимости. В ряде случаев эта проблема может быть решена с помощью подсказок со стороны разработчика исходной программы, указывающих возможные значения некоторых переменных. Помимо этого, большинство статических методов способны анализировать только линейные относительно переменных циклов индексные выражения.

К программным средствам З. п. относятся: программы контроля участков памяти, их кодирования и составления таблиц соответствия; программы динамического перераспределения З. п. по распоряжениям потребителей, по параметрам одновременно решаемых задач; программы анализа причин нарушений З. п. и принятия решений по их устранению. З. п. повышает эффективность работы ЦВМ, сокращая временные затраты на поиск ошибок, неисправностей и на повторные вычисления из-за потери информации. З. п. необходима при одновременном решении нескольких задач одной ЦВМ в режиме разделения времени, одновременном обслуживании нескольких пользователей, наличии библиотек программ, архивов, принадлежащих определённым потребителям, одновременной работе нескольких устройств в составе ЦВМ.   А. В. Гусев. Защита растений Защи'та расте'ний, отрасль с.-х. науки, разрабатывающая методы и приёмы борьбы с болезнями, вредителями, сорняками с.-х. культур и лесных пород, а также система мероприятий в сельском и лесном хозяйствах по предотвращению и устранению

1. Анализ программного обеспеченния обучения и воспитания глубоко умственно отсталых детей

2. Классификация программного обеспечения ЭВМ

3. Программное обеспечение сетей ЭВМ

4. Разновидности общесистемного программного обеспечения персональных ЭВМ

5. Программное обеспечение ЭВМ и языки программирования

6. Анализ прикладного программного обеспечения, используемого для разработки бизнес–плана
7. Программное обеспечение для модемов Lexand TS2400
8. Технология разработки программного обеспечения

9. Разработка системного программного обеспечения

10. Разработка программного обеспечения для оптимизации показателей надежности радиоэлектронных систем

11. Объектно-ориентированный подход к проектированию программного обеспечения на примере работы налоговой инспекции

12. Программное обеспечение пункта обмена валюты банка

13. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ

14. Вирусы и антивирусное программное обеспечение

15. Программное обеспечение компьютеров. Архиваторы

16. Верификация и аттестация программного обеспечения

Стиральный порошок "Аист", автомат, 4000 г.
Бесфосфатный стиральный порошок. Предназначен для стирки изделий из х/б, льняных, синтетических и смесовых тканей в стиральных машинах
453 руб
Раздел: Стиральные порошки
Детский шезлонг качалка "Счастливый лягушонок".
Характеристики: - дуга со съемными игрушками; - электронный блок, два режима: музыка и вибрация; - работает в совместном режиме
2224 руб
Раздел: Качели, кресла-качалки, шезлонги
Щипцы кулинарные "Paterra", силиконовые.
Силиконовые щипцы предназначены для комфортных манипуляций с приготавливаемым продуктом. Щипцами удобно переворачивать мясо, тефтели,
323 руб
Раздел: Щипцы

17. Обзор современного программного обеспечения управления проектами

18. Разработка программного обеспечения

19. Программное обеспечение преемственности подготовки специалистов по физической культуре и спорту в системе "колледж-вуз"

20. Программное обеспечение календарного планирования и контроля

21. Виды программного обеспечения, операционной система

22. Программное обеспечение
23. Вредоносное программное обеспечение
24. Программное обеспечение модемов

25. Разработка программного обеспечения

26. Программное обеспечение

27. История развития прикладного программного обеспечения

28. Постановка, настройка и исследование абонентского программного обеспечения сети Internet

29. Программное обеспечение персонального компьютера

30. Алгоритмические языки и программирование Системное программное обеспечение Технология программирования"

31. Технологии тестирования программного обеспечения

32. Свободное программное обеспечение: к чему приведет "свобода"?

Медицинская карта истории развития ребенка, красная, А5, по форме 112/У.
История развития ребенка — основной медицинский документ, который ведется на каждого ребенка от рождения и до 14 лет включительно. В этот
498 руб
Раздел: Бланки, книги учета
Светильник "Плазма №6".
Размеры светильника: 24х14х11 см. Размеры упаковки 26х17х18 см. Диаметр лампы: 14 см. Плазменный светильник в виде шара на подставке при
1482 руб
Раздел: Необычные светильники
Подарочная расчёска для волос "Анюта".
Стильная детская расчёска дарит радость и комфорт. Этот практичный аксессуар по достоинству оценят как маленькие модницы, так юные
372 руб
Раздел: Расчески, щетки для волос

33. Бухгалтерский учет компьютеров и программного обеспечения

34. Легализация программного обеспечения

35. АИС управления серверным программным обеспечением на базе программного комплекса Webmin/Alterator

36. Аппаратура, программное обеспечение и микропрограммы

37. Виды программного обеспечения. Общие требования к программным системам

38. Методика работы с модулем "Реализация и склад" программного обеспечения "ПАРУС"
39. Общая характеристика и классификация программного обеспечение и базовых технологий управления информационными ресурсами
40. Операционная система, программное обеспечение ПК

41. Организация процесса конструирования программного обеспечения

42. Оценка риска проектов программного обеспечения

43. Прикладное программное обеспечение

44. Прикладное программное обеспечение. Оновные понятия комбинаторики

45. Программное обеспечение

46. Программное обеспечение Lotus-Notes

47. Программное обеспечение Линукс

48. Программное обеспечение системы принятия решений адаптивного робота

Планшетик "Всё обо всём".
Ваш малыш любит умные игры-викторины? Тогда этот планшетик для него! 200 вопросов, 20 разнообразных тем, 3 уровня сложности ждут
432 руб
Раздел: Планшеты и компьютеры
Дополнительный набор "Магнитные истории. Времена года".
«Времена года» - познавательная для Вашего ребенка игра, позволяющая познакомиться с временами года, научиться понимать, чем зима, весна,
323 руб
Раздел: Игры на магнитах
Пенал для художника на кнопках, 20x10 см, бежевый.
Пенал для художника на кнопках с одним отделением. Материал: текстиль. Застежка: кнопки. Размер в свернутом виде: 20х10 см. Размер в
565 руб
Раздел: Без наполнения

49. Программное обеспечение, компьютерные сети

50. Проектирование математического и программного обеспечения

51. Разработка алгоритмического и программного обеспечения ситуационного управления безопасностью магистральных газопроводов

52. Разработка имитационной модели программного обеспечения информационной системы "Центр обслуживания абонентов"

53. Разработка прикладного программного обеспечения деятельности отдела аренды ЗАО "Сириус"

54. Разработка прикладного программного обеспечения отдела кадров университета
55. Разработка программного обеспечения для организации интерфейса программно-методического комплекса
56. Разработка программного обеспечения для решения уравнений с одной переменной методом Ньютона (касательных)

57. Разработка программного обеспечения определения стоимости почтового тарифа пересылки бандероли наложенным платежом

58. Разработка программного обеспечения по управлению базой данных "График учета рабочего времени на шахте"

59. Разработка технического и программного обеспечения автоматизированной системы научных исследований

60. Создание программного обеспечения электронного учебника

61. Технологический процесс разработки программного обеспечения

62. Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов

63. Системное программное обеспечение

64. Динамический анализ механизмов долбежного станка

Свечи чайные белые (100 штук).
Свечи чайные в гильзе. Количество: 100 штук. Цвет: белый.
361 руб
Раздел: Свечи чайные
Подгузники "Солнце и Луна. Нежное прикосновение", размер: 4/L (7-14 кг), 44 штуки.
Подгузники "Солнце и Луна. Нежное прикосновение" сделаны по японской технологии в сотрудничестве с японской корпорацией WATASHI
425 руб
Раздел: Более 11 кг
Песочные часы "Обратные".
Песочные часы «Волшебные Обратные» - антистресс. Часы направлены на то, чтобы отвлечь Вас от напряжения и снизить стресс. Они не только
330 руб
Раздел: Часы песочные

65. Революция в программном обеспечении УЧПУ

66. Анализ и обеспечение надежности технических систем

67. Программное обеспечение базы данный "Экологический мониторинг"

68. Модемы: назначение, сравнительный анализ моделей, принцип работы, эксплуатация на примере конкретной модели

69. Анализ прибыли, рентабельности, работ и услуг

70. Сравнительный анализ "Основных правил работы ведомственных архивов" и "Основных правил работы архивов организаций"
71. Маркетинговое обеспечение работы клуба "Синева"
72. Анализ статистических показателей работы Государственного учреждения здравоохранения "Областной противотуберкулезный диспансер № 8"

73. Анализ основных показателей работы предприятия РУП "Завод средств комплексной автоматизации": объемов выпускаемой продукции, себестоимости, прибыли

74. Авторское право как институт правовой защиты прикладного программно-математического обеспечения ЭВМ

75. Конвертер программы с подмножества языка Си в Паскаль с использованием LL(1) метода синтаксического анализа (выражения)

76. Анализ, оценка и выбор пользователем пакетов прикладных программ для автоматизации своей деятельности ([Курсовая])

77. Разработка программно-методического комплекса для анализа линейных эквивалентных схем в частотной области /для числа узлов <=500/

78. РОЛЬ И АНАЛИЗ АНИМАЦИОННЫХ ПРОГРАММ СРЕДИЗЕМНОМОРСКИХ ОТЕЛЕЙ ТУРЦИИ

79. Взаимодействие основных частей ЭВМ при выполнении программы

80. Требования к кадровому обеспечению учебных программ и особенности обучаемых

Многоразовые пакеты для хранения детского питания Happy Baby "Baby Food Pouches On-The-Go", 5.
Многоразовые пакеты для хранения детского питания c крышкой — это простой и удобный способ для питания в дороге, на прогулке или в машине.
399 руб
Раздел: Прочие
16 разноцветных восковых смываемых, треугольных мелков.
Мамы и папы могут быть уверены, что выбрав восковые мелки Crayola, они доставят радость своим детям. С их помощью можно нарисовать
419 руб
Раздел: Восковые
Подгузники-трусики "Pampers Pants", 6 ( 15+ кг), 44 штуки.
Когда малыши вертятся или ползают, подгузники надевать сложно. Тогда стоит использовать трусики Pampers Pants. Трусики Pampers легко
1117 руб
Раздел: Более 11 кг

81. Анализ нормативно-правового обеспечения и выявление недостатков, препятствующих успешному развитию малого предпринимательству в РФ

82. Анализ обеспеченности рабочей силой

83. Анализ производственной программы

84. Анализ программы демифологизации

85. Программа, методические указания, задания для выполнения контрольной работы и контрольные вопросы для студентов з/о специальностей: 060500 «Бухучет, анализ и аудит», 060400 «Финансы и кредит»

86. Способы обеспечения качества программных продуктов
87. Взаимодействие основных частей ЭВМ при выполнении программы
88. Структурное программирование: предпосылки и назначение; основные критерии оценки качества программы для ЭВМ

89. Конвертер программы с подмножества языка Си в Паскаль с использованием LL(1) метода синтаксического анализа

90. Анализ, оценка и выбор пользователем пакетов прикладных программ для автоматизации своей деятельности

91. Тест программных программ

92. Учет поступления материалов и анализ обеспеченности организации материальными ресурсами

93. Аудиторские программы как инструмент автоматизации важнейших аудиторских процедур и анализа финансового состояния

94. Правовая охрана программ для ЭВМ и баз данных

95. Анализ входного файла программы и вывод результатов в выходной файл

96. Анализ эффективности MPI-программ

Набор для творчества "Топиарий новогодний" (26 см).
В набор входит: 1. Пенопластовые заготовки: шар диаметром 6 см. и диаметром 2 см. (10 штук). 2. Разноцветные листы FOM EVA и готовая
475 руб
Раздел: Поделки по созданию предметов из пластика, полимеров, стекла
Шарики пластиковые, цветные, 100 штук.
Пластиковые шарики - веселая игра для малышей, ими можно играть где угодно - дома, на улице, в детском саду, наполнять детский манеж,
638 руб
Раздел: Шары для бассейна
Фоторамка "Poster blue" (30х40 см).
Рамка может располагаться как вертикально, так и горизонтально. Для фотографий размером: 30х40см. Материал: пластик.
331 руб
Раздел: Размер 30x40

97. Новый подход к построению методов межпроцедурного анализа программ

98. Отладка программ и программных комплексов

99. Разработка программ с использованием динамической памяти

100. Разработка программы контроля изделий и подготовка программной документации


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.