skip to main content
research-article

Constraint Programming Approach to Reconfigurable Processor Extension Generation and Application Compilation

Published:01 June 2012Publication History
Skip Abstract Section

Abstract

In this article, we present a constraint programming approach for solving hard design problems present when automatically designing specialized processor extensions. Specifically, we discuss our approach for automatic selection and synthesis of processor extensions as well as efficient application compilation for these newly generated extensions. The discussed approach is implemented in our integrated design framework, IFPEC, built using Constraint Programming (CP). In our framework, custom instructions, implemented as processor extensions, are defined as computational patterns and represented as graphs. This, along with the graph representation of an application, provides a way to use our CP framework equipped with subgraph isomorphism and connected component constraints for identification of processor extensions as well as their selection, application scheduling, binding, and routing. All design steps assume architectures composed of runtime reconfigurable cells, implementing selected extensions, tightly connected to a processor. An advantage of our approach is the possibility of combining different heterogeneous constraints to represent and solve all our design problems. Moreover, the flexibility and expressiveness of the CP framework makes it possible to solve simultaneously extension selection, application scheduling, and binding and improve the quality of the generated results. The article is largely illustrated with experimental results.

References

  1. Atasu, K., Pozzi, L., and Ienne, P. 2003. Automatic application-specific instruction-set extensions under microarchitectural constraints. In Proceedings of the 40th Design Automation Conference (DAC’03). ACM Press, New York, 256--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Atasu, K., Dündar, G., and Özturan, C. 2005. An integer linear programming approach for identifying instruction-set extensions. In Proceedings of the 3rd IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’05). 172--177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Atasu, K., Mencer, O., Luk, W., Ozturan, C., and Dundar, G. 2008. Fast custom instruction identification by convex subgraph enumeration. In Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors (ASAP’08). 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bonzini, P. and Pozzi, L. 2008a. On the complexity of enumeration and scheduling for extensible embedded processors. Tech. rep. 2008/07, University of Lugano.Google ScholarGoogle Scholar
  5. Bonzini, P. and Pozzi, L. 2008b. Recurrence-Aware instruction set selection for extensible embedded processors. IEEE Trans. VLSI Syst. 16, 10, 1259--1267. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chen, D. and Cong, J. 2004. Register binding and port assignment for multiplexer optimization. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’04). IEEE Press, 68--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Clark, N., Zhong, H., and Mahlke, S. 2005. Automated custom instruction generation for domain-specific processor acceleration. Trans. Comput. 54, 10, 1258--1270. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cong, J., Fan, Y., Han, G., and Zhang, Z. 2004. Application-Specific instruction generation for configurable processor architectures. In Proceedings of the ACM/SIGDA 12th International Symposium on Field Programmable Gate Arrays (FPGA’04). 183--189. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cong, J., Fan, Y., and Xu, J. 2009. Simultaneous resource binding and interconnection optimization based on a distributed register-file microarchitecture. ACM Trans. Des. Autom. Electron. Syst. 14, 3, 1--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cordella, L. P., Foggia, P., Sansone, C., and Vento, M. 2004. A (sub)graph isomorphism algorithm for matching large graphs. IEEE Trans. Pattern Anal. Mach. Intell. 26, 10, 1367--1372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Dechter, R. 2003. Constraint Processing. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Dinh, Q., Chen, D., and Wong, M. D. F. 2008. Efficient asip design for configurable processors with fine-grained resource sharing. In Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays (FPGA’08). 99--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Floch, A., Wolinski, C., and Kuchcinski, K. 2010. Combined scheduling and instruction selection for processors with reconfigurable cell fabric. In Proceedings of the 21st IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP’10). 167--174.Google ScholarGoogle Scholar
  14. Galuzzi, C. and Bertels, K. 2011. The instruction-set extension problem: A survey. ACM Trans. Reconfig. Technol. Syst. 4, 18:1--18:28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Galuzzi, C., Bertels, K., and Vassiliadis, S. 2007. The spiral search: A linear complexity algorithm for the generation of convex mimo instruction-set extensions. In Proceedings of the International Conference on Field Programmable Technology (ICFPT’07). 337--340.Google ScholarGoogle Scholar
  16. Galuzzi, C., Panainte, E. M., Yankova, Y., Bertels, K., and Vassiliadis, S. 2006. Automatic selection of application-specific instruction-set extensions. In Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’06). 160--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Guo, Y., Smit, G. J., Broersma, H., and Heysters, P. M. 2003. A graph covering algorithm for a coarse grain reconfigurable system. In Proceedings of the ACM SIGPLAN Conference on Language, Compiler, and Tools for Embedded Systems (LCTES’03). 199--208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Gutin, G., Johnstone, A., Reddington, J., Scott, E., and Yeo, A. 2008. An algorithm for finding input-output constrained convex sets in an acyclic digraph. In Proceedings of the WG Conference. 206--217.Google ScholarGoogle Scholar
  19. Hashimoto, A. and Stevens, J. 1988. Wire routing by optimizing channel assignment within large aperatures. In 25 Years of DAC: Papers on 25 Years of Electronic Design Automation. ACM Press, New York, 35--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Huang, C.-Y., Chen, Y.-S., Lin, Y.-L., and Hsu, Y.-C. 1990. Data path allocation based on bipartite weighted matching. In Proceedings of the 27th ACM/IEEE Design Automation Conference (DAC’90). 499--504. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kim, T. and Liu, X. 2010. A functional unit and register binding algorithm for interconnect reduction. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 29, 4, 641--646. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kountouris, A. and Wolinski, C. 2002. Efficient scheduling of conditional behaviors for high level synthesis. ACM Trans. Des. Autom. Electron. Syst. 7, 3, 380--412. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kuchcinski, K. and Szymanek, R. 2009. JaCoP library user’s guide. http://www.jacop.eu.Google ScholarGoogle Scholar
  24. Kuchcinski, K. and Wolinski, C. 2003. Global approach to assignment and scheduling of complex behaviors based on HCDG and constraint programming. J. Syst. Archit. 49, 12--15, 489--503. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Larrosa, J. and Valiente, G. 2002. Constraint satisfaction algorithms for graph pattern matching. Math. Struct. Comput. Sci. 12, 403--422. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Leupers, R., Karuri, K., Kraemer, S., and Pandey, M. 2006. A design flow for configurable embedded processors based on optimized instruction set extension synthesis. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’06). 581--586. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Lu, Y.-S., Shen, L., Huang, L.-B., Wang, Z.-Y., and Xiao, N. 2009. Optimal subgraph covering for customizable vliw processors. IET Comput. Digit. Techn. 3, 1, 14--23.Google ScholarGoogle ScholarCross RefCross Ref
  28. Martin, K., Wolinski, C., Kuchcinski, K., Floch, A., and Charot, F. 2009a. Constraint-Driven identification of application specific instructions in the DURASE system. In Proceedings of the International Workshop on Systems, Architectures, Modeling and Simulation (SAMOS IX). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Martin, K., Wolinski, C., Kuchcinski, K., Floch, A., and Charot, F. 2009b. Constraint-Driven instructions selection and application scheduling in the DURASE system. In Proceedings of the 20th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. McKay, B. D. 2004. The nauty page. http://cs.anu.edu.au/~bdm/nauty/.Google ScholarGoogle Scholar
  31. Papadimitriou, C. H. and Steiglitz, K. 1982. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Pothineni, N., Brisk, P., Ienne, P., Kumar, A., and Paul, K. 2010. A high-level synthesis flow for custom instruction set extensions for application-specific processors. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’10). 707--712. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Pozzi, L., Atasu, K., and Ienne, P. 2006. Exact and approximate algorithms for the extension of embedded processor instruction sets. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 25, 7, 1209--1229. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Pozzi, L. and Ienne, P. 2005. Exploiting pipelining to relax register file port constraints of instruction-set extensions. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES’05). ACM Press, New York, 2--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Raffin, E., Wolinski, C., Charot, F., Kuchcinski, K., Guyetant, S., Chevobbe, S., and Casseau, E. 2009. Architecture-Driven synthesis of reconfigurable cells. In Proceedings of the Euromicro Conference on Digital System Design (DSD’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Raffin, E., Wolinski, C., Charot, F., Kuchcinski, K., Guyetant, S., Chevobbe, S., and Casseau, E. 2010. Scheduling, binding and routing system for a run-time reconfigurable operator based multimedia architecture. In Proceedings of the Conference on Design and Architectures for Signal and Image Processing (DASIP’10).Google ScholarGoogle Scholar
  37. Reddington, J., Gutin, G., Johnstone, A., Scott, E., and Yeo, A. 2009. Better than optimal: Fast identification of custom instruction candidates. In Proceedings of the International Conference on Comutational Science and Engineering (CSE’00). Vol. 2. 17--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Régin, J.-C. 2003. Solving the maximum clique problem with constraint programming. In Proceedings of the International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR’03).Google ScholarGoogle Scholar
  39. Rossi, F., van Beek, P., and Walsh, T., Eds. 2006. Handbook of Constraint Programming. Elsevier Science Publishers, Amsterdam, The Netherlands. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Seto, K. and Fujita, M. 2010. Custom integration generation for configurable processors with limited numbers of operands. IPSJ Trans. Syst. LSI Des. Method. 3, 57--68.Google ScholarGoogle ScholarCross RefCross Ref
  41. SoCLib. 2012. Open platform for virtual prototyping of multi-processors system on chip (MP-SoC). http://www.soclib.fr.Google ScholarGoogle Scholar
  42. Sorlin, S. and Solnon, C. 2004. A global constraint for graph isomorphism problems. In Proceedings of the 1st International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR’04).Google ScholarGoogle Scholar
  43. Ullmann, J. R. 1976. An algorithm for subgraph isomorphism. J. ACM 23, 1, 31--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Verma, A. K., Brisk, P., and Ienne, P. 2010. Fast, nearly optimal ise identification with I/O serialization through maximal clique enumeration. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 29, 3, 341--354. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Wolinski, C. and Kuchcinski, K. 2007. Identification of application specific instructions based on subgraph isomorphism constraints. In Proceedings of the IEEE 18th International Conference on Application-Specific Systems, Architectures and Processors.Google ScholarGoogle Scholar
  46. Wolinski, C. and Kuchcinski, K. 2008. Automatic selection of application-specific reconfigurable processor extensions. In Proceedings of the Conference on Design Automation and Test in Europe (DATE’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Wolinski, C., Kuchcinski, K., and Raffin, E. 2009. Automatic design of application-specific reconfigurable processor extensions with UPaK synthesis kernel. ACM Trans. Des. Autom. Electron. Syst. 15, 1, 1--36. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Constraint Programming Approach to Reconfigurable Processor Extension Generation and Application Compilation

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!