Škálovatelná optimalizace celých programů
Název práce v češtině: | Škálovatelná optimalizace celých programů |
---|---|
Název v anglickém jazyce: | Scalable link-time optimization |
Klíčová slova: | překladač, optimalizace celých programů, points-to analýza, datové struktury |
Klíčová slova anglicky: | compiler, link-time optimization, points-to analysis, data structures |
Akademický rok vypsání: | 2014/2015 |
Typ práce: | diplomová práce |
Jazyk práce: | čeština |
Ústav: | Informatický ústav Univerzity Karlovy (32-IUUK) |
Vedoucí / školitel: | doc. Mgr. Jan Hubička, Ph.D. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 07.05.2015 |
Datum zadání: | 07.05.2015 |
Datum potvrzení stud. oddělením: | 03.01.2017 |
Datum a čas obhajoby: | 30.01.2017 09:00 |
Datum odevzdání elektronické podoby: | 04.01.2017 |
Datum odevzdání tištěné podoby: | 04.01.2017 |
Datum proběhlé obhajoby: | 30.01.2017 |
Oponenti: | Mgr. Martin Mareš, Ph.D. |
Zásady pro vypracování |
Moderní překladače programovacích jazyků obsahují velké množství optimalizací, které vedou ke zrychlení a zmenšení výsledného programu. V posledních letech
je stále častějších optimalizovat program jako celek místo tradičního modelu,kde se jednotlivé zdrojové soubory přeloží a optimalizují samostatně. Tento postup vede k nutnosti řešit probémy nad velkými grafy, které často obsahují desítky až miliony vrcholů. Optimalizace navržené pro výrazně menší jednotky překladu pak vyžadují nepřiměřené množství času a paměti. Řešitel prostuduje datové strukty určené k práci nad velkými grafy a seznámí se s implementací jednotlivých optimalizací v GNU Compiler Collection (GCC) se zaměřením na interprocedurální points-to analýzu. Posoudí praktickou použitelnost pokročilých datových struktur a algoritmů ke zlepšení škálovatelnosti a prakticky implementuje vybrané z nich. |
Seznam odborné literatury |
Steven Muchnick: Advanced compiler design and implementation, Morgan Kaufmann Publishers Inc (1997)
Bob Morgan: Building an Optimizing Compiler, Digital Press (1998) Rupesh Nasre, et al.: Scalable Context-Sensitive Points-to Analysis Using Multidimensional Bloom Filters, Programming Languages and Systems Proceedings, Springer (2009) WHOPR - Fast and Scalable Whole Program Optimizations in GCC, ACM (2010) Xin Zheng, Radu Rugina: Demand Driven Alias Analysis for C, ACM (2008) další časopisecká literatura dle doporučení školitele |