Межпроцедурный анализ и распараллеливание потоковых программ на базе графа исполнений вызовов
Диссертация
Практическая часть данной работы описывает реализацию межпроцедурного анализа и распараллеливания в рамках системы функционального программирования (SFP), разрабатываемой в Институте Систем Информатики им. А. П. Ершова (ИСИ СО РАН). Основные оптимизирующие преобразования в SFP производятся на уровне внутреннего потокового представления IR2, которое может быть использовано в качестве внутреннего… Читать ещё >
Список литературы
- Steensgaard В. Points-to analysis in almost linear time. II In proceedings of POPL'96 / St. Petersburg Beach, Florida, January 1996. —P. 32−41.
- Schouten D.A. An Overview of interprocedural analysis technologies for high performance parallelizing compilers — Illinois, May 1990 — 62 p. — (Tech. Rep. / Center for Supercomputing Research and Development / University of Illinois- No. 1005).
- Евстигнеев В.А., Серебряков В. А. Методы межпрог{едурного анализа (обзор) II Программирование — 1992 — N3 — С. 4−15.
- Касьянов B.H., Мирзуитова И.Л. SLICING: Срезы программ и их использование — Новосибирск 2002 — 116 с. — (Конструирование и оптимизация программ)
- Hind М. et al. An Empirical Study of Precise Interprocedural Array Analysis / M. Hind, M. Burke, P. Carini, S. Midkiff // Scientific Programming — 1994 — Vol. 3, N 3 — P. 255−271
- Callahan D., Kennedy K. Analysis of Interprocedural Side Effects in a Parallel Programming Environment. II Journal of Parallel and Distributed Computing—1988 —Vol. 5 —P. 517−550.
- Антонов A.C. Современные методы межпроцедурного анализа программ!'/ Программирование — 1998 —N 5 — С. 3−14.
- Triolet R., Irigoin F., Feautrier P. Direct Parallelization of Call Statements. // Proceedings of the SIGPLAN Symposium on Compiler Construction — SIGPLAN Notices, Vol. 21. 7, 1986 — P. 176−185.
- Burke M., Cytron R. Interprocedural dependence analysis andpar allelization. I I In Proceedings of the SIGPLAN Symposium on Compiler Construction — SIGPLAN Notices, Vol. 26, 6, 1986 — P. 145−156.
- Pugh W. The Omega Test: a fast and practical integer programming algorithm for dependence analysis —University of Maryland, 1991 — 10 p. — (ACM 0−89 791−459−7/91/0004).
- Tang P. Exact Side Effects for Interprocedural Dependence Analysis // Proceedings of the ACM International Conference on Supercomputing / Tokyo, Japan, July 1993 — P. 137−146
- Стасенко А.П. Внутреннее представление системы функционального программирования Sisal 3.0. — Новосибирск, 2004. — 54 с. — (Препр. / РАН. Сиб. отд-е. ИСИ- № 110).
- Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. — СПб.: БХВ-Петербург, 2002. — 608 с.
- Касьянов В. Н., Бирюкова Ю. В. Евстигнеев В.А. Функциональный язык SISAL 3.0II Поддержка супервычислений и Интернет-ориентированные технологии. — Новосибирск, 2001. — С. 54−67.
- McGraw, J. R. et. al. Sisal: Streams and iterations in a single assignment language, Language Reference Manual Version 1.1 II Lawrence Livermore Nat. Lab. Manual M-146. — Livermore, CA 1983.
- McGraw, J. R. et. al. Sisal: Streams and iterations in a single assignment language, Language Reference Manual Version 1.2 II Lawrence Livermore Nat. Lab. Manual M-146 (Rev.l). — Livermore, CA 1985.
- Cann, D.C.- Feo, J. Т.- DeBoni, T.M. Sisal 1.2: High-performance applicative computing II Parallel and Distributed Processing, 1990. Proceedings of the Second IEEE Symposium / Volume, Issue, 9−13 Dec 1990 —P. 612−616
- Sarkar, V.- Cann, D. POSC—a partitioning and optimizing SISAL compiler! I Proceedings of the 4th international conference on Supercomputing / Amsterdam, The Netherlands, 1990 — P. 148 164
- Acherman W. В., Dennis J. В., Ackerman William B, VAL- oriented algorithmic language, preliminary reference manual II Massachusetts Institute of Technology, Cambridge, MA, 1979 — 80 p.
- Bohm A. P. W. et. al. The SISAL 2.0 Reference Manual. I I Livermore, CA, 1991. — (Prepr. / Lawrence Livermore Nat. Lab.- UCRLMA-109 098, LLNL).
- Евстигнеев В. А., Городняя Л. В., Густокашина Ю. В. Язык функционального программирования SISAL II Интеллектуализация и качество программного обеспечения. — Новосибирск, 1994. — С. 21— 42.
- Feo D. Т., Miller P. J., Skedzielewski S. К., Denton S. М. Sisal 90 User’s Guide II Lawrence Livermore Nat. Lab. Draft 0.96. — Livermore, CA, 1995.
- Бирюкова Ю. В. SISAL 90руководство пользователя. — Новосибирск, 2000. — 84с. — (Препр./ РАН. Сиб. Отд-е. ИСИ- № 72).
- Стасенко А. П. Пыжов К. Идрисов Р. И. Компилятор в системе функционального программирования SFP. II Вестник НГУ. Серия: информационные технологии. Т.1. Вып.2. Новосибирск: 2008. Стр. 73— 90.
- Kasyanov V. N. et. al, SFP — An interactive visual environment for supporting of functional programming and supercomputing IIWSEAS Transactions on Computers. — Athens: WSEAS Press, 2006. — Vol. 5, N 9. — P. 2063−2070.
- Глуханков M. П. и др. Транслирующие компоненты системы функционального программирования SFP // Современные проблемы конструирования программ. — Новосибирск: Институт систем информатики имени А. П. Ершова СО РАН, 2002. — С. 69−87.
- Стасенко А. П. Система интерфейсов транслятора во внутреннее представление IR1 // Методы и инструменты конструирования и оптимизации программ. — Новосибирск: Институт систем информатики имени А. П. Ершова СО РАН, 2005. — С. 229−238.
- Skedzielewski S. К Glauert J. IF 1 An intermediate form for applicative languages. II Manual M-170 / Lawrence Livermore National Laboratory — Livermore, CA, 1985.
- Густокашина Ю.В., Евстигнеев B.A. IF1 — промежуточное представление Sisal-программ II Проблемы конструирования эффективных и надежных программ. — Новосибирск, 1995. — С. 7078.
- Welcome М. et. al. IF2 — An applicative language intermediate form with explicit memory management I I Lawrence Livermore Nat. Lab. Manual M-195. — Livermore, CA, 1986.
- Kasyanov V. N., Stasenko A. P. Sisal 3.1 language structures decomposition И European Computing Conference. Book of Abstracts. — Athens: WSEAS Press, 2007. — P. 92.
- Kasyanov V. N., Stasenko A. P. Sisal 3.2 language structures decomposition II Lecture Notes in Electrical Engineering. — Berlin: Springer-Verlag, 2009. — Vol. 28. — P. 582−594.
- Пыжов К. А. Внутренние представления среднего уровня для компиляторов языка Sisal II Методы и инструменты конструирования программ / РАН, Сиб. Отд-е, Ин-т систем информатики. — Новосибирск, 2007. С. 174 — 185.
- АЛЬФА-система автоматизации программирования / Под. ред. А.П. Ершова). —АН СССР. Сиб. отд-ние. — Новосибирск: Наука, 1967. — 308 с.
- The Alpha automatic programming system / (Ed. by A.P.Ershov). — Acad. Press, London—New York, 1971. — 247 p.
- D. A. Turner Miranda: A Non-Strict Functional Language with Polymorphic Types //Proceedings IFIP Conference on Functional Programming Languages and Computer Architecture — Nancy, France, September 1985, LNCS 201 — pp. 1−16.
- Кряженков П.Б. Пользовательский интерфейс интегрированной среды функционального программирования SFP И Современные проблемы конструирования программ / РАН, Сиб. Отд-е, Ин-т систем информатики. — Новосибирск, 2002. — С. 182 198.
- Keith D. С. et al. The Impact of Interprocedural Analysis and Optimization in the Rn Programming Environment II ACM Transactions on Programming Languages and Systems, Vol. 8 No. 4, October 1986, Pages 491−523
- R.Wilson and M. Lam, Efficient context-sensitive pointer analysis for С programs II In Proceeding of the ACM SIGPLAN'95 Conference on Programing language Design and Implementation, June 1995, pp. 1−12.
- Erik Ruf, Context-insensitive alias analysis reconsidered И Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation / La Jolla, California, United States, 1995, Pages: 13 22
- Бульонков M. А., Кочетов Д. В. Визуализация свойств программ — Новосибирск, 1998. — 36 с. — (Препр. / РАН. Сиб. отд-е. ИСИ- № 51).
- Jong-deok Choi et al. Efficient Flow-Sensitive Interprocedural Computation of Pointer-Induced Aliases and Side Effects II The Twentieth Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages January 10−13, 1993 — Pages 232−245
- Burke M., Carini P. Flow-Insensitive Interprocedural Alias Analysis in the Presence of Pointers I I Lecture Notes In Computer Science- Vol. 892 — 1994 —Pages: 234−250
- Aho A. V., Ulman J. D. The theory ofparsing translation, and compiling I I Englewood, 1973 Vol. 2: Compiling — Cliffs N. J.: Prentice -Hall — 542 p.
- Chase D. R. et al Analysis of pointers and structures II Chase D.R., Wegman M. Zadeck F. K. / Proc. of the ACM SIGPLAN'90 Conf. on Programming Language Design and Implementation SIGPLAN Not. -1990 — Vol. 25, N6 — P. 296−310
- Landi W., Rider B. G. A safe approximate algorithm for interprocedural pointer aliasing II Proc. of the ACM SIGPLAN'92 Conf. on Programming Language Design and Implementation SIGPLAN Not. — 1992 — Vol. 27 -N7-P. 235−248
- Брюханова И. В., Емельянов П. Г., Касьянов В. Н. Сабельфельд В.
- К. Методы и средства семантического анализа Модула- программ. Оптимизация и конструирование программ 1993. С. 7- 23
- Бульонков М. А. Кочетов Д. В. Грамматический подход к анализу синонимов II Программирование — 1996 — N3 — С. 36−46.
- Шелехов В. И. Структура программы в языково-ориентированном потоковом анализе II Программирование — 1996 —N3 — С. 47−59.
- Richardson S., Ganapathi М. Interprocedural Analysis Useless for Code Optimization И Stanford University. Tech. Rep. CSL-TR-87−342. November 1987−34 p.
- Касьянов В. H. Трансформационные методы и средства конструирования эффективных программ II Кибернетика и системный анализ — Киев, 1993 — N2 — С 30−39.
- Ершов А.П. Смешанные вычисления: потенциальные приложения и проблемы исследования. И Всесоюзная конференция «Методы математической логики в проблемах искусственного интеллекта и систематическое программирование», ч.2 — Вильнюс, 1980 — с. 26−55
- Касьянов В.Н., Поттосин И. В. Методы построения трансляторов. — Новосибирск: Наука, 1986 — 344 С.
- Carley A., Hall М. FIAT: A Framework for Interprocedural Analysis and Transformation II Lecture Notes in Computer Science — Volume 768 — 1994 —pp. 522−545.
- Касьянов В. H. Методы оптимизации программ II НГУ — Новосибирск, 1984. — 92 с.
- Касьянов В. Н. Применение графов в программировании II Поддержка супервычислений и интернет-ориентированные технологии — РАН, Сиб. Отд-е, Ин-т систем информатики — Новосибирск, 2001. — С 139 167
- Городняя JI. В., Касьянов В. Н. Проблемы и перспективы исследования преобразований программ на базе современныхтехнических средств II Проблемы конструирования эффективных и надежных программ. —Новосибирск, 1995. — С. 5—7.
- Евстигнеев В. А., Касьянов В. Н. Сводимые графы и граф-модели в программировании II Новосибирск, 1999.— 288 с.
- Котов В. Е. Формальные модели параллельных вычислений. — Новосибирск, 1979. — 56с. — (Препр./ СО АН СССР ВЦ- № 165).
- Karp R. М., Miller R. Е. Parallel program Schemata I I Journal Computer Systems Science — v. 3, No. 2— 1969 — pp. 147−195.
- Карп P. M., Миллер P. E. Параллельные схемы программ II Сборник «Кибернетический сборник», выпуск 13 (новая серия) —Москва: Мир — 1975—с. 5−61.
- Нариньяни А. С. Теория параллельного программирования. Формальные модели. II «Кибернетика» — 1974 — № 3, с 1−16, № 5, с. 114.
- Котов В. Е., Нариньяни А. С. Асинхронные вычислительные процессы над памятью И «Кибернетика» — № 3, 1966 — с. 64−71.
- Karp R. М., Miller R. Е. Properties of a Model for Parallel Computations: Determinacy, Terminations, Queueing. II ASIAM Journal of Applied Mathematics, v. 14 — Nov. 1966 —pp. 1390−1411.
- Adams D. A. A computation Model with Data Flow Sequencing II CS-117, Computer Science Department — Stanford University — Stanford — .California, Dec. 1968
- Rodriguez J. E. A Graph Model for Parallel Computations II Ph. D. Thesis, Massachusetts Institute of Technology, Dept. of Electrical Engineering — Cambridge — Massachusetts — Sept. 1967.
- Kotov V. E. Concurrent Programming with Control Types II Constructing Quality Software, North-Holl. Publ. Co. — Amsterdam — 1978 — pp. 207 208
- Kotov V.E. An Algebra for parallelism Based on Petri Nets II Lecture Notes in Computer Science, v. 64, Springer-Verlag — Berlin — 1978 — pp. 39−55.
- E. Myers. A precise inter-procedural data flow algorithm. II In Conference Record of the Eighth Annual Symposium on Principles of Programming Languages. ACM, January 1981.
- M. Sharir, A. Pnueli. Two approaches to interprocedural data flow analysis. И In S. Muchnick and N.D. Jones, editors, / Program Flow Analysis: Theory and Applications. Prentice Hall Inc, 1981.
- И. В. Поттосин, А. П. Ершов, В. В. Грушецкий, С. Б. Покровский. Методы декомпозиг}ии, синтеза и оптимизации в многоязыковой системе программирования. II Препр./ АН СССР, Сиб. отд-ние, ВЦ — Новосибирск, 1974. — 22 с.
- В. А. Серебряков Лекции по конструированию компиляторов II ВЦ РАН — Москва, 1994 — 174 с.
- Hind М. et al. Interprocedural Pointer Alias Analysis / M. Hind, M. Burke, P. Carini, J.-D. Choi // ACM Transactions on Programming Languages and Systems (TOPLAS) — 1999 — Vol. 21, Issue 4 (July 1999) — P. 848−894