УДК 004.021
МЕТРОЛОГИЧЕСКОЕ ОБЕСПЕЧЕНИЕ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ И СИСТЕМ
А.В. Семенов, А.В. Бухановский
Рассматривается современное состояние проблемы метрологического обеспечения технологий распределенных вычислений и систем. С точки зрения обеспечения единства измерений анализируются объекты, методы и средства измерений, применяемые в данной предметной области. Ключевые слова: метрологическое обеспечение, распределенные вычисления.
Введение
Неотъемлемой характеристикой компьютерной программы является время ее исполнения. Оно совокупно зависит от особенностей реализуемого алгоритма, специфики данных и характеристик компьютера, на котором производятся вычисления. На процесс выполнения программы влияет большое количество различных факторов, затрудняющих точное измерение и прогноз времени выполнения; особенно ярко это свойство проявляется на многопроцессорных и распределенных вычислительных системах. Извлечение количественной информации о свойствах объектов с заданной точностью и достоверностью является классической задачей метрологии [1]. За время ее существования было выработано большое количество разнообразных подходов и методов измерений различных параметров, могущих быть примененными к высокопроизводительным вычислениям. Одним из важнейших понятий метрологии является единство измерений - состояние измерений, при котором их результаты выражены в узаконенных единицах величин и погрешности не выходят за установленные границы с заданной вероятностью. Единство измерений необходимо для того, чтобы можно было сопоставить результаты измерений, выполненных в разных местах и в разное время, с использованием разных методов и средств измерений. В данной работе производится анализ текущего состояния метрологического обеспечения высокопроизводительных вычислений применительно к основным категориям понятий - объектам, процедурам и средствам измерений.
Объекты измерений
В настоящее время не существует однозначной классификации объектов измерений в области высокопроизводительных вычислений. Наиболее часто рассматривается такая характеристика, как срок окончания выполнения задачи (deadline); типизация способов задания deadline рассмотрена в [2]. Сроки окончания измеряются в единицах измерения времени и являются абсолютной характеристикой выполнения задачи.
В ряде случаев удобнее рассматривать фрагментарные временные характеристики задачи. Например, в [3] рассматривается такая характеристика, как время отклика приложения, в [4] - время ожидания начала выполнения, в [5] - время создания потоков операционной системой, и пр. Фрагментарные характеристики могут рассматриваться как параметры модели, описывающей время выполнения задачи в целом.
Для описания масштабируемости задачи используются относительные временные характеристики, например, параллельное ускорение и параллельная эффективность [6]. В работе [7] измеряется такая характеристика приложения, как изоэффективность. Эти величины целесообразно применять для определения целесообразности распараллеливания задачи на заданное число узлов или для сопоставления нескольких способов распараллеливания одного и того же алгоритма. Для сравнения различных вычислительных алгоритмов и/или различных вычислительных систем они не применяются. Понятие масштабируемости тесно связано с интегральными характеристиками параллель-
ных приложений, такими, например, как профиль параллельности, средняя параллельность и абсолютная параллельность [8].
Отдельный класс объектов измерений составляют специфические параметры, характеризующие не столько саму параллельную задачу, сколько особенности многопользовательской системы, на которой она выполняется. К ним относятся количество работающих задач, коэффициент утилизации, количество пользователей, получивших свою задачу в срок, и пр. [9]. В работе [10] сделан шаг в направлении создания единой системы объектов измерений как характеристик, определяющих распределенную систему.
Процедуры измерений
Основными методами измерения производительности задач, выполняющихся на распределенной вычислительной системе, являются прототипирование, аналитический расчет, прогнозирование на основе «исторической информации», обучение в реальном времени, а также гибридный метод, сочетающий в себе особенности одного или нескольких вышеупомянутых подходов. Широко распространенными методами оценки производительности параллельных программ при помощи аналитического расчета являются законы Амдала и Густафсона [11].
Как известно [1], один из способов определения погрешности измерительной процедуры заключается в вычислении разности измеренного и эталонного значения величины. В области высокопроизводительных вычислений известны исследования, направленные на построение некоторых эталонных объектов измерения. Например, в [12] построена модель для генерации задач, имеющих параметры, близкие к реально исполняемым задачам (с целью тестирования различных механизмов управления суперкомпьютерами высокого уровня занятости). В работе [13] рассмотрен способ уменьшения необходимого для улучшения конфигурации системы количества итеративных измерений; здесь близость к эталону интерпретируется в терминах сходства между соседними итерациями.
Основным способом организации измерительной процедуры в настоящее время является расстановка точек останова с последующим сбором фрагментарных измерительных данных. Методы статического и динамического анализа производительности программы, а также способы оптимизации расстановки точек останова описаны в [14].
Средства измерений
В высокопроизводительных вычислениях применяются два типа средств измерений: первый тип измеряет характеристики системы, на которой работают задачи (производительность, количество процессоров и др.), а второй - характеристики задачи, работающей на системе (время работы, параллелизм и др.). К первой группе относятся такие инструменты, как NAS Parallel benchmarks, Linpack, SPEC. В работе [15] описываются общие принципы построения программных и аппаратных мониторов - средств измерений, позволяющих узнать производительность системы, принципиальное отличие систем друг от друга, а также сформулировать пути последующего улучшения производительности системы.
Для измерения временных характеристик задачи, выполняющейся на параллельной вычислительной системе, применяются два метода, отличающиеся по использованию средств измерений. Первый - внедрение в исходный код программы вызовов некоторых функций измерения времени, наподобие gettimeofday() в UNIX, компиляция и запуск программы несколько раз подряд. Способы фрагментации исходного кода программы для более точного измерения времени описаны в [14], там же дано подробное описание данного средства, описано влияние таких факторов, как заполненность кэша,
и вычислена погрешность измерений. Второй метод - использование сторонних программ, которые внедряются в процесс работы измеряемой программы и проводят измерения, например, [16].
Заключение
Проведенный в работе анализ показал, что, несмотря на актуальность проблемы измерения характеристик параллельных приложений и вычислительных систем, в настоящее время еще не сложилось общепринятых подходов к ее решению. Разными авторами предлагаются различные метрики количественной оценки задач и производительности программных и аппаратных систем, разработаны многочисленные методы измерений и специальные измерительные средства, ориентированные в большинстве своем на узкие классы прикладных задач. Можно утверждать, что в настоящий момент применяемые методы и технологии не находятся в состоянии единства измерений, что оставляет конъюнктурный вопрос создания системы метрологического обеспечения высокопроизводительных вычислений открытым.
Литература
1. Цветков Э.И. Основы математической метрологии. - СПб: Политехника, 2005. -510 с.
2. Kao B., Garcia-Molina H. Deadline Assignment in a Distributed Soft Real-Time System // IEEE Transactions on Parallel and Distributed Systems. - 1997. - Vol. 8. - №12. - Р.1268-1274.
3. Dror G. Feitelson, Larry Rudolph, Uwe Schwiegelshohn et al. Theory and Practice in Parallel Job Scheduling // Proceedings of the Job Scheduling Strategies for Parallel Processing, April 05, 1997. - Р. 1-34.
4. Iosup A., Epema D.H.J., Franke et al. On grid performance evaluation using synthetic workloads // Lecture Notes in Computer Science. - Springer, 2006. - Vol. 4376. -Р.232-255.
5. Kejariwal А. et al. Tight analysis of the performance potential of thread speculation using spec CPU 2006 // Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming. March 14-17, 2007. San Jose, California, USA. - Р. 215-225.
6. Bertasi P., et al. Obtaining Performance Measures through Microbenchmarking in a Peer-to-Peer Overlay Computer // Proceedings of the First International Conference on Complex, Intelligent and Software Intensive Systems. - 2007. - Р. 285-290.
7. Grama А., Gupta А., Kumar V. Isoefficiency: Measuring the Scalability of Parallel Algorithms and Architectures // IEEE Parallel & Distributed Technology: Systems & Technology. - 1993. - Vol. 1. - № 3. - Р. 12-21.
8. Overeinder B.J. Distributed Event-driven Simulation: Scheduling Stategies and Resource Management: Ph.D. thesis. - Universiteit van Amsterdam, 2000. - 222 p.
9. Welsh M., Culler D. Adaptive overload control for busy internet servers // Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems. March 26-28, 2003, Seattle, WA. - Р. 4.
10. Dan А., Dumitrescu С., Ripeanu М. Connecting client objectives with resource capabilities: an essential component for grid service managent infrastructures // Proceedings of the 2nd international conference on Service oriented computing. November 15-19, 2004. New York, NY, USA. - Р. 57-64.
11. Shi Y. Reevaluating Amdahl's Law and Gustafson's Law. - Temple Un., Oct 1996. - Р. 17. - Режим доступа: http://www.cis.temple.edu/~shi/docs/amdahl.ps, свободный.
12. Dinda P., O'Hallaron DR. Realistic CPU Workloads through Host Load Trace Playback // Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers. May 25-27, 2000. - Р. 246-259.
13. Osogami T., Kato S. Optimizing system configurations quickly by guessing at the performance // Proceedings of the 2007 ACM SIGMETRICS international conference on Measurement and modeling of computer systems. June 12-16, 2007. San Diego, California, USA. - Vol. 35.- Issue 1 (June 2007). - Р. 145-156.
14. Топорков В.В. Модели распределенных вычислений. - М.: ФМЛ, 2004. - 320 с.
15. Carlson G. How to save money with computer monitoring // Proceedings of the ACM annual conference. August 01-01, 1972. Boston, Massachusetts, United States. - Р. 1018-1023.
16. Miller M., et al. The Paradyne Parallel Performance Measurement Tools // IEEE Computer. - 1995. - Vol. 28. - № 11. - Р. 37-46.
Семенов Александр Владимирович - Санкт-Петербургский государственный универ-
ситет информационных технологий, механики и оптики, аспирант, [email protected]
Бухановский Александр Валерьевич - Санкт-Петербургский государственный универ-
ситет информационных технологий, механики и оптики, д.т.н., профессор, [email protected]
УДК 533.6.011
ПРИМЕНЕНИЕ ГРАФИЧЕСКИХ СОПРОЦЕССОРОВ НА СУПЕРКОМПЬЮТЕРЕ МВС-ЭКСПРЕСС ДЛЯ РАСЧЕТА ЗАДАЧ АЭРОГАЗОДИНАМИКИ
А.А. Давыдов
Использование графических сопроцессоров для вычислений общего назначения испытывает значительный подъем благодаря появлению новых средств программирования. Однако параллельные вычисления на графических процессорах на сегодняшний день встречаются достаточно редко. На примере макетного суперкомпьютера МВС-ЭКСПРЕСС показывается перспективность данного направления. Ключевые слова: аэрогазодинамика, графический сопроцессор.
Введение
Применение видеокарт NVidia GeForce 8800 GTX [1] для расчета задач газовой динамики позволяет ускорить расчет в 10-15 раз по сравнению с серверными процессорами, входящими в состав типичных кластерных установок. Однако относительно небольшой объем оперативной памяти таких устройств (до 1 ГБ) создает ощутимые ограничения на размер решаемых задач. Параллельное использование графических процессоров накладывает очень жесткие требования на коммуникационную среду, выполнение которых не под силу большинству современных кластерных установок. В ИПМ им. М.В. Келдыша РАН построен и передан в опытную эксплуатацию макет гибридного суперкомпьютера из 6 узлов, объединенных каналами PCI-Express, с пиковой производительностью около полутора терафлопс. В состав каждого узла данного макета, помимо четырех универсальных процессоров (ядер), входит один графический сопроцессор GeForce 8800 GTX (рис. 1). В работе проводится исследование эффективности параллельного использования графических сопроцессоров для расчета задач газовой динамики.