skip to main content
research-article

Lazy Load Scheduling for Mixed-criticality Applications in Heterogeneous MPSoCs

Published:13 May 2023Publication History
Skip Abstract Section

Abstract

Newly emerging multiprocessor system-on-a-chip (MPSoC) platforms provide hard processing cores with programmable logic (PL) for high-performance computing applications. In this article, we take a deep look into these commercially available heterogeneous platforms and show how to design mixed-criticality applications such that different processing components can be isolated to avoid contention on the shared resources such as last-level cache and main memory.

Our approach involves software/hardware co-design to achieve isolation between the different criticality domains. At the hardware level, we use a scratchpad memory (SPM) with dedicated interfaces inside the PL to avoid conflicts in the main memory. At the software level, we employ a hypervisor to support cache-coloring such that conflicts at the shared L2 cache can be avoided. In order to move the tasks in/out of the SPM memory, we rely on a DMA engine and propose a new CPU-DMA co-scheduling policy, called Lazy Load, for which we also derive the response time analysis. The results of a case study on image processing demonstrate that the contention on the shared memory subsystem can be avoided when running with our proposed architecture. Moreover, comprehensive schedulability evaluations show that the newly proposed Lazy Load policy outperforms the existing CPU-DMA scheduling approaches and is effective in mitigating the main memory interference in our proposed architecture.

REFERENCES

  1. [1] Alhammad Ahmed and Pellizzoni Rodolfo. 2014. Time-predictable execution of multithreaded applications on multicore systems. In 2014 Design, Automation Test in Europe Conference Exhibition (DATE’14). 16. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  2. [2] Awan Muhammad Ali, Bletsas Konstantinos, Souto Pedro F., Akesson Benny, and Tovar Eduardo. 2018. Mixed-criticality scheduling with dynamic memory bandwidth regulation. In 2018 IEEE 24th International Conference on Embedded and Real-time Computing Systems and Applications (RTCSA’18). 111117. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Becker Matthias, Dasari Dakshina, Nicolic Borislav, Akesson Benny, Nélis Vincent, and Nolte Thomas. 2016. Contention-free execution of automotive applications on a clustered many-core platform. In 2016 28th Euromicro Conference on Real-time Systems (ECRTS’16). 1424. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Bini Enrico and Buttazzo Giorgio C.. 2005. Measuring the performance of schedulability tests. Real-time Systems 30, 1–2 (2005), 129154. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Boniol Frédéric, Cassé Hugues, Noulard Eric, and Pagetti Claire. 2012. Deterministic execution model on COTS hardware. In Architecture of Computing Systems (ARCS’12). Springer, 98110. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Bril Reinder J., Lukkien Johan J., and Verhaegh Wim F. J.. 2007. Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited. In 19th Euromicro Conference on Real-time Systems (ECRTS’07). 269279. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Burgio Paolo, Marongiu Andrea, Valente Paolo, and Bertogna Marko. 2015. A memory-centric approach to enable timing-predictability within embedded many-core accelerators. In 2015 CSI Symposium on Real-time and Embedded Systems and Technologies (RTEST’15). 18. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  8. [8] Burns Alan and Davis Robert I.. 2017. A survey of research into mixed criticality systems. ACM Comput. Surv. 50, 6, Article 82 (Nov.2017), 37 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Casini Daniel, Pazzaglia Paolo, Biondi Alessandro, Natale Marco Di, and Buttazzo Giorgio. 2020. Predictable memory-CPU co-scheduling with support for latency-sensitive tasks. In 2020 57th ACM/IEEE Design Automation Conference (DAC’20). 16. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Cerrolaza Jon Perez, Obermaisser Roman, Abella Jaume, Cazorla Francisco J., Grüttner Kim, Agirre Irune, Ahmadian Hamidreza, and Allende Imanol. 2020. Multi-core devices for safety-critical systems: A survey. ACM Comput. Surv. 53, 4, Article 79 (Aug.2020), 38 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] Davis Robert I., Burns Alan, Bril Reinder J., and Lukkien Johan J.. 2007. Controller area network (CAN) schedulability analysis: Refuted, revisited and revised. Real-time Systems 35, 3 (April2007), 239272. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Durrieu Guy, Faugère Madeleine, Girbal Sylvain, Pérez Daniel Gracia, Pagetti Claire, and Puffitsch Wolfgang. 2014. Predictable flight management system implementation on a multicore processor. In Embedded Real-time Software (ERTS’14). https://hal.archives-ouvertes.fr/hal-01121700.Google ScholarGoogle Scholar
  13. [13] Evidence. 2020. Erika Enterprise RTOS v3. http://www.erika-enterprise.com/.Google ScholarGoogle Scholar
  14. [14] Forsberg Björn, Benini Luca, and Marongiu Andrea. 2018. HePREM: Enabling predictable GPU execution on heterogeneous SoC. In 2018 Design, Automation Test in Europe Conference Exhibition (DATE’18). 539544. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Gracioli Giovani, Alhammad Ahmed, Mancuso Renato, Fröhlich Antônio Augusto, and Pellizzoni Rodolfo. 2015. A survey on cache management mechanisms for real-time embedded systems. ACM Comput. Surv. 48, 2, Article 32 (Nov.2015), 36 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Gracioli Giovani and Fröhlich Antônio Augusto. 2017. Two-phase colour-aware multicore real-time scheduler. IET Computers & Digital Techniques 11, 4 (July2017), 133–139(6). .Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Gracioli Giovani, Tabish Rohan, Mancuso Renato, Mirosanlou Reza, Pellizzoni Rodolfo, and Caccamo Marco. 2019. Designing mixed criticality applications on modern heterogeneous MPSoC platforms. In 31st Euromicro Conference on Real-time Systems (ECRTS’19)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 133), Quinton Sophie (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 27:1–27:25. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Yun Heechul. 2019. Latency and Bandwidth Utilities. https://github.com/heechul/misc.Google ScholarGoogle Scholar
  19. [19] Hoornaert Denis, Roozkhosh Shahin, and Mancuso Renato. 2021. A memory scheduling infrastructure for multi-core systems with re-programmable logic. In 33rd Euromicro Conference on Real-time Systems (ECRTS’21)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 196), Brandenburg Björn B. (Ed.). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 2:1–2:22. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Kim Hyoseung, Niz Dionisio de, Andersson Björn, Klein Mark, Mutlu Onur, and Rajkumar Ragunathan. 2014. Bounding memory interference delay in COTS-based multi-core systems. In 2014 IEEE 19th Real-time and Embedded Technology and Applications Symposium (RTAS’14). 145154. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Kim Hyoseung, Kandhalu Arvind, and Rajkumar Ragunathan. 2013. A coordinated approach for practical OS-level cache management in multi-core real-time systems. In 2013 25th Euromicro Conference on Real-time Systems. 8089. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Kim Hyoseung and Rajkumar Ragunathan (Raj). 2017. Predictable shared cache management for multi-core real-time virtualization. ACM Trans. Embed. Comput. Syst. 17, 1, Article 22 (Dec.2017), 27 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Kim Namhoon, Ward Bryan C., Chisholm Micaiah, Fu Cheng-Yang, Anderson James H., and Smith F. Donelson. 2016. Attacking the one-out-of-m multicore problem by combining hardware management with mixed-criticality provisioning. In 2016 IEEE Real-time and Embedded Technology and Applications Symposium (RTAS’16). 112. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  24. [24] Kloda Tomasz, Solieri Marco, Mancuso Renato, Capodieci Nicola, Valente Paolo, and Bertogna Marko. 2019. Deterministic memory hierarchy and virtualization for modern multi-core embedded systems. In 2019 IEEE Real-time and Embedded Technology and Applications Symposium (RTAS’19). 114. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Lehoczky John P.. 1990. Fixed priority scheduling of periodic task sets with arbitrary deadlines. In Proceedings of the 11th Real-time Systems Symposium. 201209. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] Liu C. L. and Layland James W.. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 1 (Jan.1973), 4661. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Macías Méndez Miguel, Gutierrez José L., Fernández David, and Díaz Javier. 2013. Open platform for mixed-criticality applications. In Proceedings of the Workshop on Industry-driven Approaches for Cost-effective Certification of Safety-critical, Mixed-criticality Systems (WICERT’13). 17. http://atcproyectos.ugr.es/wicert/downloads/wicert_papers/wicert2013_submission_8.pdf.Google ScholarGoogle Scholar
  28. [28] Mancuso Renato, Dudko Roman, Betti Emiliano, Cesati Marco, Caccamo Marco, and Pellizzoni Rodolfo. 2013. Real-time cache management framework for multi-core architectures. In 2013 IEEE 19th Real-time and Embedded Technology and Applications Symposium (RTAS’13). 4554. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Matějka Joel, Forsberg Björn, Sojka Michal, Benini Luca, Hanzálek Zdeněk, and Marongiu Andrea. 2019. Combining PREM compilation and static scheduling for high-performance and predictable MPSoC execution. Parallel Comput. 85 (2019), 2744. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Melani Alessandra, Bertogna Marko, Bonifaci Vincenzo, Marchetti-Spaccamela Alberto, and Buttazzo Giorgio. 2015. Memory-processor co-scheduling in fixed priority systems. In Proceedings of the 23rd International Conference on Real-time and Networks Systems (RTNS’15). Association for Computing Machinery, New York, NY,8796. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Modica Paolo, Biondi Alessandro, Buttazzo Giorgio, and Patel Anup. 2018. Supporting temporal and spatial isolation in a hypervisor for ARM multicore platforms. In 2018 IEEE International Conference on Industrial Technology (ICIT’18). 16511657. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  32. [32] Mück Tiago, Fröhlich Antonio A., Gracioli Giovani, Rahmani Amir M., Reis João Gabriel, and Dutt Nikil. 2018. CHIPS-AHOy: A predictable holistic cyber-physical hypervisor for MPSoCs. In Proceedings of the 18th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS’18). Association for Computing Machinery, New York, NY, 7380. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Patel Anup, Daftedar Mai, Shalan Mohamed, and El-Kharashi M. Watheq. 2015. Embedded hypervisor xvisor: A comparative analysis. In 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-based Processing. 682691. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Pellizzoni Rodolfo, Betti Emiliano, Bak Stanley, Yao Gang, Criswell John, Caccamo Marco, and Kegley Russell. 2011. A predictable execution model for COTS-based embedded systems. In 2011 17th IEEE Real-time and Embedded Technology and Applications Symposium. 269279. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Ramsauer Ralf, Kiszka Jan, Lohmann Daniel, and Mauerer Wolfgang. 2017. Look mum, no VM exits! (Almost). In Proceedings of the 13th Annual Workshop on Operating Systems Platforms for Embedded Real-time Applications (OSPERT’17). http://arxiv.org/abs/1705.06932.Google ScholarGoogle Scholar
  36. [36] Rivas Juan M., Goossens Joël, Poczekajlo Xavier, and Paolillo Antonio. 2019. Implementation of memory centric scheduling for COTS multi-core real-time systems. In 31st Euromicro Conference on Real-time Systems (ECRTS’19)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 133), Quinton Sophie (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 7:1–7:23. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  37. [37] Roozkhosh Shahin, Hoornaert Denis, and Mancuso Renato. 2022. CAESAR: Coherence-aided elective and seamless alternative routing via on-chip FPGA. In 2022 IEEE Real-time Systems Symposium (RTSS’22). 356369. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  38. [38] Roozkhosh Shahin, Hoornaert Denis, Mun Ju Hyoung, Papon Tarikul Islam, Drepper Ulrich, Mancuso Renato, and Athanassoulis Manos. 2023. Relational memory: Native in-memory accesses on rows and columns. In 2023 International Conference on Extending Database Technology (EDBT’23). DOI:Google ScholarGoogle ScholarCross RefCross Ref
  39. [39] Roozkhosh Shahin and Mancuso Renato. 2020. The potential of programmable logic in the middle: Cache bleaching. In 2020 IEEE Real-time and Embedded Technology and Applications Symposium (RTAS’20). 296309. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  40. [40] Rouxel Benjamin, Derrien Steven, and Puaut Isabelle. 2017. Tightening contention delays while scheduling parallel applications on multi-core architectures. ACM Trans. Embed. Comput. Syst. 16, 5s, Article 164 (Sept.2017), 20 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. [41] Rouxel Benjamin, Skalistis Stefanos, Derrien Steven, and Puaut Isabelle. 2019. Hiding communication delays in contention-free execution for SPM-based multi-core architectures. In 31st Euromicro Conference on Real-time Systems (ECRTS’19)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 133), Quinton Sophie (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 25:1–25:24. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  42. [42] Schwäricke Gero, Kloda Tomasz, Gracioli Giovani, Bertogna Marko, and Caccamo Marco. 2020. Fixed-priority memory-centric scheduler for COTS-based multiprocessors. In 32nd Euromicro Conference on Real-time Systems (ECRTS’20)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 165), Völp Marcus (Ed.). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 1:1–1:24. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  43. [43] Sohal Parul, Tabish Rohan, Drepper Ulrich, and Mancuso Renato. 2020. E-WarP: A system-wide framework for memory bandwidth profiling and management. In 2020 IEEE Real-time Systems Symposium (RTSS’20). 345357. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  44. [44] Sohal Parul, Tabish Rohan, Drepper Ulrich, and Mancuso Renato. 2022. Profile-driven memory bandwidth management for accelerators and CPUs in QoS-enabled platforms. Real-time Syst. 58, 3 (Sept.2022), 235274. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. [45] Soliman Muhammad R., Gracioli Giovani, Tabish Rohan, Pellizzoni Rodolfo, and Caccamo Marco. 2019. Segment streaming for the three-phase execution model: Design and implementation. In 2019 IEEE Real-time Systems Symposium (RTSS’19). 260273. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  46. [46] Soliman Muhammad R. and Pellizzoni Rodolfo. 2019. PREM-based optimal task segmentation under fixed priority scheduling. In 31st Euromicro Conference on Real-time Systems (ECRTS’19)(Leibniz International Proceedings in Informatics (LIPIcs), Vol. 133), Quinton Sophie (Ed.). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 4:1–4:23. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  47. [47] Suite The KITTI Vision Benchmark. 2020. KITTI. http://www.cvlibs.net/datasets/kitti/.Google ScholarGoogle Scholar
  48. [48] Tabish Rohan, Mancuso Renato, Wasly Saud, Alhammad Ahmed, Phatak Sujit S., Pellizzoni Rodolfo, and Caccamo Marco. 2016. A real-time scratchpad-centric os for multi-core embedded systems. In 2016 IEEE Real-time and Embedded Technology and Applications Symposium (RTAS’16). IEEE, 111. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  49. [49] Tabish Rohan, Mancuso Renato, Wasly Saud, Pellizzoni Rodolfo, and Caccamo Marco. 2019. A real-time scratchpad-centric OS with predictable inter/intra-core communication for multi-core embedded systems. Real-time Systems 55, 4 (2019), 850888. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Valsan Prathap Kumar, Yun Heechul, and Farshchi Farzad. 2016. Taming non-blocking caches to improve isolation in multicore real-time systems. In 2016 IEEE Real-time and Embedded Technology and Applications Symposium (RTAS’16). 112. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  51. [51] Venkata Sravanthi Kota, Ahn Ikkjin, Jeon Donghwan, Gupta Anshuman, Louie Christopher, Garcia Saturnino, Belongie Serge, and Taylor Michael Bedford. 2009. SD-VBS: The San Diego vision benchmark suite. In 2009 IEEE International Symposium on Workload Characterization (IISWC’09). 5564. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Ward Bryan C., Herman Jonathan L., Kenna Christopher J., and Anderson James H.. 2013. Outstanding paper award: Making shared caches more predictable on multicore platforms. In 2013 25th Euromicro Conference on Real-time Systems. 157167. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Wasly Saud and Pellizzoni Rodolfo. 2014. Hiding memory latency using fixed priority scheduling. In 2014 IEEE 19th Real-time and Embedded Technology and Applications Symposium (RTAS’14). 7586. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  54. [54] Whitham Jack and Audsley Neil C.. 2012. Explicit reservation of local memory in a predictable, preemptive multitasking real-time system. In 2012 IEEE 18th Real-time and Embedded Technology and Applications Symposium. 312. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Whitham Jack, Audsley Neil C., and Davis Robert I.. 2014. Explicit reservation of cache memory in a predictable, preemptive multitasking real-time system. ACM Trans. Embed. Comput. Syst. 13, 4s, Article 120 (Apr.2014), 25 pages. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Whitham Jack, Davis Robert I., Audsley Neil C., Altmeyer Sebastian, and Maiza Claire. 2012. Investigation of scratchpad memory for preemptive multitasking. In 2012 IEEE 33rd Real-time Systems Symposium. 313. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. [57] Xilinx. 2019. Zynq UltraScale+ Device - Technical Reference Manual. https://www.xilinx.com/support/documentation/user_guides/ug1085-zynq-ultrascale-trm.pdf.Google ScholarGoogle Scholar
  58. [58] Xu Meng, Thi Linh, Phan Xuan, Choi Hyon-Young, and Lee Insup. 2017. vCAT: Dynamic cache management using CAT virtualization. In 2017 IEEE Real-time and Embedded Technology and Applications Symposium (RTAS’17). 211222. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  59. [59] Yao Gang, Pellizzoni Rodolfo, Bak Stanley, Betti Emiliano, and Caccamo Marco. 2012. Memory-centric scheduling for multicore hard real-time systems. Real-time Systems 48, 6 (Nov.2012), 681715. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Yao Gang, Pellizzoni Rodolfo, Bak Stanley, Yun Heechul, and Caccamo Marco. 2016. Global real-time memory-centric scheduling for multicore systems. IEEE Trans. Comput. 65, 9 (2016), 27392751. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Ye Ying, West Richard, Zhang Jingyi, and Cheng Zhuoqun. 2016. MARACAS: A real-time multicore VCPU scheduling framework. In 2016 IEEE Real-time Systems Symposium (RTSS’16). 179190. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  62. [62] Yun Heechul, Mancuso Renato, Wu Zheng-Pei, and Pellizzoni Rodolfo. 2014. PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In 2014 IEEE 19th Real-time and Embedded Technology and Applications Symposium (RTAS’14). 155166. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  63. [63] Yun Heechul, Yao Gang, Pellizzoni Rodolfo, Caccamo Marco, and Sha Lui. 2013. MemGuard: Memory bandwidth reservation system for efficient performance isolation in multi-core platforms. In 2013 IEEE 19th Real-time and Embedded Technology and Applications Symposium (RTAS’13). 5564. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. [64] Crespo Alfons, Balbastre Patricia, Simó José, Coronel Javier, Pérez Daniel Gracia, and Bonnot Philippe. 2018. Hypervisor-based multicore feedback control of mixed-criticality systems. IEEE Access 6, (2018), 5062750640. DOI:Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Lazy Load Scheduling for Mixed-criticality Applications in Heterogeneous MPSoCs

          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

          • Published in

            cover image ACM Transactions on Embedded Computing Systems
            ACM Transactions on Embedded Computing Systems  Volume 22, Issue 3
            May 2023
            546 pages
            ISSN:1539-9087
            EISSN:1558-3465
            DOI:10.1145/3592782
            • Editor:
            • Tulika Mitra
            Issue’s Table of Contents

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 13 May 2023
            • Online AM: 14 March 2023
            • Accepted: 4 March 2023
            • Revised: 3 March 2023
            • Received: 22 November 2021
            Published in tecs Volume 22, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
          • Article Metrics

            • Downloads (Last 12 months)185
            • Downloads (Last 6 weeks)26

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Full Text

          View this article in Full Text.

          View Full Text

          HTML Format

          View this article in HTML Format .

          View HTML Format
          About Cookies On This Site

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

          Learn more

          Got it!