Анализ обращений программы к памяти в оптимизирующей распараллеливающей системе
Диссертация
Описанные выше причины вынуждают развивать методы, улучшающие размещение данных в программе, в системах оптимизации и распараллеливания программ. На сегодняшний день разработано достаточно много теоретических методов размещения данных в общей и распределенной памяти, однако они не имеют связи с исполняемым кодом. Таким образом, для того чтобы использовать существующие теоретические достижения… Читать ещё >
Список литературы
- Абрамов С., Адамович А., Коваленко М. Т-система: среда программирования с поддержкой автоматического динамического распараллеливания на платформе «IP-сеть UNIX-компьютеров». URL: www.botik.ru/abram/ts-pabs.html.
- Александреску A. Современное проектирование на С++. Серия С++ In-Depth, т. 3. M.: Издательский дом «Вильяме», 2002. — 336 с.
- Аллен Р., Кеннеди К. Автоматическая трансляция Фортран-программ в векторную форму // Векторизация программ: теория, методы, реализация. М.: Мир, 1991. С. 77−140.
- Анализатор распараллеливаемое&trade- циклов (OPS Web Tool). URL: http://195.208.237.175/opsweb.php.
- Антонов A.C. Параллельное программирование с использованием технологии MPI. M.: Изд-во МГУ, 2004 г., 71 с.
- Андрианов А.Н., Бугеря А. Б., Ефимкин К. Н. НОРМА специализированная система параллельного программирования. В сб. Сибирская школа-семинар по параллельному программированию, Томск: Изд-во Томского университета, 2002. С.33−45.
- Арапбаев Р.Н. Анализ зависимостей по данным: тесты на зависимость и стратегии тестирования: дис.. кандидата физико-математических наук, Новосибирск, ИСИ СО РАН, 2008. 116 с.
- Ахо А., Лам М., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструментарий, 2-е изд.: Пер. с англ. М.: ООО «И.Д. Вильяме», 2008. — 1184 с.
- Бабичев A.B., Лебедев В. Г. Распараллеливание программных циклов // Программирование. 1983, № 5, С. 52−63.
- Векторизация программ. // Векторизация программ: теория, методы, реализация. Сборник переводов статей М.: Мир, 1991. С. 246 267.
- Воеводин В.В. Математические основы параллельных вычислений, М., МГУ, 1991.-345 с.
- Воеводин В. В. Воеводин Вл.В. Параллельные вычисления, С-Петербург «БХВ-Петербург», 2002. 599 с.
- Воеводин Вл. В. Статистические оценки возможности выявления параллельной структуры последовательных программ // Программирование, № 4, 1990. С. 44−54.
- Воеводин В л. В. Теория и практика исследования параллелизма последовательных программ. // Программирование, № 3, 1992. С. 38−54.
- Волков Д., Фролов А. Оценка быстродействия нерегулярного доступа к памяти // Открытые системы. СУБД, 2008, № 01. С. 15−19.
- Гайсарян С.С., Аветисян А. И., Падарян В. А., Леонтьев Г. Применение среды ParJava для разработки параллельных программ. // Труды международной научной конференции «Суперкомпьютерные системы и их применение» (SSA, 2004). Минск, 2004. С. 99−104.
- Гайсарян С.С., Чернов A.B., Белеванцев A.A., Маликов О. Р., Мельник Д. М., Меньшикова A.B. О некоторых задачах анализа и трансформации программ. Труды Института системного программирования РАН. Том 5, 2004. С. 7−40.
- Гергель В.П., Стронгин Р. Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. Учебное пособие Нижний Новгород: Изд-во ННГУ им. Н. И. Лобачевского, 2003. — 184 с.
- Горбунов В., Эйсымонт Л. Экзафлопсный барьер: проблемы и решения // Открытые системы. Платформы, 2010, № 05. С. 10−13.
- Диалоговый высокоуровневый оптимизирующий распараллеливатель программ (ДВОР). URL: http://www.ops.rsu.ru.
- Дроздов А. Ю, Владиславлев В. Е. Межпроцедурный анализ указателей // Информационные технологии. Приложение № 2. 2005.
- Евстигнеев В.А., Касьянов В. Н. Оптимизирующие преобразования в распараллеливающих компиляторах // Программирование, 1996, № 6, с. 12−26.
- Евстигнеев В.А., Мирзуитова И. А. Анализ циклов: выбор кандидатов на распараллеливание. Препринт № 58, ИСИ РАН, Новосибирск, 1999. 41 с.
- Идрисов Р.И. Межпроцедурный анализ и распараллеливание потоковых программ на базе графа исполнений вызовов: дис. кандидата физико-математических наук, Новосибирск, ИСИ СО РАН, 2010.- 148 с.
- Ильин В.А., Позняк Э. Г. Линейная алгебра. М.: Наука, 1974. — 331с.
- Ицыксон В.М., Моисеев М. Ю., Ахин М. Х., Захаров A.B., Цесько В. А. Алгоритмы анализа указателей для обнаружения дефектов в исходном коде программ // Системное программирование. № 4. 2009. С. 5−30.
- Касперский К. Техника оптимизации программ. Эффективное использование памяти. СПб.: БХВ-Петербург, 2003. — 456 с.
- Касьянов В.Н. Оптимизирующие преобразования программ. М., «Наука», 1988.-336 с.
- Касьянов В.Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. СПб.: БХВ-Петербург, 2003. — 1104 с.
- Корнеев В.В. Параллельные вычислительные системы. М., «Нолидж», 1999.-311 с.
- Полуян C.B. Автоматическое размещение массивов в распределенной памяти с минимизацией количества пересылок // Труды научной школы И. Б. Симоненко, отв. ред.: Я. М. Ерусалимский, Б. Я. Штейнберг. Ростов н/Д: Изд-во ЮФУ, 2010 г. С. 214−219.
- Полуян С.В. Анализ обращений программы к памяти в оптимизирующей распараллеливающей системе // Труды XVIII Всероссийской научно-методической конференции Телематика'2011. Том 2 СПб.: СПбГУ ИТ-МО, 2011.-С. 328−329.
- Полуян С.В. Анализ указателей для распараллеливания // Параллельные вычисления и задачи управления (РАСО'2010): Труды V Международной конференции, ИПУ РАН, г. Москва, 26−28 октября 2010 г. С. 1065−1069.
- Полуян С.В. Выбор оптимального размещения многомерных массивов в памяти компьютера // Известия вузов. Северо-Кавказский регион. Серия: Естественные науки, 2010, № 3. С. 15−18.
- Полуян С.В. Статический анализ высокоуровневых программ. -Saarbrucken: Lambert Academic Publishing, 2011. 154 е.: ил. — ISBN 978−38 454−4150−4.
- Полуян С.В. Уточнение графа информационных связей с помощью анализа псевдонимов // Информационные технологии, 2011, № 4. С. 36−40.
- Прангишвили И.В., Виленкин С .Я., Медведев И. Л., Параллельные вычислительные системы с общим управлением // М.: Энергоатомиздат, 1983. -312 с.
- Свами М., Тхуласираман К. Графы, сети, алгоритмы. М.: Мир, 1984. -454 с.
- Себеста Р. Основные концепции языков программирования, 5-е изд.: Пер. с англ. — М.: Вильяме, 2001. — 672 с.
- Семенов А., Фролов А., Эйсымонт Л. Graph500: адекватный рейтинг // Открытые системы. СУБД, 2011, № 01. С. 14−17.
- Система документирования исходных кодов Doxygen (www.doxygen.org).
- Фельдман Л.П. Параллельные алгоритмы численного решения систем линейных обыкновенных дифференциальных уравнений // Математическое моделирование. 2000, Т. 12, № 6. С. 15−20.
- Фролов А. В. Оптимизация размещения массивов в ФОРТРАН-программах на многопроцессорных вычислительных системах // Программирование, 1998, № 3,-С. 70−80.
- Хандхаузен Р. Знакомство с Microsoft Visual Studio 2005 Team System. Пер. с англ. -М.: Издательство «Русская редакция" — СПб.: Питер, 2006. 416 с.
- Чернов А.В. Анализ запутывающих преобразований программ. Сб. Труды Института системного программирования, под. ред. В. П. Иванникова. М.: ИСП РАН, 2002.
- Штейнберг Б.Я. Бесконфликтные размещения массивов при параллельных вычислениях // Кибернетика и системный анализ, 1999, № 1. С. 166−178.
- Штейнберг Б.Я. Оптимизация размещения данных в параллельной памяти, Изд-во Южного федерального ун-та, 2010. 256 с.
- Штейнберг Б.Я. Распараллеливание программ для суперкомпьютеров с параллельной памятью и открытая распараллеливающая система: дис.. д-ра техн. наук. Ростов н/Д, 2004. 343 с.
- Шульженко A.M. Исследование информационных зависимостей программ для распараллеливающих преобразований: дис.. канд. техн. наук. Ростов н/Д, 2006. 202 с.
- Электронное обучающее средство „Тренажер параллельного программиста“ (ТПП) 2007 г. URL: http://www.ops.rsu.ru.
- Этов В.И. Быстрый онлайновый анализ указателей // Автоматика и вычислительная техника. № 3. 2008. С 219−219.
- Якобовский М.В. Распределенные вычисления. М.: Наука, 2003. — 340 с.
- Allen R., Kennedy К. Optimizing compilers for Mordern Architetures. Morgan Kaufmann Publisher, Academic Press, USA, 2002. 790 p.
- Amarasinghe S.P., Anderson J.M., Lam M.S., Tseng C.W. The SUIF Compiler for Scalable Parallel Machines // In Proceedings of the seventh SIAM Conference on Parallel Processing for Scientific Computing, Feb. 1995.
- AMD CodeAnalyst Performance Analyzer. URL: http://developer.amd.com/.
- Andersen L.O. Program Analysis and Specialization for the С Programming Language. Ph. D thesis. DIKU, University of Copenhagen. 1994. 311 p.
- Appel A., Ginsburg M. Modern Compiler Implementation in C. Cambridge University Press. 1998. 544 p.
- AQtime Pro. URL: http://www.automatedqa.ru/products/aqtime/.
- Berndl M., Lhotak O. Points-to analysis using BDDs // Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, 2003. P. 103−114.
- Beyls K., D’Hollander E.H. Refactoring for Data Locality // IEEE Computer, vol. 42, № 2, 2009. P. 62−71.
- Bodin F., Beckman P., Gannon D., Yang S., Kesavan S., Malony A., Mohr В. Implementing a Parallel С++ Runtime System for Scalable Parallel Systems // In Proceedings of Supercomputing '93, November 1993. P. 588−597.
- Chapman B.M., Mehrotra P., Zima H.P. User Defined Mappings in Vienna Fortran // In SIGPLAN'92 Workshop on Languages, Compilers, and Run-Time Environments for Distributed Memory Multiprocessors, Boulder, Colorado, 1992. P. 72−75.
- Cooper K. D., Hall M. W., Kennedy K., Torczon L. Interprocedural Analysis and Optimization // Communications in Pure and Applied Mathematics, 1995. P. 947−1003.
- Cooper K.D., Torcson L. Engineering a Compiler. 2nd ed. Morgan Kaufmann Publishers, Elsevier Inc. 2011. — 824 p.
- DevPartner Studio. URL: http://www.microfocus.com.
- Diwan A., McKinley K., Moss E. Type-based alias analysis // Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, Montreal, Quebec, Canada, June 17−19, 1998. P.106−117.
- Embarcadero RAD Studio. URL: http://www.embarcadero.com.
- Emami M., Ghiya R., Hendren L. J. Context-sensitive interprocedural points-to analysis in the presence of function pointers // In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1994. P. 242−256.
- Feautrier P. Data Flow Analysis for Array and Scalar References // International Journal of Parallel Programming. V. 20, № 1, Feb. 1991. P. 23−53.
- Frumkin M.A., Shabanov L.V. Benchmarking Memory Performance with the Data Cube Operator // Proceedings of ISCA 17th International Conference Parallel and Distributed Computing Systems, September 2004. P 165−171.
- GNU Compiler Collection (GCC). URL: http://gcc.gnu.org.
- Graph500. URL: http://www.graph500.org.
- Gross A. Evaluation of dynamic points-to analysis, 2004. URL: http://www.complang.tuwien.ac.at/franz/sem-arbeiten/04w/semWS04gross 26 934.pdf.
- Hamel L., Hatcher P., Quinn M. An Optimizing C* Compiler for a Hypercube Multicomputer. In Languages, Compilers, and Run-Time Environments for Distributed Memory Machines, Elsevier Science Publishers, 1992. P. 285−298.
- Handy J. The Cache Memory Book. 2nd ed. Academic Press, 1998. — 229 p.
- Hecht M. Flow Analysis of Computer Programs. Elsevier North-Holland, New York, 1 edition, 1977. 246 p.
- IBM Rational Software Analyzer. URL: www.ibm.com/software/rational.
- Intel C++ Compiler. URL: http://software.intel.com/ru-ru/intel-compilers/.
- Intel VTune Amplifier XE. URL: http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/.
- Kalinov A., and Klimov S. Optimal mapping of a parallel application processes onto heterogeneous platform // Proceedings of 19th International Parallel and Distributed Processing Symposium, Denver, USA, April 2005, IEEE CS.
- Kant K. Introduction to Computer System Performance Evaluation. Mc Graw-Hill Inc. 1992.-640 p.
- Kasyanov V. N., Evstigneev V. A. The system PROGRESS as a tool for paralleling compiler prototyping // Proc. Of Eighth SIAM Conf. On Parallel Processing for scientific Computing (PPSC-97) Minneapolis, 1997. P. 301−306.
- Kuck D.J., Kuhn R.H., Leasure B., Wolfe M. Depedance graph and compiler optimizations // Proc. 8-th ACM Symp. On Principles of Progr. Lang. Williamsburg, 26−28 Jan. 1981. P. 207−218.
- Kulkurni D., Stumm M. Loop and Data Transformations: A Tutorial. Technical Report CSRI 337, Computer Systems Research Institute, June 1993. 53 p.
- Lam M. S., Whaley J. Context-sensitive program analysis as database queries // Proc. ACM Symposium on Principles of Database Systems, 2005. P. 1−12.
- Lim A.W., Lam M.S. Cache Optimizations With Affine Partitioning // In Proceedings of the Tenth SIAM Conference on Parallel Processing for Scientific Computing, Portsmouth, Virginia. 14 p.
- Lim A.W., Lam M.S. Maximizing Parallelism and Minimizing Synchronization with Affine Partitions // Parallel Computing, 24, 1998. P. 445−475.
- McAffer J., Lemieux J., Aniszczyk C. Eclipse Rich Client Platform. 2nd ed. Addison-Wesley Professional. 2010. — 552 p.
- Metz E., Lencevicius R. Efficient Instrumentation for Performance Profiling // Proceedings of the ICSE Workshop on Dynamic Analysis, 2003. P. 143−148.
- Mitchell M. Type-based alias analysis // Dr. Dobb’s Journal: Software Tools for the Professional Programmer, 2000, № 10. P. 54−58.
- Muchnick S. Advanced compiler design and implementation. Morgan Kaufmann, 3rd ed., 1997.-887 p.
- Murphy B.R., Lam M.S. Program analysis with partial transfer functions // In: Proc. of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York, NY, USA, 2000. P. 94−103.
- Pugh W. The Omega Test: a fast and practical integer programming algorithm for dependence analysis // Comm. Of the ACM, August, 1992. P. 102−114.
- Paek Y. Compiling for Distributed Memory Multiprocessors Based on Access Region Analysis. Thesis Ph/D in Computer Science, University of Illinois at Ur-bana-Champaign, 1997. http://polaris.cs.uiuc.edu.
- Randolph N. Professional Visual Studio 2010. Wrox. 2010. 1224 p.
- Richardson H. High Performance Fortran: history, overview and current developments. Tech. Rep. TMC-261, Thinking Machines Corporation, 1996.
- Richter J. Applied Microsoft .NET Framework Programming. Microsoft Press. 2002. 640 p.
- Rinetzky N., Ramalingam G., Sagiv S., Yahav E. On the complexity of partially-flow-sensitive alias analysis. ACM Transactions on Programming Languages and Systems, 2008. 28 p.
- Ruf Erik. Context-insensitive alias analysis reconsidered // In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1995. P. 13−31.
- Sade Y., Sagiv M., Shaham R. Optimizing C multithreaded memory management using thread-local storage // In Compiler Construction. 2005. P. 137−155.
- SHMEM Programming Manual: staff.psc.edu/oneal/compaq/ShmemMan.pdf
- Standard Performance ^ Evaluation Corporation (SPEC). URL: h ttp:// ww w. spec. org/ben chm arks. html.
- Steensgaard B. Points-to analysis in almost linear time // Proc. ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1996. P. 32−41.
- Sunderam V.S. PVM: A Framework for Parallel Distributed Computing, Concurrency: Practice and Experience, 1990. P. 315−339.
- Thinking Machines Corporation, Cambridge, Massachusetts. CM Fortran Reference Manual, Version 1.0, February 1991.
- Treleaven P.C. Parallel architecture overview // Parallel Computing, North-Holland, 1988. P. 59−70.
- Tok T. B., Guyer S. Z., Lin C. Efficient flow-sensitive interprocedural data-flow analysis in the presence of pointers // In 15th International Conference on Compiler Construction (CC), 2006. P. 17−31.
- Top500. URL: http://www.top500.org.
- Triolet R., Irigoin F., Feautrier P. Direct Parallelization of CALL Statements // In Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, Palo Alto, California, June 1986». P. 176−185.
- Voevodin V.V., Voevodin VI.V. The V-Ray Technology of Optimizing Programs to Parallel Computers // Proc. of the 1st workshop on numerical analysis and applications, Russe, Bulgary, 24−27 June, 1996.
- Whaley J. A portable sampling-based profiler for java virtual machines // In Proceedings of the ACM 2000 Conference on Java Grande, ACM Press, June 2000. P. 78−87.
- Whaley J., Lam M. S. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams // In SIGPLAN Conference on Programming Language Design and Implementation, 2004. P. 131−144.
- Wilson R, Lam M.S. Efficient context-sensitive pointer analysis for C programs // In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1995. P. 1−12.
- Wolf M., Banerjee U. Data Dependence and its Application to Parallel Processing // International Journal of Parallel Programming. 1987. Vol.16, № 2. P. 137−178.
- Wolf M.E., Lam M.S. A data locality optimizing algorithm // Proc. ACM Sig-plan Notices 1991. vol. 26. P. 30−44.
- Zhu J., Caiman S. Symbolic pointer analysis revisited // Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, 2004, P. 145−157.147