liu.seSök publikationer i DiVA
Ändra sökning
Länk till posten
Permanent länk

Direktlänk
Bednarski, Andrzej
Publikationer (10 of 12) Visa alla publikationer
Kessler, C., Bednarski, A. & Eriksson, M. (2007). Classification and generation of schedules for VLIW processors. Concurrency, 19, 2369-2389
Öppna denna publikation i ny flik eller fönster >>Classification and generation of schedules for VLIW processors
2007 (Engelska)Ingår i: Concurrency, ISSN 1040-3108, E-ISSN 1096-9128, Vol. 19, s. 2369-2389Artikel i tidskrift (Refereegranskat) Published
Abstract [en]

We identify and analyze different classes of schedules for instruction-level parallel processor architectures. The classes are induced by various common techniques for generating or enumerating them, such as integer linear programming or list scheduling with backtracking. In particular, we study the relationship between VLIW schedules and their equivalent linearized forms (which may be used, e.g., with superscalar processors), and we identify classes of VLIW schedules that can be created from a linearized form using an in-order VLIW compaction heuristic, which is just the static equivalent of the dynamic instruction dispatch algorithm of in-order issue superscalar processors. We formulate and give a proof of the dominance of greedy schedules for instruction-level parallel architectures where all instructions have multiblock reservation tables, and we show how scheduling anomalies can occur in the presence of instructions with non-multiblock reservation tables. We also show that, in certain situations, certain schedules generally cannot be constructed by incremental scheduling algorithms that are based on topological sorting of the data dependence graph. We also discuss properties of strongly linearizable schedules, out-of-order schedules and non-dawdling schedules, and show their relationships to greedy schedules and to general schedules. We summarize our findings as a hierarchy of classes of VLIW schedules. Finally we provide an experimental evaluation showing the sizes of schedule classes in the above hierarchy, for different benchmarks and example VLIW architectures, including a single-cluster version of the TI C62x DSP processor and variants of that. Our results can sharpen the interpretation of the term optimality used with various methods for optimal VLIW scheduling, and help to identify sets of schedules that can be safely ignored when searching for a time-optimal schedule.

Nyckelord
instruction-level parallelism, instruction scheduling, code generation, code compaction, integer linear programming, VLIW architecture, superscalar processor
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-40156 (URN)10.1002/cpe.1175 (DOI)52451 (Lokalt ID)52451 (Arkivnummer)52451 (OAI)
Tillgänglig från: 2009-10-10 Skapad: 2009-10-10 Senast uppdaterad: 2018-01-13
Kessler, C. & Bednarski, A. (2006). Classification and generation of schedules for VLIW processors. In: 2th Int. Workshop on Compilers for Parallel Computers,2006 (pp. 60).
Öppna denna publikation i ny flik eller fönster >>Classification and generation of schedules for VLIW processors
2006 (Engelska)Ingår i: 2th Int. Workshop on Compilers for Parallel Computers,2006, 2006, s. 60-Konferensbidrag, Publicerat paper (Refereegranskat)
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-35766 (URN)28498 (Lokalt ID)28498 (Arkivnummer)28498 (OAI)
Tillgänglig från: 2009-10-10 Skapad: 2009-10-10 Senast uppdaterad: 2018-01-13
Bednarski, A. & Kessler, C. (2006). Integer Linear Programming versus Dynamic Programming for Optimal Integrated VLIW Code Generation. In: 12th Int. Workshop on Compilers for Parallel Computers,2006 (pp. 73).
Öppna denna publikation i ny flik eller fönster >>Integer Linear Programming versus Dynamic Programming for Optimal Integrated VLIW Code Generation
2006 (Engelska)Ingår i: 12th Int. Workshop on Compilers for Parallel Computers,2006, 2006, s. 73-Konferensbidrag, Publicerat paper (Refereegranskat)
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-35767 (URN)28499 (Lokalt ID)28499 (Arkivnummer)28499 (OAI)
Tillgänglig från: 2009-10-10 Skapad: 2009-10-10 Senast uppdaterad: 2018-01-13
Bednarski, A. (2006). Integrated Optimal Code Generation for Digital Signal Processors. (Doctoral dissertation). Institutionen för datavetenskap
Öppna denna publikation i ny flik eller fönster >>Integrated Optimal Code Generation for Digital Signal Processors
2006 (Engelska)Doktorsavhandling, monografi (Övrigt vetenskapligt)
Abstract [en]

In this thesis we address the problem of optimal code generation for irregular architectures such as Digital Signal Processors (DSPs).

Code generation consists mainly of three interrelated optimization tasks: instruction selection (with resource allocation), instruction scheduling and register allocation. These tasks have been discovered to be NP-hard for most architectures and most situations. A common approach to code generation consists in solving each task separately, i.e. in a decoupled manner, which is easier from a software engineering point of view. Phase-decoupled compilers produce good code quality for regular architectures, but if applied to DSPs the resulting code is of significantly lower performance due to strong interdependences between the different tasks.

We developed a novel method for fully integrated code generation at the basic block level, based on dynamic programming. It handles the most important tasks of code generation in a single optimization step and produces an optimal code sequence. Our dynamic programming algorithm is applicable to small, yet not trivial problem instances with up to 50 instructions per basic block if data locality is not an issue, and up to 20 instructions if we take data locality with optimal scheduling of data transfers on irregular processor architectures into account. For larger problem instances we have developed heuristic relaxations.

In order to obtain a retargetable framework we developed a structured architecture specification language, xADML, which is based on XML. We implemented such a framework, called OPTIMIST that is parameterized by an xADML architecture specification.

The thesis further provides an Integer Linear Programming formulation of fully integrated optimal code generation for VLIW architectures with a homogeneous register file. Where it terminates successfully, the ILP-based optimizer mostly works faster than the dynamic programming approach; on the other hand, it fails for several larger examples where dynamic programming still provides a solution. Hence, the two approaches complement each other. In particular, we show how the dynamic programming approach can be used to precondition the ILP formulation.

As far as we know from the literature, this is for the first time that the main tasks of code generation are solved optimally in a single and fully integrated optimization step that additionally considers data placement in register sets and optimal scheduling of data transfers between different registers sets.

Ort, förlag, år, upplaga, sidor
Institutionen för datavetenskap, 2006. s. 173
Serie
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 1021
Nyckelord
Instruction-level parallelism, integrated code generation, dynamic programming, instruction scheduling, instruction selection, clustered VLIW architecture, integer linear programming, architecture description language
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-6568 (URN)9185523690 (ISBN)
Disputation
2006-06-07, Planck, Fysikhuset, Campus Valla, Linköpings universitet, Linköping, 13:15 (Engelska)
Opponent
Handledare
Tillgänglig från: 2006-06-09 Skapad: 2006-06-09 Senast uppdaterad: 2020-05-29Bibliografiskt granskad
Kessler, C. & Bednarski, A. (2006). Optimal integrated code generation for VLIW architectures. Concurrency and Computation, 18(11), 1353-1390
Öppna denna publikation i ny flik eller fönster >>Optimal integrated code generation for VLIW architectures
2006 (Engelska)Ingår i: Concurrency and Computation, ISSN 1532-0626, E-ISSN 1532-0634, Vol. 18, nr 11, s. 1353-1390Artikel i tidskrift (Refereegranskat) Published
Abstract [en]

We present a dynamic programming method for optimal integrated code generation for basic blocks that minimizes execution time. It can be applied to single-issue pipelined processors, in-order-issue superscalar processors, VLIW architectures with a single homogeneous register set, and clustered VLIW architectures with multiple register sets. For the case of a single register set, our method simultaneously copes with instruction selection, instruction scheduling, and register allocation. For clustered VLIW architectures, we also integrate the optimal partitioning of instructions, allocation of registers for temporary variables, and scheduling of data transfer operations between clusters. Our method is implemented in the prototype of a retargetable code generation framework for digital signal processors (DSPs), called OPTIMIST. We present results for the processors ARM9E, TI C62x, and a single-cluster variant of C62x. Our results show that the method can produce optimal solutions for small and (in the case of a single register set) medium-sized problem instances with a reasonable amount of time and space. For larger problem instances, our method can be seamlessly changed into a heuristic. Copyright (c) 2006 John Wiley & Sons, Ltd.

Nyckelord
instruction-level parallelism, integrated code generation, dynamic programming, instruction scheduling, instruction selection, clustered VLIW architecture, data partitioning
Nationell ämneskategori
Teknik och teknologier
Identifikatorer
urn:nbn:se:liu:diva-45996 (URN)10.1002/cpe.1012 (DOI)
Tillgänglig från: 2009-10-11 Skapad: 2009-10-11 Senast uppdaterad: 2017-12-13
Bednarski, A. & Kessler, C. (2006). Optimal integrated VLIW code generation with Integer Linear Programming. In: Wolfgang E. Nagel, Wolfgang V. Walter and Wolfgang Lehner (Ed.), Euro-Par 2006 Parallel Processing 12th International Euro-Par Conference, Dresden, Germany, August 28 – September 1, 2006. Proceedings: (pp. 461-472). Springer Berlin/Heidelberg, 4128
Öppna denna publikation i ny flik eller fönster >>Optimal integrated VLIW code generation with Integer Linear Programming
2006 (Engelska)Ingår i: Euro-Par 2006 Parallel Processing 12th International Euro-Par Conference, Dresden, Germany, August 28 – September 1, 2006. Proceedings / [ed] Wolfgang E. Nagel, Wolfgang V. Walter and Wolfgang Lehner, Springer Berlin/Heidelberg, 2006, Vol. 4128, s. 461-472Kapitel i bok, del av antologi (Refereegranskat)
Abstract [en]

We give an Integer Linear Programming (ILP) solution that fully integrates all steps of code generation, i.e. instruction selection, register allocation and instruction scheduling, on the basic block level for VLIW processors.

In earlier work, we contributed a dynamic programming (DP) based method for optimal integrated code generation, implemented in our retargetable code generator OPTIMIST. In this paper we give first results to evaluate and compare our ILP formulation with our DP method on a VLIW processor. We also demonstrate how to precondition the ILP model by a heuristic relaxation of the DP method to improve ILP optimization time.

Ort, förlag, år, upplaga, sidor
Springer Berlin/Heidelberg, 2006
Serie
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349 ; 4128
Nationell ämneskategori
Teknik och teknologier
Identifikatorer
urn:nbn:se:liu:diva-48061 (URN)10.1007/11823285_48 (DOI)3-540-37783-2 (ISBN)978-3-540-37783-2 (ISBN)
Tillgänglig från: 2009-10-11 Skapad: 2009-10-11 Senast uppdaterad: 2018-01-30Bibliografiskt granskad
Bednarski, A. & Kessler, C. (2004). Energy-Optimal Integrated VLIW Code Generation. In: CPC04 11th Int. Workshop on Compilers for Parallel Computers,2004 (pp. 227-238).
Öppna denna publikation i ny flik eller fönster >>Energy-Optimal Integrated VLIW Code Generation
2004 (Engelska)Ingår i: CPC04 11th Int. Workshop on Compilers for Parallel Computers,2004, 2004, s. 227-238Konferensbidrag, Publicerat paper (Övrigt vetenskapligt)
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-22664 (URN)1951 (Lokalt ID)1951 (Arkivnummer)1951 (OAI)
Tillgänglig från: 2009-10-07 Skapad: 2009-10-07 Senast uppdaterad: 2018-01-13
Bednarski, A. & Kessler, C. (2004). Exploiting Symmetries for Optimal Integrated Code Generation. In: Int. Conf. on Embedded Systems and Applications ESA04,2004.
Öppna denna publikation i ny flik eller fönster >>Exploiting Symmetries for Optimal Integrated Code Generation
2004 (Engelska)Ingår i: Int. Conf. on Embedded Systems and Applications ESA04,2004, 2004Konferensbidrag, Publicerat paper (Refereegranskat)
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-22663 (URN)1950 (Lokalt ID)1950 (Arkivnummer)1950 (OAI)
Tillgänglig från: 2009-10-07 Skapad: 2009-10-07 Senast uppdaterad: 2018-01-13
Bednarski, A. & Kessler, C. (2003). Optimal integrated code generation for VLIW architectures. In: Proc. of CPC'03 10th Int. Workshop on Compilers for Parallel Computers, Amsterdam, The Netherlands, January 2003'. Leiden, The Netherlands: Leiden Institute of Advanced Computer Science
Öppna denna publikation i ny flik eller fönster >>Optimal integrated code generation for VLIW architectures
2003 (Engelska)Ingår i: Proc. of CPC'03 10th Int. Workshop on Compilers for Parallel Computers, Amsterdam, The Netherlands, January 2003', Leiden, The Netherlands: Leiden Institute of Advanced Computer Science , 2003Konferensbidrag, Publicerat paper (Refereegranskat)
Ort, förlag, år, upplaga, sidor
Leiden, The Netherlands: Leiden Institute of Advanced Computer Science, 2003
Nyckelord
code generation, VLIW architecture, Digital signal processor, instruction scheduling, instruction selection, register allocation, dynamic programming
Nationell ämneskategori
Teknik och teknologier
Identifikatorer
urn:nbn:se:liu:diva-61612 (URN)
Tillgänglig från: 2010-11-17 Skapad: 2010-11-17 Senast uppdaterad: 2014-10-08
Bednarski, A. (2002). A dynamic programming approach to optimal retargetable code generation for irregular architectures. (Licentiate dissertation). Linköping: Linköpings universitet
Öppna denna publikation i ny flik eller fönster >>A dynamic programming approach to optimal retargetable code generation for irregular architectures
2002 (Engelska)Licentiatavhandling, monografi (Övrigt vetenskapligt)
Abstract [en]

In this thesis we address the problem of optimal code generation for irregular architectures such as Digital Signal Processors (DSPs). Code generation consists mainly of three tasks: instruction selection, instruction scheduling and register allocation. These tasks have been discovered to be NP-difficult for most of the architectures and most situations.

A common approach to code generation consists in solving each task separately, i.e. in a decoupled manner, which is easier from an engineering point of view. Decoupled phase based compilers produce good code quality for regular architectures, but if applied to DSPs the resulting code is of significantly lower performance due to strong interdependencies between the different tasks.

We report on a novel method for fully integrated code generation based on dynamic programming. It handles the most important tasks of code generation in a single optimization step and produces optimal code sequence. Our dynamic programming algorithm is applicable to small, yet not trivial problem instances with up to 50 instructions per basic block if data locality is not an issue, and up to 20 instructions if we take data locality on irregular processor architectures into account.

In order to obtain a retargetable framework we developed a first version of a structured hardware description language, ADML, which is based on XML. We implemented a prototype framework of such a retargetable system for optimal code generation.

As far as we know from the literature, this is the first time that the main tasks of code generation are solved optimally in a single and fully integrated optimization step that additionally considers data placement in registers. 

Ort, förlag, år, upplaga, sidor
Linköping: Linköpings universitet, 2002. s. 117
Serie
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1001
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-42655 (URN)67699 (Lokalt ID)91-7373-591-4 (ISBN)67699 (Arkivnummer)67699 (OAI)
Presentation
2003-01-30, Alan Turing, Hus B, Linköpings Universitet, Linköping, 10:15 (Svenska)
Tillgänglig från: 2009-10-10 Skapad: 2009-10-10 Senast uppdaterad: 2023-03-07
Organisationer

Sök vidare i DiVA

Visa alla publikationer