Abstract
The problem of creating efficient mappings of dataflow graphs onto specific architectures (i.e., solving the place and route problem) is incredibly challenging. The difficulty is especially acute in the area of Coarse-Grained Reconfigurable Architectures (CGRAs) to the extent that solving the mapping problem may remove a significant bottleneck to adoption. We believe that the next generation of mapping algorithms will exhibit pattern recognition, the ability to learn from experience, and identification of creative solutions, all of which are human characteristics. This manuscript describes our game UNTANGLED, developed and fine-tuned over the course of a year to allow us to capture and analyze human mapping strategies. It also describes our results to date. We find that the mapping problem can be crowdsourced very effectively, that players can outperform existing algorithms, and that successful player strategies share many elements in common. Based on our observations and analysis, we make concrete recommendations for future research directions for mapping onto CGRAs.
Supplemental Material
Available for Download
The proof is given in an electronic appendix, available online in the ACM Digital Library.
- Adya, S., Chaturvedi, S., Roy, J., Papa, D., and Markov, I. 2004. Unification of partitioning, placement and floorplanning. In Proceedings of the IEEE/ACM International Conference on Computer Aided Design (ICCAD’04). 550--557. Google Scholar
Digital Library
- Agnihotri, A. and Madden, P. 2007. Fast analytic placement using minimum cost flow. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’07). 128--134. Google Scholar
Digital Library
- Agnihotri, A. R., Ono, S., and Madden, P. H. 2005. Recursive bisection placement: Feng shui 5.0 implementation details. In Proceedings of the International Symposium on Physical Design (ISPD’05). ACM, New York, NY, 230--232. Google Scholar
Digital Library
- Ahn, M., Yoon, J. W., Paek, Y., Kim, Y., Kiemb, M., and Choi, K. 2006. A spatial mapping algorithm for heterogeneous coarse-grained reconfigurable architectures. In Proceedings of the Conference on Design, Automation and Test in Europe. Google Scholar
Digital Library
- Ambinder, M. 2009. Valve’s approach to playtesting: The application of empricisim. In Proceedings of the Game Developer’s Conference.Google Scholar
- Bachmaier, C., Brandenburg, F., Brunner, W., and Hübner, F. 2010. A global k-level crossing reduction algorithm. In WALCOM: Algorithms and Computation, Lecture Notes in Computer Science, vol. 5942, Springer-Verlag, Berlin, 70--81. Google Scholar
Digital Library
- Bansal, N., Gupta, S., Dutt, N., Nicolau, A., and Gupta, R. 2004. Network topology exploration of mesh-based coarse-grain reconfigurable architectures. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’04). 474--479. Google Scholar
Digital Library
- Bertacco, V. 2012. Humans for EDA and EDA for humans. In Proceedings of the 49th Annual Design Automation Conference. ACM, 729--733. Google Scholar
Digital Library
- Betz, V. 1997. VPR: A new packing, placement and routing tool for FPGA research. In Field-Programmable Logic and Applications, Lecture Notes in Computer Science, vol. 1304, Springer-Verlag, Berlin, 213--222. Google Scholar
Digital Library
- Bian, H., Ling, A. C., Choong, A., and Zhu, J. 2010. Towards scalable placement for FPGAs. In Proceedings of the 18th Annual ACM/SIGDA International Conference on Field Programmable Gate Arrays (FPGA’10), 147--156. Google Scholar
Digital Library
- Bouwens, F., Berekovic, M., Kanstein, A., and Gaydadjiev, G., Eds. 2007. Architecture exploration of the ADRES coarse-grained reconfigurable array. In Reconfigurable Computing: Architectures, Tools and Applications, Lecture Notes in Computer Science, vol. 4419, Springer-Verlag, Berlin, 1--13. Google Scholar
Digital Library
- Bouwens, F., Berekovic, M., De Sutter, B., and Gaydadjiev, G. 2008. Architecture enhancements for the ADRES coarse-grained reconfigurable array. In Proceedings of the 3rd International Conference on High Performance Embedded Architectures and Compilers (HiPEAC’08). 66--81. Google Scholar
Digital Library
- Cadambi, S. and Goldstein, S. C. 2000. Efficient place and route for pipeline reconfigurable architectures. In Proceedings of the International Conference on Computer Design (ICCD’00). Google Scholar
Digital Library
- Chen, D., Cong, J., and Pan, P. 2006. FPGA design automation: A survey. Found. Trends Electr. Des. Autom. 1, 3, 195--334. Google Scholar
Digital Library
- Chen, T. C., chang Hsu, T., wei Jiang, Z., and wen Chang, Y. 2005. Abstract NTUplace: A ratio partitioning based placement algorithm for large-scale mixed-size designs. In Proceedings of the International Symposium on Physical Design (ISPD’05). 23--38. Google Scholar
Digital Library
- Chen, T.-C., Jiang, Z.-W., Hsu, T.-C., Chen, H.-C., and Chang, Y.-W. 2008. NTUplace3: An analytical placer for large-scale mixed-size designs with preplaced blocks and density constraints. IEEE Trans. Comput.-Aid. Des. Integr. Circuits Syst. 27, 7, 1228--1240. Google Scholar
Digital Library
- Choi, K. 2011. Coarse-grained reconfigurable array: Architecture and application mapping. IPSJ Trans. Syst. LSI Des. Methodol. 4, 31--46.Google Scholar
Cross Ref
- Coffman, E. and Graham, R. 1972. Optimal scheduling for two-processor systems. Acta Informatica 1, 3, 200--213.Google Scholar
Digital Library
- Compton, K. and Hauck, S. 2002. Reconfigurable computing: A survey of systems and software. ACM Comput. Surv. 34, 2, 171--210. Google Scholar
Digital Library
- Cong, J. 2011a. Era of customization and implications to EDA. In Proceedings of the 48th Annual Design Automation Conference (DAC). (Keynote Speech).Google Scholar
- Cong, J. 2011b. Era of customization and specialization. In Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP). (Keynote Speech). Google Scholar
Digital Library
- Cong, J., Shinnerl, J. R., Xie, M., Kong, T., and Yuan, X. 2005. Large-scale circuit placement. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 10, 2, 389--430. Google Scholar
Digital Library
- Cooper, S., Khatib, F., Treuille, A., Barbero, J., Lee, J., Beenen, M., Leaver-Fay, A., Baker, D., and Popović, Z. 2010a. Predicting protein structures with a multiplayer online game. Nature 466.Google Scholar
- Cooper, S., Treuille, A., Barbero, J., Leaver-Fay, A., Tuite, K., Khatib, F., Snyder, A. C., Beenen, M., Salesin, D., Baker, D., and Popović, Z. 2010b. The challenge of designing scientific discovery games. In Proceedings of the 5th International Conference on the Foundations of Digital Games (FDG’10). ACM, New York, NY, 40--47. Google Scholar
Digital Library
- DeOrio, A. and Bertacco, V. 2009. Human computing for EDA. In Proceedings of the 46th ACM/IEEE Design Automation Conference (DAC’09). IEEE, 621--622. Google Scholar
Digital Library
- Dimitroulakos, G., Georgiopoulos, S., Galanis, M. D., and Goutis, C. E. 2009. Resource aware mapping on coarse grained reconfigurable arrays. Microprocess. Microsyst. 33, 2, 91--105. Google Scholar
Digital Library
- Ebeling, C., Cronquist, D., and Franklin, P. 1996. RaPiD - Reconfigurable pipelined datapath. In Field-Programmable Logic Smart Applications, New Paradigms and Compilers, Lecture Notes in Computer Science, vol. 1142, Springer-Verlag, Berlin, 126--135. Google Scholar
Digital Library
- Eiglsperger, M., Siebenhaller, M., and Kaufmann, M. 2005. An efficient implementation of Sugiyama’s algorithm for layered graph drawing. J. Graph Algor. Appl. 9, 3, 305--325.Google Scholar
Cross Ref
- Ferreira, R., Garcia, A., and Teixeira, T. 2007. A polynomial placement algorithm for data driven coarse-grained reconfigurable architectures. In Proceedings of the IEEE Annual Symposium on VLSI (ISVLSI’07), 61--66. Google Scholar
Digital Library
- Friedman, S., Carroll, A., Essen, B. V., Ylvisaker, B., Ebeling, C., and Hauck, S. 2009. SPR:AN architecture-adaptive cgra mapping tool. In Proceedings of the ACM/SIGDA International Conference on Field Programmable Gate Arrays (FPGA). Google Scholar
Digital Library
- Fullerton, T. 2008. Game Design Workshop: A Playcentric Approach to Creating Innovative Games. 1st Ed. Morgan Kaufmann, Burlington, MA.Google Scholar
Cross Ref
- Garey, M. and Johnson, D. 1983. Crossing number is NP-complete. SIAM J. Algebraic Discrete Methods 4, 3, 312.Google Scholar
Cross Ref
- Gehring, S. W. and Ludwig, S. H.-M. 1998. Fast integrated tools for circuit design with FPGAs. In Proceedings of the ACM/SIGDA International Conference on Field Programmable Gate Arrays (FPGA’98). 133--139. Google Scholar
Digital Library
- Geiger, D., Seedorf, S., Schulze, T., Nickerson, R., and Schader, M. 2011. Managing the crowd: Towards a taxonomy of crowdsourcing processes. In Proceedings of the 17th Americas Conference on Information Systems. 1--11.Google Scholar
- Goldstein, S., Schmit, H., Moe, M., Budiu, M., Cadambi, S., Taylor, R., and Laufer, R. 1999. Piperench: A coprocessor for streaming multimedia acceleration. In Proceedings of the 26th International Symposium on Computer Architecture. 28--39. Google Scholar
Digital Library
- Goldstein, S. C., Schmit, H., Budiu, M., Cadambi, S., Moe, M., and Taylor, R. 2000. Piperench: A reconfigurable architecture and compiler. IEEE Comput. 33, 4. Google Scholar
Digital Library
- Hamzeh, M., Shrivastava, A., and Vrudhula, S. 2012. Epimap: Using epimorphism to map applications on CGRAS. In Proceedings of the 49th Annual Design Automation Conference. Google Scholar
Digital Library
- Hartenstein, R. 2001a. A decade of reconfigurable computing: A visionary retrospective. In Proceedings of the Design, Automation and Test in Europe. 642--649. Google Scholar
Digital Library
- Hartenstein, R. 2001b. Coarse grain reconfigurable architecture (embedded tutorial). In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’01). ACM, New York, NY, 564--570. Google Scholar
Digital Library
- Hartenstein, R., Herz, M., Hoffmann, T., and Nageldinger, U. 2000. KressArray Xplorer: A new CAD environment to optimize reconfigurable datapath array architectures. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’00). 163--168. Google Scholar
Digital Library
- Hauser, J. R. and Wawrzynek, J. 1997. GARP: A MIPS processor with a reconfigurable coprocessor. In Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines. K. L. Pocek and J. Arnold Eds., IEEE Computer Society Press, Los Alamitos, CA, 12--21. Google Scholar
Digital Library
- Healy, P. and Nikolov, N. S. 2012. Hierarchical drawing algorithms. In Handbook of Graph Drawing and Visualization, R. Tamassia Ed., CRC Press, Boca Raton, FL, Chapter 17.Google Scholar
- Ihrig, C. J., Baz, M., Stander, J., Hoare, R. R., Norman, B. A., Prokopyev, O., Hunsaker, B., and Jones, A. K. 2008. Greedy algorithms for mapping onto a coarse-grained reconfigurable fabric. In Advances in Greedy Algorithms, In-Tech, Vienna, Austria.Google Scholar
- Jones, A. K., Hoare, R., Kusic, D., Mehta, G., Fazekas, J., and Foster, J. 2006. Reducing power while increasing performance with supercisc. ACM Trans. Embed. Comput. Syst. 5, 3, 1--29. Google Scholar
Digital Library
- Kahng, A. B. and Wang, Q. 2006. A faster implementation of aplace. In Proceedings of the International Symposium on Physical Design (ISPD’06). ACM, New York, NY, 218--220. Google Scholar
Digital Library
- Kennerly, D. 2003. Better game design through data mining. http://www.gamasutra.com/view/feature/2816/better_game_design_through_data_.ph.Google Scholar
- Kim, Y. and Mahapatra, R. N. 2008. A new array fabric for coarse-grained reconfigurable architecture. In Proceedings of the 11th EUROMICO Conference on Digital System Design Architectures, Methods and Tools (DSD). 584--591. Google Scholar
Digital Library
- Kim, Y., Kiemb, M., Park, C., Jung, J., and Choi, K. 2005. Resource sharing and pipelining in coarse-grained reconfigurable architecture for domain-specific optimization. In Proceedings of the Conference on Design, Automation and Test in Europe. Vol. 1, 12--17. Google Scholar
Digital Library
- Krzemien, J., DeOrio, A., and Bertacco, V. 2011. Funsat - multi-player. http://funsat.eecs.umich.edu/.Google Scholar
- Lambrechts, A., Raghavan, P., Jayapala, M., Catthoor, F., and Verkest, D. 2008. Energy-aware, interconnect optimization for a coarse grained reconfigurable processor. In Proceedings of the 21st International Conference on VLSI Design (VLSID’08). 201--207. Google Scholar
Digital Library
- Lanuzza, M., Perri, S., Corsonello, P., and Margala, M. 2007. A new reconfigurable coarse-grain architecture for multimedia applications. In Proceedings of the 2nd NASA/ESA Conference on Adaptive Hardware and Systems (AHS’07). 119--126. Google Scholar
Digital Library
- Lee, G., Lee, S., Choi, K., and Dutt, N. 2010. Routing-aware application mapping considering steiner points for coarse-grained reconfigurable architecture. In Reconfigurable Computing: Architectures, Tools and Applications. Lecture Notes in Computer Science, vol. 5992, Springer-Verlag, Berlin, 231--243. Google Scholar
Digital Library
- Levine, B. 2005. Kilocore: Scalable, high-performance, and power efficient coarse-grained reconfigurable fabrics. In Proceedings of the International Symposium on Advanced Reconfigurable Systems.Google Scholar
- Liang, C. and Huang, X.-M. 2009. Mapping parallel FFT algorithm onto smartcell coarse-grained reconfigurable architecture. In Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors (ASAP). 231--234. Google Scholar
Digital Library
- Likhachev, M., Ferguson, D., Gordon, G., Stentz, A., and Thrun, S. 2008. Anytime search in dynamic graphs. Artif. Intell. J. 172, 14, 1613--1643. Google Scholar
Digital Library
- Luo, T. and Pan, D. Z. 2008. Dplace2.0: A stable and efficient analytical placement based on diffusion. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’08). IEEE Computer Society Press, Los Alamitos, CA, 346--351. Google Scholar
Digital Library
- Malone, T. W. 1980. What makes things fun to learn? Heuristics for designing instructional computer games. In Proceedings of the 3rd ACM SIGSMALL Symposium and the 1st SIGPC Symposium on Small Systems. ACM, 162--169. Google Scholar
Digital Library
- Matuszewski, C., Schönfeld, R., and Molitor, P. 1999. Using sifting for k-layer straightline crossing minimization. In Graph Drawing. Lecture Notes in Computer Science, vol. 1731, Springer-Verlag, Berlin, 217--224.Google Scholar
- Mehta, G., Patel, K., Parde, N., and Pollard, N. S. 2013. Data-driven mapping using local patterns. Tech. rep. UNT-EE-TR-01, Department of Electrical Engineering, University of North Texas, Denton, TX.Google Scholar
- Mirsky, E. and Dehon, A. 1996. Matrix: A reconfigurable computing architecture with configurable instruction distribution and deployable resources. In Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines (FCCM).Google Scholar
- Miyamori, T. and Olukotun, K. 1998. Remarc: Reconfigurable multimedia array coprocessor. IEICE Trans. Inf. Syst. E82-D, 389--397.Google Scholar
- Park, H., Fan, K., Mahlke, S. A., Oh, T., Kim, H., and Kim, H.-S. 2008. Edge-centric modulo scheduling for coarse-grained reconfigurable architectures. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (PACT’08). 166--176. Google Scholar
Digital Library
- Quinn, A. J. and Bederson, B. B. 2011. Human computation: A survey and taxonomy of a growing field. In Proceedings of the Annual Conference on Human Factors in Computing Systems. ACM, 1403--1412. Google Scholar
Digital Library
- Ramey, J., Boren, T., Cuddihy, E., Dumas, J., Guan, Z., van den Haak, M. J., and De Jong, M. D. T. 2006. Does think aloud work?: How do we know? In Proceedings of the Extended Abstracts on Human Factors in Computing Systems (CHI EA’06). ACM, New York, NY, 45--48. Google Scholar
Digital Library
- Resende, M. and Rieiro, C. 2008. Greedy randomized adaptive search procedures. In Handbook of Metaheuristics 2nd Ed. International Series in Operations Research and Management Series, vol. 57, Springer, New York, NY, 219--249.Google Scholar
- Sankar, Y. and Rose, J. 1999. Trading quality for compile time: Ultra-fast placement for FPGAs. In Proceedings of the ACM/SIGDA 7th International Conference on Field Programmable Gate Arrays (FPGA’99). 157--166. Google Scholar
Digital Library
- Sechen, C. and Sangiovanni-Vincentelli, A. 1985. The timberwolf placement and routing package. IEEE J. Solid-State Circuits, 20, 2, 510--522.Google Scholar
Cross Ref
- Singh, H., Lee, M.-H., Lu, G., Kurdahi, F. J., Bagherzadeh, N., Lang, T., Heaton, R., and Filho, E. M. C. 1998. Morphosys: An integrated re-configurable architecture. In Proceedings of the NATO RTO Symposium on System Concepts and Integration.Google Scholar
- Singh, H., Lee, M.-H., Lu, G., Kurdahi, F. J., Bagherzadeh, N., and Filho, E. M. C. 2000. Morphosys: An integrated reconfigurable system for data-parallel and computation-intensive applications. IEEE Trans. Comput. 49, 5, 465--481. Google Scholar
Digital Library
- Sugiyama, K., Tagawa, S., and Toda, M. 1981. Methods for visual understanding of hierarchical system structures. IEEE Trans. Syst. Man, Cybernet. 11, 2, 109--125.Google Scholar
Cross Ref
- Sunstein, C. R. 2006. Infotopia: How Many Minds Produce Knowledge. Oxford University Press, New York, NY. Google Scholar
Digital Library
- Surowiecki, J. 2005. The wisdom of crowds. Anchor, Harpswell, ME. Google Scholar
Digital Library
- Taghavi, T., Yang, X., and Choi, B.-K. 2005. Dragon2005: Large-scale mixed-size placement tool. In Proceedings of the International Symposium on Physical Design (ISPD’05). ACM, New York, NY, 245--247. Google Scholar
Digital Library
- Taylor, M., Psota, J., Saraf, A., Shnidman, N., Strumpen, V., Frank, M., Amarasinghe, S., Agarwal, A., Lee, W., Miller, J., Wentzlaff, D., Bratt, I., Greenwald, B., Hoffmann, H., Johnson, P., and Kim, J. 2004. Evaluation of the raw microprocessor: An exposed-wire-delay architecture for ilp and streams. In Proceedings of the 31st Annual International Symposium on Computer Architecture. 2--13. Google Scholar
Digital Library
- Tehre, V. and Kshirsagar, R. 2012. Survey on coarse grained reconfigurable architectures. Int. J. Comput. Appl. 48, 16.Google Scholar
- Terry, L., Roitch, V., Tufail, S., Singh, K., Taraq, O., Luk, W., and Jamieson, P. 2009. Harnessing human computation cycles for the FPGA placement problem. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA’09), T. P. Plaks Ed., CSREA Press, Athen, GA, 188--194.Google Scholar
- The Assembly Line. 1989. Pipe mania. http://en.wikipedia.org/wiki/Pipe_Mania.Google Scholar
- Theodoridis, G., Soudris, D., and Vassiliadis, S. 2008. A survey of coarse-grain reconfigurable architectures and cad tools. In Fine- and Coarse-Grain Reconfigurable Computing, S. Vassiliadis and D. Soudris Eds., Springer Netherlands, Dordrecht, 89--149.Google Scholar
- Viswanathan, N. and Chu, C.-N. 2005. FastPlace: Efficient analytical placement using cell shifting, iterative local refinement,and a hybrid net model. IEEE Trans. Comput.-Aid. Des. 24, 5, 722--733. Google Scholar
Digital Library
- von Ahn, L. and Dabbish, L. 2004. Labeling images with a computer game. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI’04). ACM, 319--326. Google Scholar
Digital Library
- von Ahn, L. and Dabbish, L. 2008. Designing games with a purpose. Comm. ACM 51, 8. Google Scholar
Digital Library
- von Ahn, L., Blum, M., and Langford, J. 2004. Telling humans and computers apart automatically. Comm. ACM, 56--60. Google Scholar
Digital Library
- von Ahn, L., Liu, R., and Blum, M. 2006. Peekaboom: A game for locating objects in images. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI’06). ACM, 55--64. Google Scholar
Digital Library
- Waingold, E., Taylor, M., Srikrishna, D., Sarkar, V., Lee, W., Lee, V., Kim, J., Frank, M., Finch, P., Barua, R., Babb, J., Amarasinghe, S., and Agarwal, A. 1997. Baring it all to software: Raw machines. Comput. 30, 9, 86--93. Google Scholar
Digital Library
- Webster, J. 1988. Making computer tasks at work more playful: Implications for systems analysts and designers. In Proceedings of the ACM SIGCPR Conference on Management of Information Systems Personnel (SIGCPR’88). ACM, 78--87. Google Scholar
Digital Library
- Wing, J. M. 2006. Computational thinking. Comm. ACM 49, 3, 33. Google Scholar
Digital Library
- Yoon, J., Shrivastava, A., Park, S., Ahn, M., and Paek, Y. 2009. A graph drawing based spatial mapping algorithm for coarse-grained reconfigurable architectures. IEEE Trans. (VLSI) Syst. 17, 11. Google Scholar
Digital Library
- Yoon, J. W., Shrivastava, A., Park, S., Ahn, M., and Jeyapaul, R. 2008. SPKM: A novel graph drawing based algorithm for application mapping onto coarse-grained reconfigurable architectures. In Proceedings of the Asia and South Pacific Design Automation Conference. 776--782. Google Scholar
Digital Library
Index Terms
UNTANGLED: A Game Environment for Discovery of Creative Mapping Strategies
Recommendations
Architecture Exploration of Standard-Cell and FPGA-Overlay CGRAs Using the Open-Source CGRA-ME Framework
ISPD '18: Proceedings of the 2018 International Symposium on Physical DesignWe describe an open-source software framework,CGRA-ME, for the modeling and exploration of coarse-grained reconfigurable architectures (CGRAs). CGRAs are programmable hardware devices having large ALU-like logic blocks, and datapath bus-style inter-...
Datapath-oriented FPGA mapping and placement for configurable computing
FCCM '97: Proceedings of the 5th IEEE Symposium on FPGA-Based Custom Computing MachinesWidespread acceptance of FPGA-based reconfigurable coprocessors will be expedited if compilation time for FPGA configurations can be reduced to be comparable to software compilation. This research achieves this goal, generating complete datapath layouts ...
Reconfigurable Processing With Field Programmable Gate Arrays
ASAP '96: Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures, and ProcessorsIn-system-programmable, SRAM-based Field Programmable Gate Arrays (FPGAs) can be used to create processors and coprocessors whose internal architecture as well as interconnections can be reconfigured to match the needs of a given application. Exploiting ...






Comments