Помощь в написании студенческих работ
Антистрессовый сервис

Исследование и реализация эффективных методов анализа производительности параллельных программ

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Также необходимо заметить, что большинство существующих инструментов используют ручной метод анализа, где пользователь должен самостоятельно выполнять поиск узких мест производительности приложения на основе представленных диаграмм, графиков, таблиц и методов манипулирования ими (масштабирование и поиск). Представление информации о производительности программы в графическом виде может быть мощным… Читать ещё >

Исследование и реализация эффективных методов анализа производительности параллельных программ (реферат, курсовая, диплом, контрольная)

Содержание

  • ГЛАВА 1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1. 1. Цикл анализа производительности
    • 1. 2. Программные модели параллельного программирования
      • 1. 2. 1. Модель передачи сообщений
      • 1. 2. 2. Модель общей памяти
      • 1. 2. 3. Модель разделенного глобального адресного пространства
    • 1. 3. Языки PGAS
      • 1. 3. 1. Unified Parallel С
      • 1. 3. 2. Со-Array Fortran
      • 1. 3. 3. Titanium
    • 1. 4. Инструменты анализа производительности UPC
      • 1. 4. 1. upcdump
      • 1. 4. 2. upctrace
      • 1. 4. 3. Parallel Performance Wizard
    • 1. 5. Методы автоматизированного анализа
      • 1. 5. 1. IPS
      • 1. 5. 2. Подход Vetter’a
      • 1. 5. 3. SCALEA
      • 1. 5. 4. Poirot
      • 1. 5. 5. EXPERT
  • ГЛАВА 2. НАБОР ШАБЛОНОВ НЕЭФФЕКТИВНОГО ПОВЕДЕНИЯ
    • 2. 1. Основа метода
      • 2. 1. 1. Типы событий
      • 2. 1. 2. Состояния и атрибуты-указатели
    • 2. 2. Описание шаблонов
      • 2. 2. 1. Шаблон &bdquo-Конкуренция за блокировку"
      • 2. 2. 2. Шаблон &bdquo-Синхронизация на входе в коллективную операцию"
      • 2. 2. 3. Шаблон &bdquo-Синхронизация на выходе из коллективной операции"
      • 2. 2. 4. Шаблон &bdquo-Ожидание в барьере"
      • 2. 2. 5. Шаблон &bdquo-Завершение барьера"
      • 2. 2. 6. Шаблон &bdquo-Поздняя рассылка"
      • 2. 2. 7. Шаблон &bdquo-Ранняя сборка"
      • 2. 2. 8. Шаблон &bdquo-Ранняя префиксная редукция"
      • 2. 2. 9. Шаблон &bdquo-Синхронизация на входе в коллективную операцию многие ко многим"
      • 2. 2. 10. Шаблон &bdquo-Синхронизация на выходе из коллективной операции многие ко многим"
      • 2. 2. 11. Шаблон &bdquo-Ожидание внутри коллективной операции"
      • 2. 2. 12. Шаблон &bdquo-Ожидание в операции динамического выделения памяти"
  • ГЛАВА 3. РЕАЛИЗАЦИЯ ИНСТРУМЕНТА
    • 3. 1. Инфраструктура пакета Scalasca
    • 3. 2. Интерфейс GASP
    • 3. 3. Формирование трассы EPILOG
    • 3. 4. Реализация
      • 3. 4. 1. Трассировка
      • 3. 4. 2. Выборочное измерение
      • 3. 4. 3. Анализ фаз программы
      • 3. 4. 4. Слияние и конвертация трассы
      • 3. 4. 5. Синхронизация времени
      • 3. 4. 6. Анализ
      • 3. 4. 7. Визуализация
  • ГЛАВА 4. ПРИМЕРЫ АНАЛИЗА И ОПТИМИЗАЦИИ ПРОГРАММ
    • 4. 1. Сравнение эффективности UPC и MPI
      • 4. 1. 1. Результаты тестирования
      • 4. 1. 2. Обсуждение результатов
    • 4. 2. Сравнение накладных расходов
    • 4. 3. Сортировка целых чисел
      • 4. 3. 1. Корректировка инструментовки
      • 4. 3. 2. Анализ полученных данных
      • 4. 3. 3. Обсуждение результатов
    • 4. 4. Быстрое преобразование Фурье
      • 4. 4. 1. Корректировка инструментовки
      • 4. 4. 2. Анализ полученных данных
      • 4. 4. 3. Обсуждение результатов
    • 4. 5. Итерационный метод Якоби
      • 4. 5. 1. Анализ полученных данных
      • 4. 5. 2. Обсуждение результатов

Современные высокопроизводительные кластеры преодолели рубеж в петафлопс, а количество ядер, которое насчитывают такие системы, десятков и сотен тысяч. Но если взглянуть на эффективность параллельных приложений на подобных системах, то оказывается, что по разным оценкам она не превышает 15% [68] или даже 3−5% [74] от пиковой производительности. Чтобы эффективно использовать потенциал дорогостоящих вычислительных установок, сообществу специалистов в области высокопроизводительных вычислений необходимы инструменты анализа производительности. С одной стороны, они помогают увеличить эффективность и масштабируемость параллельных программ, а с другой позволяют ученому сконцентрироваться на научной составляющей своего приложения, нежели на кропотливом процессе оптимизации.

Сегодня суперкомпыотериая индустрия ставит перед собой рубеж в экзафлопс. Разработка комплексов параллельных программ для таких систем является невероятно сложной задачей. Суперкомпьютеры могут иметь разную архитектуру и коммуникационную сеть [20], существует ряд алгоритмов распараллеливания, а также технологий и средств для написания параллельных программ [12]. Стандартом де-факто среди таких средств на сегодня является MPI [78]. Несмотря на сравнительно высокую производительность MPI-программ, процесс разработки приложений с использованием данной библиотеки трудоемок и подвержен ошибкам. Ограничения программной модели передачи сообщений широко признаны, а саму библиотеку MPI иногда называют «ассемблером параллельного программирования». Альтернативой MPI является набирающая популярность модель программирования PGAS — Partitioned Global Address Space (разделенное глобальное адресное пространство) [52]. В модели PGAS используются односторонние коммуникации, где при передаче данных нет необходимости в явном отображении на двухсторонние пары send и receive — трудоемкий, подверженный ошибкам процесс, серьезно влияющий на продуктивность программиста. Обычное присвоение значения переменной массива х[г] — а автоматически порождает необходимые коммуникации между узлами кластера. Программы, написанные в этой модели, проще для понимания, чем MPI версии, и имеют сравнительную или даже более высокую производительность [28]. К группе PGAS относятся такие языки как: Unified Parallel С (UPC) [43], Со-Array Fortran (CAF) [67], Titanium [109], Cray Chapel [37], IBM X10 [39], Sun Fortress [21]. Язык UPC является наиболее «взрослым» представителем модели. Компиляторы для языка UPC разработаны всеми основными вендорами суперкомпьютерного рынка. Существуют реализации от компаний IBM [26], HP [73], Cray [72], SGI [82]. Компания TotalView — ведущий разработчик в области отладки параллельных приложений поддерживает язык UPC [90]. Компания IBM включила поддержку языка UPC в интегрированную среду разработку Eclipse [42]. Но ввиду относительной молодости модели параллельного программирования PGAS, для нее существует не так много инструментальных средств. Такие известные инструменты, как Intel Trace Analyzer [76], TAU [84], Cray Apprentice [55] и другие, работают с ограниченным набором программных моделей, преимущественно моделью передачи сообщений. Те инструменты, которые на данный момент существуют, в частности для языка UPC, такие как upcdump, upctrace [77], обладают ограниченной функциональностью, a PPW [85] - Parallel Performance Wizard, позволяет получить лишь статистические данные о работе программы. В результате разработчики, использующие новые модели параллельного программирования, зачастую вынуждены вручную выполнять трудоемкий анализ в процессе оптимизации своей программы.

Также необходимо заметить, что большинство существующих инструментов используют ручной метод анализа, где пользователь должен самостоятельно выполнять поиск узких мест производительности приложения на основе представленных диаграмм, графиков, таблиц и методов манипулирования ими (масштабирование и поиск). Представление информации о производительности программы в графическом виде может быть мощным приемом, но без сложных методов фильтрации объем отображаемых данных может быть чрезвычайно большим, что сильно снижает полезность подобных инструментов. В условиях стремительного роста количества ядер в современных суперкомпьютерах особенно актуальным становится вопрос разработки средств автоматизированного анализа, которые способны в той или иной степени самостоятельно находить узкие места в приложении [1, 2]. Среди большого количества работ в данном направлении можно выделить В.P. Miller [64], J. Vetter [97], H.L. Truong [92], B.R. Helm [51], F. Wolf [104]. Наиболее перспективным, по мнению автора, можно назвать метод поиска шаблонов неэффективного поведения, предложенный F. Wolf и В. Mohr [104] для программных моделей передачи сообщений и общей памяти.

Можно отметить также ряд других работ, посвященных языку UP С. Кроме упомянутых выше компиляторов от производителей суперкомпьютеров, существует три бесплатных компилятора языка UPC: Berkeley UPC [77], GCC UPC [54], MuPC [95]. В рамках проекта RAMP Blue был разработан компилятор языка UPC для ПЛИС типа FPGA фирмы Xilinx [58]. В университете RWTH Aachen University ведется работа по разработке языка UPC для микропроцессорной архитектуры Cell Broadband Engine [66]. В рамках контракта с компанией HP в University of A Coruna и Galicia Supercomputing Center разрабатывается библиотека для параллельных численных расчетов BLAS для языка UPC [48]. В Michigan Technological University был разработан компилятор ScaleUPC, оптимизированный для систем с общей памятью [110]. В Iowa State University разрабатывается набор тестов для языка UPC, позволяющий проверить способность среды времени выполнения (runtime) фиксировать ошибки, возникающие во время работы программы [62]. Также в данном университете разрабатывается гибридная среда времени выполнения Integrated Native Communication Runtime (INCR), поддерживающая одновременно и UPC, и MPI [57]. В George Washington University разрабатывается компилятор RUPC для реконфигурируемых архитектур [46], а также компилятор для многоядерных (many core) процессоров Tile64 фирмы Tilera [15]. University of California, Berkeley разрабатывает компилятор UPC для графических процессоров [111]. Также можно отметить ряд разработанных для языка UPC расширений [22,30,32,33,35,36,45,70,71,81,88,98,108].

Среди приложений, разработанных на языке UPC, можно отметить следующие: конечно-элементный решатель задач вычислительной гидродинамики для статических неструктурированных сеток BenchC [56] и динамических неструктурированных сеток XFlow [27]- генератор сетки методом триангуляции Делоне [63]- решение задачи вычислительной гидродинамики при помощи метода Годунова второго порядка [93]- решение задачи о взаимодействии N тел методом Barnes-Hut, а также LU разложение [107]- реализация методов быстрого преобразования Фурье, приближенного решения трехмерного уравнения Пуассона, решения неупорядоченной, разряженной СЛАУ методом сопряженных градиентов [44]- обработчик данных с сенсора на основе радара с синтезированной апертурой [96]- метод Sobel для выделения границ изображения [50]- реализация метода дифференциального криптоанализа DES шифров [49] и другие.

В России направление анализа производительности параллельных программ развивается в научных коллективах под руководством академика С. М. Абрамова, A.B. Бухановского, Вл.В. Воеводина, В. П. Гергеля, Б. М. Глинского, В. П. Ивашшкова, В. А. Крюкова, В. Э. Малышкина, С. А. Немнюгина, Л. Б. Соколинского, A.B. Старченко, Ю. И. Шокина. Компания НИЦЭВТ выпускает вычислительные кластерные системы с предустановленным компилятором UPC [13]. Также компания НИЦЭВТ разрабатывает российский суперкомпьютер «Ангара» с аппаратной поддержкой PGAS [19]. В институте динамики систем и теории управления (ИДСТУ) СО РАН исследуются реализации алгоритма Survey Propagation для решения задачи выполнимости функций булевых переменных (SAT-задача) на языке UPC [16]. Сердюк Юрий Петрович, старший научный сотрудник Института программных систем РАН (Переславль-Залесский), разрабатывает учебный курс «Высокоуровневые языки программирования для параллельных архитектур» посвященный языкам PGAS, в том числе языку UPC [18].

О предмете и содержании диссертации.

Диссертация состоит из введения, четырех глав, заключения pi списка литературы. Главы диссертации разбиты на параграфы, нумерация которых внутри каждой главы своя. Общий объем диссертации составляет 136 страниц.

Список литературы

состоит из 111 наименований.

Основные результаты диссертации состоят в следующем:

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

2. Предложен набор шаблонов неэффективного поведения для анализа производительности UPC-программ, позволяющий находить узкие места в автоматизированном режиме. Данная возможность реализуется за счет описания типовых проблем, присущих программной модели, и автоматической проверки программы на их наличие. Автору не известны другие работы по применению каких бы то ни было методов автоматизированного анализа к программной модели с разделенным глобальным адресным пространством.

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

4. Разработана модель программного средства, удовлетворяющая сформулированным требованиям. В модели описаны компоненты инструмента и связи между ними. Предложенное архитектурное решение может быть использовано для разработки эффективных инструментальных средств для других языков параллельного программирования.

5. На основе предложенных подходов, моделей и алгоритмов реализовано инструментальное средство для языка UPC, отличающееся от других средств поддержкой автоматизированного анализа и обладающее лучшими характеристиками трассировки. При помощи инструмента были проанализированы и оптимизированы реализации алгоритмов блочной сортировки, быстрого преобразования Фурье и метода Якоби, которые могут быть положены в основу эффективных параллельных.

Заключение

.

Показать весь текст

Список литературы

  1. Н. Е. Методы автоматизированного анализа производительности параллельных программ / / Вестник Новосибирского государственного университета. 2009. Т. 7, № 1. С. 16−25.
  2. Н. Е. Обзор методов автоматизированной оценки эффективности выполнения параллельных программ / / Деп. в ВИНИТИ 22.06.09, № 390-В2009. 2009. С. 34.
  3. Н. Е., Афанасьев К. Е. Организация сбора и подготовки данных для анализа производительности ИРС-программ // Вестник Кемеровского государственного университета. 2011. № 4 (44). С. 4−10.
  4. Н. Е., Афанасьев К. Е. Реализация инструментального средства автоматизированного анализа производительности иРС-программ // Вычислительные методы и программирование. 2011. Раздел 2. С. 46−57. (http://num-meth.srcc.msu.ru/).
  5. Н. Е., Афанасьев К. Е. Использование пакета 8са1азса в качестве основы для анализа производительности иРС-программ // Научное творчество молодежи: Материалы XV Всероссийской научно-практической конференции. Анжеро-Судженск, 2011. С. 98−100.
  6. Н. Е. Инструментальное средство автоматизированного анализа производительности UPC-программ / / Материалы XLIX Международной научной студенческой конференции «Студент и научно-технический прогресс». Новосибирск, 2011. С. 219−219.
  7. Н. Е. Архитектура системы автоматизированного анализа UPC-программ // Материалы XVII всероссийской научно-методической конференции «Телематика'2010». Санкт-Петербург, 2010. С. 164−166.
  8. Н. Е. Система автоматизированного поиска шаблонов неэффективного поведения UPC-программ // Тезисы докладов Пятой Сибирской конференции по параллельным и высокопроизводительным вычислениям. Томск, 2009. С. 81−82.
  9. В. В., Воеводин Вл. В. Параллельные вычисления. СПб.: БХВ, 2002. С. 608.
  10. Вычислительные кластерные системы производства ОАО НИЦЭВТ Электронный ресурс. URL: http://www.nicevt.ru/techniques/81/86/ (дата обращения: 30.08.2010).
  11. Межрегиональный супервычислительный центр ТГУ Электронный ресурс. URL: http://skif.tsu.ru/ (дата обращения: 30.08.2010).
  12. Проекты университета George Washington University Электронный ресурс. URL: http://hpcl2.hpcl.gwu.edu/index.php/projects (дата обращения: 30.08.2010).
  13. Сайт суперкомпыотерного центра коллективного пользования ИДСТУ СО РАН Электронный ресурс. URL: http://mvs.icc.ru/ (дата обращения: 30.08.2010).
  14. А. Обзор некоторых пакетов измерения производительности кластерных систем Электронный ресурс. URL: http: //www. ixbt. com/cpu/cluster-benchtheory. shtml (дата обращения: 30.08.2010).
  15. А., Эйсымонт JI. Российский суперкомпьютер с глобально адресуемой памятью // Открытые системы. 2007. № 9. С. 42−51.
  16. С. Параллельные вычисления. Томск: ТГУ, 2003. С. 196.
  17. Allen Е., Chase D., Flood С. et al. Project Fortress: A multicore language for multicore processors // Linux Magazine. 2007. Pp. 38−43.
  18. Almasi G., Cascaval C. Proposal to extend UPC array types with multiple blocking factors Electronic resource., URL: http://www2.hpcl.gwu.edu/pgas09/upct iledproposal. pdf (дата обращения: 30.08.2010).
  19. Amdahl G. M. Validity of the single processor approach to achieving large scale computing capabilities // AFIPS '67 (Spring): Proceedings of the April 18−20, 1967, spring joint computer conference. New York, NY, USA: ACM, 1967. Pp. 483−485.
  20. Bailey D., Barszcz E., Barton J. et al. The NAS Parallel Benchmarks: Tech. Rep. RNR-94−007: NASA Ames Research Center, 1994.
  21. Bailey D., Harris Т., Saphir W. et al. The NAS Parallel Benchmarks 2.0: Tech. Rep. NAS-95−020: NASA Ames Research Center, 1995.
  22. Barton C., Casgaval C., Almasi G. et al. Shared memory programming for large scale machines // PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation. New York, NY, USA: ACM, 2006. Pp. 108−117.
  23. Beech-Brandt J. Applications of UPC Electronic resource. URL: http://www.nesc.ac.uk/talks/892/applicationsofupc.pdf (дата обращения: 30.08.2010).
  24. Bell С., Bonachea D., Nishtala R., Yelick K. Optimizing bandwidth limited problems using one-sided communication and overlap //In 20th International Parallel and Distributed Processing Symposium (IPDPS). 2006.
  25. Berkeley UPC Home Page Electronic resource., URL: http://upc.lbl.gov/ (дата обращения: 30.08.2010).
  26. Bonachea D. Proposal for Extending the UPC Memory Copy Library Functions Electronic resource. URL: http: //upc. lbl. gov/publications/upcmemcpy. pdf (дата обращения: 30.08.2010).
  27. Bonachea D. Proposal for Extending the UPC Memory Copy Library Functions, v2.0 Electronic resource. URL: http: //upc. lbl. gov/publications/upcmemcpy. pdf (дата обращения: 30.08.2010).
  28. Bonachea D. Proposal for High-Performance Clock Timers in UPC Electronic resource., https://upc-wiki.lbl.gov/images/9/9b/Upctick0.2.pdf обращения: 30.08.2010).1. WallURL: (дата
  29. Bonachea D. UPC Collectives Value Interface Electronic resource., URL: http://upc.lbl.gov/docs/user/README-collectivev.txt (дата обращения: 30.08.2010).
  30. Bonachea D., Datta K., Gay D. et al. Titanium Language Reference Manual Electronic resource., URL: http ://titanium.es.berkeley.edu/doc/lang-ref.pdf (дата обращения: 30.08.2010).
  31. Bonachea G. Proposal for Extending the UPC Libraries with Explicit Point-to-Point Synchronization Support Electronic resource. URL: http://www2.hpcl.gwu.edu/pgas09/upcsem.pdf (дата обращения: 30.08.2010).
  32. Cascaval С., Almasi G., Saraswat V. Proposal to Extend UPC with Asynchronous Execution Electronic resource. URL: http: //www2. hpcl. gwu. edu/pgas09/upcAsync. pdf (дата обращения: 30.08.2010).
  33. Chamberlain В. L., Callahan D., Zima H. P. Parallel programmability and the chapel language // International Journal of High Performance Computing Applications. 2007. Vol. 21. Pp. 291−312.
  34. Chandy K. M., Misra J. Distributed computation on graphs: shortest path algorithms // Commun. ACM. 1982. Vol. 25, no. 11. Pp. 833−837.
  35. Co-Array Fortran Home Page. URL: http://www.co-array.org/ (дата обращения: 30.08.2010).
  36. DeRose L., Hoover T. The Dynamic Probe Class Library An Infrastructure for Developing Instrumentation for Performance Tools //In International Parallel and Distributed Processing Symposium. 2001.
  37. Eclipse РТР Home Page Electronic resource., URL: http://www.eclipse.org/ptp/ (дата обращения: 30.08.2010).
  38. El-Ghazawi Т. UPC Language Specifications Electronic resource. URL: http: //www. gwu. edu/~upc/documentation. html (дата обращения: 30.08.2010).
  39. El-Ghazawi Т., Cantonnet F. UPC Performance and Potential: A NPB Experimental Study //In Sup er computing2002 (SC2002). IEEE Computer Society, 2002. Pp. 1−26.
  40. El-Ghazawi Т., Cantonnet F., Saha P., Yao Y. UPC-IO: A Parallel I/O API for UPC Electronic resource. URL: http://upc.gwu.edu/docs/upciol. 0.2. pdf (дата обращения: 30.08.2010).
  41. El-Ghazawi Т., Serres О., Bahra S. et al. Parallel Programming of HighPerformance Reconfigurable Computing Systems with Unified Parallel С // Proceedings of the Fourth Annual Reconfigurable Systems Summer Institute (RSSI'08). 2008.-July.
  42. Flaviu C. Probabilistic Clock Synchronization // Distributed Computing. 1989. Vol. 3, no. 3. Pp. 146−158.
  43. Gonzalez-Dominguez J., J. Martin M., Taboada G. L. et al. A Parallel Numerical Library for UPC // Euro-Par '09: Proceedings of the 15th International Euro-Par Conference on Parallel Processing. Berlin, Heidelberg: Springer-Verlag, 2009. Pp. 630−641.
  44. Gordon В., Nguyen N. Overview and Analysis of UPC as a Tool in Cryptanalysis Electronic resource. URL: http://www.hcs.uf1.edu/upc/archive/UPCCryptanalysisReport-310CT03.pdf (дата обращения: 30.08.2010).
  45. GWU UPC Benchmark Electronic resource. URL: http: //www. gwu. edu/~upc/downloads/upcbench. tar. gz (дата обращения: 30.08.2010).
  46. Helm В. R., Malony A. D., Fickas S. Capturing and automating performance diagnosis: the Poirot approach // Proceedings of the 9th International Parallel Processing Symposium (IPPS '95). IEEE Computer Society, 1995. Pp. 606−613.
  47. High Productivity Computing Systems Program Electronic resource., URL: http://www.highproductivity.org/ (дата обращения: 30.08.2010).
  48. Intrepid UPC Home Page Electronic resource., URL: http://www.gccupc.org/ (дата обращения: 30.08.2010).
  49. CRAY Research. Introducing the MPP Apprentice Tool, 1994.
  50. Johnson A. A. CFD on the Cray X1E using Unified Parallel С Electronic resource. URL: http://upc.gwu.edu/upcworkshop05/ahpcrc-UPCUserForum.pdf (дата обращения: 30.08.2010).
  51. Jose J., Luo M., Sur S., Panda D. K. Unifying UPC and MPI Runtimes: Experience with MVAPICH // Proc. of Int’l Workshop on Partitioned Global Address Space (PGAS '10). 2010.
  52. Krasnov A., Schultz A.- Wawrzynek J. et al. Ramp blue: a message-passing manycore system in FPGAs //In 2007 International Conference on Field Programmable Logic and Applications, FPL 2007. 2007. Pp. 27−29.
  53. Leko A. Performance Analysis Strategies Electronic resource. URL: http://www.hcs.uf1.edu/prj/upcgroup/upcperf/documents/-20 050 302-AnalysisDraft.pdf (дата обращения: 30.08.2010).
  54. Leko A., Bonachea D., Su H.-H., George A. GASP: A Performance Analysis Tool Interface for Global Address Space Programming Models: Tech. Rep. LBNL-61 606: Lawrence Berkeley National Lab, 2006.
  55. Leko, А, Sherburne H., Su II. et al. Practical Experiences with Modern Parallel Performance Analysis Tools: An Evaluation Electronic resource. URL: http://www.hcs.ufl.edu/upc/archive/toolevals/WhitepaperEval-Summary.pdf (дата обращения: 30.08.2010).
  56. Luecke G. R., Coyle J., Hoekstra J. et al. Evaluating error detection capabilities of UPC run-time systems // PGAS '09: Proceedings of the Third Conference on Partitioned Global Address Space Programing Models. New York, NY, USA: ACM, 2009. Pp. 1−4.
  57. Mesh generation using Delaunay triangulation in UPC Electronic resource., URL: http://upc.lbl.gov/demos/delaunay.shtml (дата обращения: 30.08.2010).
  58. Miller В. P., Clark M., Hollingsworth J. et al. IPS-2: The Second Generation of a Parallel Program Measurement System // IEEE Transactions on Parallel and Distributed Systems. 1990. Vol. 1. Pp. 206−217.
  59. MPI NAS Parallel Benchmarks Project Page Electronic resource., URL: http://www.nas.nasa.gov/Resources/Software/npb.html (дата обращения: 30.08.2010).
  60. Numrich R. W. Co-Array Fortran for parallel programming // ACM Fortran Forum. 1998. Vol. 17. Pp. 1−31.
  61. Oliker L., Canning A., Carter J. et al. Scientific application performance on candidate petascale platforms //In Proc. of the International Parallel & Distributed Processing Symposium (IPDPS). 2007.
  62. Rabenseifner R. The controlled logical clock a global time for trace based software monitoring of parallel applications in workstation clusters // In
  63. Proc. of the 5th EUROMICRO Workshop on Parallel and Distributed Processing (PDP). 1997. Pp. 477−484.
  64. Berkeley UPC Team. The 'bupcatomic*' function family Electronic resource., URL: http: //upc. lbl. gov/docs/user/index. shtml#atomics (дата обращения: 30.08.2010).
  65. Berkeley UPC Team. Runtime thread layout query for hierarchical systems Electronic resource. URL: http://upc.lbl.g0v/d0cs/user/#threaddist (дата обращения: 30.08.2010).
  66. Cray Inc. Cray С and С++ Reference Manual Electronic resource., URL: http://docs.cray.com/books/S-2179−72 (дата обращения: 30.08.2010).
  67. Hewlett-Packard Company. HP UPC/HP SHMEM User’s Guide Electronic resource., URL: http://www.hp.com/go/upc (дата обращения: 30.08.2010).
  68. High-End Computing Revitalization Task Force. Federal Plan for High-End Computing Electronic resource. URL: http://www.nitrd.gov/pubs/2004hecrtf/2 004 0702hecrtf.pdf (дата обращения: 30.08.2010).
  69. High-End Computing Revitalization Task Force. Federal Plan for High-End Computing Electronic resource. URL: http://www.nitrd.gov/pubs/2004hecrtf/2 004 0702hecrtf.pdf (дата обращения: 30.08.2010).
  70. Intel Corporation. Intel Trace Analyzer Reference Guide Electronic resource., URL: http://software.intel.com/sites/products/documentation/-hpc/itac/itareferenceguide.pdf (дата обращения: 30.08.2010).
  71. LBNL, UC Berkeley. Berkeley UPC User’s Guide Electronic resource., URL: http://upc.lbl.gov/docs/user/index.shtml (дата обращения: 30.08.2010).
  72. Message Passing Interface Forum. MPI: A Message-Passing Interface Standard Electronic resource., URL: http://www.mpi-forum.org (дата обращения: 30.08.2010).
  73. The Scalasca Development Team. CUBE 3.3 User Guide: Generic Display for Application Performance Data Electronic resource. URL: http://www.fz-juelich.de/jsc/datapool/scalasca/cube3-wx.pdf (дата обращения: 30.08.2010).
  74. RMIT HPC Resources Wiki Electronic resource., URL: http://its-ru-hpc-mgmt.cs.rmit.edu.au/doku.php (дата обращения: 30.08.2010).
  75. Serres О., Kayi A., Anbar A., El-Ghazawi T. A UPC Specification Extension Proposal for Hierarchical Parallelism Electronic resource. URL: http://www2.hpcl.gwu.edu/pgas09/hierarchicalparallelism.pdf (дата обращения: 30.08.2010).
  76. SGI Unified Parallel С (UPC) User’s Guide Electronic resource., URL: http://techpubs.sgi.com/library/manuals/5000/007−5604−002/pdf/007−5604−002.pdf (дата обращения: 30.08.2010).
  77. Shende S. S. The role of instrumentation and mapping in performance measurement: Ph.D. thesis / University of Oregon. 2001.
  78. Shende S. S., Malony A. D. The Tau Parallel Performance System // The International Journal of High Performance Computing Applications. 2006. Vol. 20. Pp. 287−331.
  79. Su H. H., Billingsley M., George A. D. Parallel Performance Wizard: A Performance Analysis Tool for Partitioned Global-Address-Space Programming Models //In Proceedings, ACM/IEEE Conference on Supercomputing (SC 2006) Poster Session. 2006.
  80. Sunderam V. S. PVM: a framework for parallel distributed computing // Concurrency: Pract. Exper. 1990. Vol. 2, no. 4. Pp. 315−339.
  81. Thorsen A. Atomic Memory Operations proposal Electronic resource. URL: http://www.cs.mtu.edu/ athorsen/research/atomic/-atomicproposal.pdf (дата обращения: 30.08.2010).
  82. Titanium Home Page Electronic resource. URL: http://titanium.cs.berkeley.edu/ (дата обращения: 30.08.2010).
  83. TotalView Technologies Home Page Electronic resource. URL: http://www.totalviewtech.com/ (дата обращения: 30.08.2010).
  84. Truong H. L., Fahringer Т. Scalea a Performance Analysis System for Distributed and Parallel Programs //In 8th International Euro-Par Conference. Springer, 2002. Pp. 75−85.
  85. UPC CFD Visualization Electronic resource., URL: http: //upc. lbl. gov/demos/UPC-CFD. shtml (дата обращения: 30.08.2010).
  86. UPC NAS Parallel Benchmarks Project Page Electronic resource. URL: http://threads.hpcl.gwu.edu/sites/npb-upc (дата обращения: 30.08.2010).
  87. UPC Projects at MTU Electronic resource., URL: http://www.upc.mtu.edu/ (дата обращения: 30.08.2010).
  88. UUPC SSCA #3 Electronic resource., URL: http://threads.hpcl.gwu.edu/sites/ssca3 (дата обращения: 30.08.2010).
  89. Vetter J. Performance analysis of distributed applications using automatic classification of communication inefficiencies // ICS '00: Proceedings of the 14th international conference on Supercomputing. New York, NY, USA: ACM, 2000. Pp. 245−254.
  90. Wibecan B. F. UPC: Privatizing Functions Electronic resource. URL: http://www2.hpcl.gwu.edu/pgas09/HPUPCProposal.pdf (дата обращения: 30.08.2010).
  91. Wijngaart R. The NAS Parallel Benchmarks 2.4: Tech. Rep. NAS-02−007: NASA Ames Research Center, 2002.
  92. Wolf F. Automatic Performance Analysis on Parallel Computers with SMP Nodes: Ph. D. thesis / RWTH Aachen, Forschungszentrum Julich. 2003.
  93. Wolf F., Bhatia N. EARL API Documentation: High-Level Trace Access Library: Tech. Rep. ICL-UT-04−03: Forschungszentrum Julich, University of Tennessee, 2004.
  94. Wolf F., Mohr В. Automatic Performance Analysis of MPI Applications Based on Event Traces // Euro-Par '00: Proceedings from the 6th International Euro-Par Conference on Parallel Processing. London, UK: SpringerVerlag, 2000. Pp. 123−132.
  95. Wolf F., Mohr В. Specifying performance properties of parallel applications using compound events // On-line monitoring systems and computer tool interoperability. Commack, NY, USA: Nova Science Publishers, Inc., 2003. Pp. 91−110. ISBN: 1−59 033−888-X.
  96. Wolf F., Mohr В., Bhatia N. et al. EPILOG Binary Trace-Data Format: Tech. Rep. FZJ-ZAM-IB-2004−06: Forschungszentrum Julich, 2004.
Заполнить форму текущей работой