{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T05:06:08Z","timestamp":1750309568232,"version":"3.41.0"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2025,4,22]],"date-time":"2025-04-22T00:00:00Z","timestamp":1745280000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science and Technology Council","award":["111-2221-E-006-116-MY3"],"award-info":[{"award-number":["111-2221-E-006-116-MY3"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Cyber-Phys. Syst."],"published-print":{"date-parts":[[2025,4,30]]},"abstract":"<jats:p>Robot Operating System (ROS) is an open source software platform that is well-suited for building complex robotic systems. Autonomous driving systems are one of the emerging robotic systems that are built on top of ROS. However, complicated communications among ROS processes pose a great challenge for system designers to design efficient computing hardware in autonomous vehicles. This complexity stems from the implicit data dependencies among these processes. When a process is bound by computation or communication, it can lead to increased data generation time for subsequent processes in the dependency chain. Unfortunately, existing tools for ROS are either built for tracking the communication latencies or revealing the communication performance with abstracted performance graphs. For analyzing computational resource utilization, general-purpose profiling tools like perf should be further adopted. Substantial human effort is required to consolidate and analyze all the performance data generated by the above tools so as to pinpoint potential performance issues. To address this challenge, a ROS-based dataflow aware profiler PARD is proposed. PARD employs dataflow aware analysis methods to automatically analyze collected ROS performance data, and highlights potential computation and communication performance issues on our profile graph, helping users promptly identify system bottlenecks. Thanks to the proposed data analysis methods, the system designers are able to identify and solve the performance issues rapidly through the graphical data representation that accentuates the potential performance issues. The experimental results on the commercial-grade ROS-based autonomous driving software Autoware demonstrate PARD is useful for quickly identifying the potential performance issues for autonomous valet parking. Moreover, its overall impact on the system is around 2%, indicating that PARD is indeed useful for accelerating hardware design exploration in autonomous driving vehicles.<\/jats:p>","DOI":"10.1145\/3716547","type":"journal-article","created":{"date-parts":[[2025,3,7]],"date-time":"2025-03-07T20:04:46Z","timestamp":1741377886000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["PARD: A Dataflow Aware Profiler for ROS-Based Autonomous Driving Software"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1961-4304","authenticated-orcid":false,"given":"Shao-Hua","family":"Wang","sequence":"first","affiliation":[{"name":"National Cheng Kung University, Tainan, Taiwan"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-7134-0053","authenticated-orcid":false,"given":"Chen-Xuan","family":"Lin","sequence":"additional","affiliation":[{"name":"National Cheng Kung University, Tainan, Taiwan"}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-4031-9888","authenticated-orcid":false,"given":"Yu-Tsung","family":"Wu","sequence":"additional","affiliation":[{"name":"National Cheng Kung University, Tainan, Taiwan"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8967-1385","authenticated-orcid":false,"given":"Chia-Heng","family":"Tu","sequence":"additional","affiliation":[{"name":"National Cheng Kung University, Tainan, Taiwan"}]}],"member":"320","published-online":{"date-parts":[[2025,4,22]]},"reference":[{"key":"e_1_3_2_2_2","volume-title":"Compilers: Principles, Techniques, and Tools","author":"Aho Alfred V.","year":"2006","unstructured":"Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd. ed.). Addison Wesley.","edition":"2"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/MRS.2019.8901095"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/LARS\/SBR\/WRE51543.2020.9307137"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC50251.2020.00028"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1049\/csy2.12083"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/IROS.2003.1249285"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS52030.2021.00029"},{"key":"e_1_3_2_9_2","unstructured":"bpftrace. 2019. bpftrace. Retrieved from https:\/\/github.com\/bpftrace\/bpftrace"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.robot.2022.104361"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/LRA.2022.3174346"},{"key":"e_1_3_2_12_2","first-page":"6:1","volume-title":"31st Euromicro Conference on Real-Time Systems (ECRTS \u201919) (Leibniz International Proceedings in Informatics (LIPIcs)","volume":"133","author":"Casini Daniel","year":"2019","unstructured":"Daniel Casini, Tobias Bla\u00df, Ingo L\u00fctkebohle, and Bj\u00f6rn B. Brandenburg. 2019. Response-time analysis of ROS 2 processing chains under reservation-based scheduling. In 31st Euromicro Conference on Real-Time Systems (ECRTS \u201919) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 133. Schloss Dagstuhl\u2013Leibniz-Zentrum f\u00fcr Informatik, 6:1\u20136:23."},{"key":"e_1_3_2_13_2","first-page":"1","volume-title":"1st Annual Conference on Robot Learning","author":"Dosovitskiy Alexey","year":"2017","unstructured":"Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, and Vladlen Koltun. 2017. CARLA: An open urban driving simulator. In 1st Annual Conference on Robot Learning, 1\u201316."},{"key":"e_1_3_2_14_2","unstructured":"eBPF.io. 2020. Introduction Tutorials & Community Resources. Retrieved from https:\/\/ebpf.io\/"},{"key":"e_1_3_2_15_2","unstructured":"Autoware Foundation. 2020. Autoware.Auto. Retrieved from https:\/\/www.autoware.auto"},{"key":"e_1_3_2_16_2","unstructured":"Autoware Foundation. 2021. Autonomous Valet Parking Demonstration. Retrieved from https:\/\/autowarefoundation.gitlab.io\/autoware.auto\/AutowareAuto\/avpdemo.html"},{"key":"e_1_3_2_17_2","unstructured":"Free Software Foundation. 1998. The GNU Profiler. Retrieved from https:\/\/ftp.gnu.org\/old-gnu\/Manuals\/gprof-2.9.1\/html_mono\/gprof.html"},{"key":"e_1_3_2_18_2","unstructured":"Python Software Foundation. 2023. The Python Profilers. Retrieved from https:\/\/docs.python.org\/3\/library\/profile.html"},{"key":"e_1_3_2_19_2","volume-title":"2009 Linux Symposium","author":"Fournier Pierre-Marc","year":"2009","unstructured":"Pierre-Marc Fournier, Mathieu Desnoyers, and Michel R. Dagenais. 2009. Combined tracing of the kernel and applications with LTTng. In 2009 Linux Symposium. Retrieved from https:\/\/files\/publications\/fournier-combined-tracing-ols2009.pdf"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/ROSE56499.2022.9977434"},{"key":"e_1_3_2_21_2","unstructured":"Red Hat. 2024. Performance Co-Pilot. Performance Co-Pilot Is a System Performance Analysis Toolkit. Retrieved from https:\/\/pcp.io\/"},{"key":"e_1_3_2_22_2","unstructured":"Apex.AI Inc. 2023. Apex.AI. Retrieved from https:\/\/www.apex.ai\/"},{"key":"e_1_3_2_23_2","unstructured":"Lyft Inc. 2023. Lyft Autonomous. Retrieved from https:\/\/autonomous.lyft.com\/"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCPS.2018.00035"},{"key":"e_1_3_2_25_2","unstructured":"Kernel.org. 2019. perf: Linux profiling with performance counters. Retrieved from https:\/\/perf.wiki.kernel.org\/index.php\/Main_Page"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2021.102341"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.3390\/robotics9010019"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jmsy.2019.11.001"},{"key":"e_1_3_2_29_2","unstructured":"Ingo L\u00fctkebohle. 2018. ros1_tracetools. Retrieved from https https:\/\/github.com\/boschresearch\/ros1_tracetools"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1126\/scirobotics.abm6074"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA52859.2021.00013"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/CCDC55256.2022.10033531"},{"key":"e_1_3_2_33_2","unstructured":"IO Visor Project. 2015. BPF Compiler Collection (BCC). Retrieved from https https:\/\/github.com\/iovisor\/bcc"},{"key":"e_1_3_2_34_2","volume-title":"IEEE International Conference on Robotics and Automation (ICRA)","volume":"5","author":"Quigley Morgan","year":"2009","unstructured":"Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, and Andrew Ng. 2009. ROS: An open-source Robot Operating System. In IEEE International Conference on Robotics and Automation (ICRA), 5."},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICECCS51672.2020.00029"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/ITSC45102.2020.9294422"},{"key":"e_1_3_2_37_2","unstructured":"ROS.org. 2024. Version 2 of the Robot Operating System (ROS) Software Stack. Performance Tests Which Run Regularly on the Buildfarm. Retrieved from https:\/\/github.com\/ros2\/buildfarm_perf_tests"},{"key":"e_1_3_2_38_2","unstructured":"Alberto Soragna Juan Oxoby and Dhiraj Goel. 2020. Intra-Process Communications in ROS 2. Retrieved from https:\/\/design.ros2.org\/articles\/intraprocess_communications.html"},{"key":"e_1_3_2_39_2","unstructured":"Dirk Thomas. 2019. ROS wiki: rqt_graph. Retrieved from http:\/\/wiki.ros.org\/rqt_graph"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/3547276.3548516"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/DCS.1988.12538"}],"container-title":["ACM Transactions on Cyber-Physical Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3716547","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3716547","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:19:10Z","timestamp":1750295950000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3716547"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,22]]},"references-count":40,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2025,4,30]]}},"alternative-id":["10.1145\/3716547"],"URL":"https:\/\/doi.org\/10.1145\/3716547","relation":{},"ISSN":["2378-962X","2378-9638"],"issn-type":[{"type":"print","value":"2378-962X"},{"type":"electronic","value":"2378-9638"}],"subject":[],"published":{"date-parts":[[2025,4,22]]},"assertion":[{"value":"2023-11-27","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-02-04","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-04-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}