{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:16:38Z","timestamp":1763468198170,"version":"3.41.0"},"reference-count":68,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2014,6,1]],"date-time":"2014-06-01T00:00:00Z","timestamp":1401580800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2014,6]]},"abstract":"<jats:p>\n            Because of tight power and energy constraints, industry is progressively shifting toward\n            <jats:italic>heterogeneous<\/jats:italic>\n            system-on-chip (SoC) architectures composed of a mix of general-purpose cores along with a number of accelerators. However, such SoC architectures can be very challenging to efficiently program for the vast majority of programmers, due to numerous programming approaches and languages. Libraries, on the other hand, provide a simple way to let programmers take advantage of complex architectures, which does not require programmers to acquire new accelerator-specific or domain-specific languages. Increasingly, library-based, also called algorithm-centric, programming approaches propose to generalize the usage of libraries and to compose programs around these libraries, instead of using libraries as mere complements.\n          <\/jats:p>\n          <jats:p>\n            In this article, we present a software framework for achieving\n            <jats:italic>performance portability<\/jats:italic>\n            by leveraging a generalized library-based approach. Inspired by the notion of a component, as employed in software engineering and HW\/SW codesign, we advocate nonexpert programmers to write simple wrapper code around existing libraries to provide simple but necessary semantic information to the runtime. To achieve performance portability, the runtime employs machine learning (simulated annealing) to select the most appropriate accelerator and its parameters for a given algorithm. This selection factors in the possibly complex composition of algorithms used in the application, the communication among the various accelerators, and the tradeoff between different objectives (i.e., accuracy, performance, and energy).\n          <\/jats:p>\n          <jats:p>Using a set of benchmarks run on a real heterogeneous SoC composed of a multicore processor and a GPU, we show that the runtime overhead is fairly small at 5.1% for the GPU and 6.4% for the multi-core. We then apply our accelerator selection approach to a simulated SoC platform containing multiple inexact accelerators. We show that accelerator selection together with hardware parameter tuning achieves an average 46.2% energy reduction and a speedup of 2.1\u00d7 while meeting the desired application error target.<\/jats:p>","DOI":"10.1145\/2608253","type":"journal-article","created":{"date-parts":[[2014,7,1]],"date-time":"2014-07-01T14:23:02Z","timestamp":1404224582000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Performance Portability Across Heterogeneous SoCs Using a Generalized Library-Based Approach"],"prefix":"10.1145","volume":"11","author":[{"given":"Shuangde","family":"Fang","sequence":"first","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China; Graduate School, CAS, China"}]},{"given":"Zidong","family":"Du","sequence":"additional","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China; Graduate School, CAS, China"}]},{"given":"Yuntan","family":"Fang","sequence":"additional","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China; Graduate School, CAS, China"}]},{"given":"Yuanjie","family":"Huang","sequence":"additional","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China; Graduate School, CAS, China"}]},{"given":"Yang","family":"Chen","sequence":"additional","affiliation":[{"name":"Microsoft Research, China"}]},{"given":"Lieven","family":"Eeckhout","sequence":"additional","affiliation":[{"name":"Ghent University, Belgium"}]},{"given":"Olivier","family":"Temam","sequence":"additional","affiliation":[{"name":"INRIA, Saclay, France"}]},{"given":"Huawei","family":"Li","sequence":"additional","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China"}]},{"given":"Yunji","family":"Chen","sequence":"additional","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China"}]},{"given":"Chengyong","family":"Wu","sequence":"additional","affiliation":[{"name":"SKL Computer Architecture, ICT, CAS, China"}]}],"member":"320","published-online":{"date-parts":[[2014,6]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"A. Agarwal M. Rinard S. Sidiroglou S. Misailovic and H. Hoffmann. 2009. Using Code Perforation to Improve Performance Reduce Energy Consumption and Respond to Failures. Technical Report. MIT.  A. Agarwal M. Rinard S. Sidiroglou S. Misailovic and H. Hoffmann. 2009. Using Code Perforation to Improve Performance Reduce Energy Consumption and Respond to Failures. Technical Report. MIT."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2005.119"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10791-008-9066-8"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542481"},{"volume-title":"Proceedings of the 9th Annual IEEE\/ACM International Symposium on Code Generation and Optimization (CGO). 85--96","author":"Ansel J.","key":"e_1_2_1_5_1","unstructured":"J. Ansel , Y. L. Wong , C. Chan , M. Olszewski , A. Edelman , and S. Amarasinghe . 2011. Language and compiler support for auto-tuning variable-accuracy algorithms . In Proceedings of the 9th Annual IEEE\/ACM International Symposium on Code Generation and Optimization (CGO). 85--96 . J. Ansel, Y. L. Wong, C. Chan, M. Olszewski, A. Edelman, and S. Amarasinghe. 2011. Language and compiler support for auto-tuning variable-accuracy algorithms. In Proceedings of the 9th Annual IEEE\/ACM International Symposium on Code Generation and Optimization (CGO). 85--96."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2004.11.003"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03869-3_80"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806620"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1810479.1810498"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2024716.2024718"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.15"},{"key":"e_1_2_1_12_1","unstructured":"Cacti 5.3. 2008. CACTI. Available at: http:\/\/hpl.hp.com\/research\/cacti\/.  Cacti 5.3. 2008. CACTI. Available at: http:\/\/hpl.hp.com\/research\/cacti\/."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2013.6522319"},{"key":"e_1_2_1_14_1","first-page":"1","article-title":"SEJITS: Getting productivity and performance with selective embedded JIT specialization","volume":"1","author":"Catanzaro B.","year":"2009","unstructured":"B. Catanzaro , S. Kamil , Y. Lee , K. Asanovic , J. Demmel , K. Keutzer , J. Shalf , K. Yelick , and A. Fox . 2009 . SEJITS: Getting productivity and performance with selective embedded JIT specialization . Programming Models for Emerging Architectures 1 , 1 (2009), 1 -- 9 . B. Catanzaro, S. Kamil, Y. Lee, K. Asanovic, J. Demmel, K. Keutzer, J. Shalf, K. Yelick, and A. Fox. 2009. SEJITS: Getting productivity and performance with selective embedded JIT specialization. Programming Models for Emerging Architectures 1, 1 (2009), 1--9.","journal-title":"Programming Models for Emerging Architectures"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/513918.514115"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1450095.1450124"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150983"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/1302494.1302815"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1383422.1383447"},{"volume-title":"Proceedings of the Workshop on GPGPU. CAPS Entreprise, 1--5.","author":"Dolbeau R.","key":"e_1_2_1_21_1","unstructured":"R. Dolbeau , S. Bihan , and F. Bodin . 2007. HMPP: A hybrid multi-core parallel programming environment . In Proceedings of the Workshop on GPGPU. CAPS Entreprise, 1--5. R. Dolbeau, S. Bihan, and F. Bodin. 2007. HMPP: A hybrid multi-core parallel programming environment. In Proceedings of the Workshop on GPGPU. CAPS Entreprise, 1--5."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254066"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000064.2000108"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151008"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2012.48"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188543"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2013.6494993"},{"key":"e_1_2_1_28_1","unstructured":"G. Heineman and W. Councill. 2001. Component-based Software Engineering: Putting the Pieces Together. Addison-Wesley Longman Boston MA.   G. Heineman and W. Councill. 2001. Component-based Software Engineering: Putting the Pieces Together. Addison-Wesley Longman Boston MA."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950390"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815998"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2435264.2435296"},{"key":"e_1_2_1_32_1","unstructured":"Intel. 2011. Intel64 and IA-32 Architectures Software Developer\u2019s Manual. Intel.  Intel. 2011. Intel64 and IA-32 Architectures Software Developer\u2019s Manual. Intel."},{"volume-title":"IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). 86--96","author":"Jiang N.","key":"e_1_2_1_33_1","unstructured":"N. Jiang , D. U. Becker , G. Michelogiannakis , J. Balfour , B. Towles , D. E. Shaw , J. Kim , and W. J. Dally . 2013. A detailed and flexible cycle-accurate network-on-chip simulator . In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). 86--96 . N. Jiang, D. U. Becker, G. Michelogiannakis, J. Balfour, B. Towles, D. E. Shaw, J. Kim, and W. J. Dally. 2013. A detailed and flexible cycle-accurate network-on-chip simulator. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). 86--96."},{"volume-title":"Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 423--428","author":"Kahng A. B.","key":"e_1_2_1_34_1","unstructured":"A. B. Kahng , Bin Li , Li-Shiuan Peh , and K. Samadi . 2009. ORION 2.0: A fast and accurate NoC power and area model for early-stage design space exploration . In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 423--428 . A. B. Kahng, Bin Li, Li-Shiuan Peh, and K. Samadi. 2009. ORION 2.0: A fast and accurate NoC power and area model for early-stage design space exploration. In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 423--428."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/165854.165874"},{"volume-title":"Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 1403--1408","author":"Kessler C.","key":"e_1_2_1_36_1","unstructured":"C. Kessler , U. Dastgeer , S. Thibault , R. Namyst , A. Richards , U. Dolinsky , S. Benkner , J. L. Traff , and S. Pllana . 2012. Programmability and performance portability aspects of heterogeneous multi-\/manycore systems . In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 1403--1408 . C. Kessler, U. Dastgeer, S. Thibault, R. Namyst, A. Richards, U. Dolinsky, S. Benkner, J. L. Traff, and S. Pllana. 2012. Programmability and performance portability aspects of heterogeneous multi-\/manycore systems. In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE). 1403--1408."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1816026"},{"key":"e_1_2_1_38_1","unstructured":"T. Lane and the Independent JPEG Group. 1991. Libjpeg. Available at: http:\/\/libjpeg.sourceforge.net\/.  T. Lane and the Independent JPEG Group. 1991. Libjpeg. Available at: http:\/\/libjpeg.sourceforge.net\/."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2010.36"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2012.53"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150979"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346318"},{"volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe (DATE). 1--6.","author":"Lingamneni A.","key":"e_1_2_1_43_1","unstructured":"A. Lingamneni , C. Enz , J. L. Nagel , K. Palem , and C. Piguet . 2011. Energy parsimonious circuit design through probabilistic pruning . In Proceedings of the Conference on Design, Automation and Test in Europe (DATE). 1--6. A. Lingamneni, C. Enz, J. L. Nagel, K. Palem, and C. Piguet. 2011. Energy parsimonious circuit design through probabilistic pruning. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE). 1--6."},{"key":"e_1_2_1_44_1","volume-title":"Flicker: Saving Refresh-Power in Mobile Devices through Critical Data Partitioning. Technical Report. Microsoft Research.","author":"Liu S.","year":"2009","unstructured":"S. Liu , K. Pattabiraman , T. Moscibroda , and B. G. Zorn . 2009 . Flicker: Saving Refresh-Power in Mobile Devices through Critical Data Partitioning. Technical Report. Microsoft Research. S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn. 2009. Flicker: Saving Refresh-Power in Mobile Devices through Critical Data Partitioning. Technical Report. Microsoft Research."},{"volume-title":"Automation Test in Europe Conference Exhibition (DATE). 135--140","author":"Lu K.","key":"e_1_2_1_45_1","unstructured":"K. Lu , D. Muller-Gritschneder , and U. Schlichtmann . 2012. Accurately timed transaction level models for virtual prototyping at high abstraction level. In Design , Automation Test in Europe Conference Exhibition (DATE). 135--140 . K. Lu, D. Muller-Gritschneder, and U. Schlichtmann. 2012. Accurately timed transaction level models for virtual prototyping at high abstraction level. In Design, Automation Test in Europe Conference Exhibition (DATE). 135--140."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669121"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCST.2011.2177499"},{"key":"e_1_2_1_49_1","unstructured":"MAGMA 2011-2013. MAGMA: http:\/\/icl.cs.utk.edu\/magma\/index.html. (2011--2013).  MAGMA 2011-2013. MAGMA: http:\/\/icl.cs.utk.edu\/magma\/index.html. (2011--2013)."},{"volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe (DATE). 40--46","author":"Martin G.","key":"e_1_2_1_50_1","unstructured":"G. Martin , R. Seepold , T. Zhang , L. Benini , and G. De Micheli . 2001. Component selection and matching for IP-based design . In Proceedings of the Conference on Design, Automation and Test in Europe (DATE). 40--46 . G. Martin, R. Seepold, T. Zhang, L. Benini, and G. De Micheli. 2001. Component selection and matching for IP-based design. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE). 40--46."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1063\/1.1699114"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806808"},{"volume-title":"Proceedings of the Conference on Parallel and Distributed Computing Systems (PDCS). 1--9.","author":"Nayak A.","key":"e_1_2_1_53_1","unstructured":"A. Nayak , M. Haldar , A. Kanhere , P. Joisha , N. Shenoy , A. Choudhary , and P. Banerjee . 2000. A library based compiler to execute MATLAB programs on a heterogeneous platform . In Proceedings of the Conference on Parallel and Distributed Computing Systems (PDCS). 1--9. A. Nayak, M. Haldar, A. Kanhere, P. Joisha, N. Shenoy, A. Choudhary, and P. Banerjee. 2000. A library based compiler to execute MATLAB programs on a heterogeneous platform. In Proceedings of the Conference on Parallel and Distributed Computing Systems (PDCS). 1--9."},{"volume-title":"Proceedings of the 3rd International Conference on Software Engineering and Middleware (SEM). 102--114","author":"Oberleitner J.","key":"e_1_2_1_54_1","unstructured":"J. Oberleitner and T. Gschwind . 2002. Composing Distributed Components with the Component Workbench . In Proceedings of the 3rd International Conference on Software Engineering and Middleware (SEM). 102--114 . J. Oberleitner and T. Gschwind. 2002. Composing Distributed Components with the Component Workbench. In Proceedings of the 3rd International Conference on Software Engineering and Middleware (SEM). 102--114."},{"key":"e_1_2_1_55_1","unstructured":"OMPSs 2010. OMPSs. https:\/\/pm.bsc.es\/ompss. (2010).  OMPSs 2010. OMPSs. https:\/\/pm.bsc.es\/ompss. (2010)."},{"key":"e_1_2_1_56_1","unstructured":"OpenACC 2013. OpenACC 2.0. Available at http:\/\/www.openacc-standard.org\/.  OpenACC 2013. OpenACC 2.0. Available at http:\/\/www.openacc-standard.org\/."},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the Los Alamos Computer Science Institute, Workshop on Heterogeneous Computing (LACSI). 1--10","author":"Papakipos M.","year":"2006","unstructured":"M. Papakipos . 2006 . The PeakStream platform: High-productivity software development for multi-core processors . In Proceedings of the Los Alamos Computer Science Institute, Workshop on Heterogeneous Computing (LACSI). 1--10 . M. Papakipos. 2006. The PeakStream platform: High-productivity software development for multi-core processors. In Proceedings of the Los Alamos Computer Science Institute, Workshop on Heterogeneous Computing (LACSI). 1--10."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451162"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1183401.1183447"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/RSP.2007.37"},{"volume-title":"Proceedings of the 13th International Conference on VLSI Design (VLSI Design). 64--69","author":"Roop P. S.","key":"e_1_2_1_61_1","unstructured":"P. S. Roop , A. Sowmya , and S. Ramesh . 2000. Automatic component matching using forced simulation . In Proceedings of the 13th International Conference on VLSI Design (VLSI Design). 64--69 . P. S. Roop, A. Sowmya, and S. Ramesh. 2000. Automatic component matching using forced simulation. In Proceedings of the 13th International Conference on VLSI Design (VLSI Design). 64--69."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993518"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/378239.379045"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.60"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/1322263.1322279"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337159.2337200"},{"volume-title":"Proceedings of the IEEE International Electron Devices Meeting (IEDM). 1--4.","author":"Wang G.","key":"e_1_2_1_67_1","unstructured":"G. Wang , D. Anand , N. Butt , A. Cestero , M. Chudzik , J. Ervin , S. Fang , G. Freeman , H. Ho , B. Khan , B. Kim , W. Kong , R. Krishnan , S. Krishnan , O. Kwon , J. Liu , K. McStay , E. Nelson , K. Nummy , P. Parries , J. Sim , R. Takalkar , A. Tessier , R. M. Todi , R. Malik , S. Stiffler , and S. S. Iyer . 2009. Scaling deep trench based eDRAM on SOI to 32nm and Beyond . In Proceedings of the IEEE International Electron Devices Meeting (IEDM). 1--4. G. Wang, D. Anand, N. Butt, A. Cestero, M. Chudzik, J. Ervin, S. Fang, G. Freeman, H. Ho, B. Khan, B. Kim, W. Kong, R. Krishnan, S. Krishnan, O. Kwon, J. Liu, K. McStay, E. Nelson, K. Nummy, P. Parries, J. Sim, R. Takalkar, A. Tessier, R. M. Todi, R. Malik, S. Stiffler, and S. S. Iyer. 2009. Scaling deep trench based eDRAM on SOI to 32nm and Beyond. In Proceedings of the IEEE International Electron Devices Meeting (IEDM). 1--4."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/TIP.2003.819861"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2608253","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2608253","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T18:55:59Z","timestamp":1750272959000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2608253"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,6]]},"references-count":68,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2014,6]]}},"alternative-id":["10.1145\/2608253"],"URL":"https:\/\/doi.org\/10.1145\/2608253","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2014,6]]},"assertion":[{"value":"2013-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-01-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}