Parallelization of recursive preorder traversal based on building and winding call stacks

Makoto Nakayama, Kenichi Yamazaki, Satoshi Tanaka

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This paper proposes a method to parallelize the recursive preorder traversal algorithm on an ordered general tree. The method is based on building and winding call stacks, which are achieved by statically prepared initializing and terminating functions. In the method, an ordered general tree is split in a manner in which the nodes of a consecutive preorder range are assigned to a worker thread. At that time, all worker threads are aligned in order of the worker IDs, and an earlier worker thread is assigned an earlier preorder range. Each node is processed exactly once by only one worker thread. This paper also provides a set of proofs to show that each worker thread can start/stop its recursive preorder traversal from/at an intended place in a tree. The method is sufficiently general to be applicable to existing applications that adopt the recursive preorder traversal such as Protocol Buffers, which is a type of serializer/deserializer tool. The evaluation results show that the serialization result writing time of the parallelized Protocol Buffers is 1.78 fold shorter than that for normal Protocol Buffers when serializing 40,320 double values using 5 worker threads.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016
PublisherIEEE Computer Society
Pages570-579
Number of pages10
Volume2016-August
ISBN (Electronic)9781509021406
DOIs
Publication statusPublished - 2016 Aug 2
Event30th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016 - Chicago, United States
Duration: 2016 May 232016 May 27

Other

Other30th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016
CountryUnited States
CityChicago
Period16/5/2316/5/27

Keywords

  • Ordered general tree
  • Parallelization
  • Protocol Buffers
  • Recursive preorder traversal

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Networks and Communications
  • Hardware and Architecture
  • Software

Cite this

Nakayama, M., Yamazaki, K., & Tanaka, S. (2016). Parallelization of recursive preorder traversal based on building and winding call stacks. In Proceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016 (Vol. 2016-August, pp. 570-579). [7529916] IEEE Computer Society. https://doi.org/10.1109/IPDPSW.2016.18