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

Parallelization of recursive preorder traversal based on building and winding call stacks. / Nakayama, Makoto; Yamazaki, Kenichi; Tanaka, Satoshi.

Proceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016. Vol. 2016-August IEEE Computer Society, 2016. p. 570-579 7529916.

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

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, 7529916, IEEE Computer Society, pp. 570-579, 30th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016, Chicago, United States, 16/5/23. https://doi.org/10.1109/IPDPSW.2016.18
Nakayama M, Yamazaki K, Tanaka S. 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. IEEE Computer Society. 2016. p. 570-579. 7529916 https://doi.org/10.1109/IPDPSW.2016.18
Nakayama, Makoto ; Yamazaki, Kenichi ; Tanaka, Satoshi. / Parallelization of recursive preorder traversal based on building and winding call stacks. Proceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016. Vol. 2016-August IEEE Computer Society, 2016. pp. 570-579
@inproceedings{cf83d2d58c3342209c5da07672beda7c,
title = "Parallelization of recursive preorder traversal based on building and winding call stacks",
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.",
keywords = "Ordered general tree, Parallelization, Protocol Buffers, Recursive preorder traversal",
author = "Makoto Nakayama and Kenichi Yamazaki and Satoshi Tanaka",
year = "2016",
month = "8",
day = "2",
doi = "10.1109/IPDPSW.2016.18",
language = "English",
volume = "2016-August",
pages = "570--579",
booktitle = "Proceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016",
publisher = "IEEE Computer Society",

}

TY - GEN

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

AU - Nakayama, Makoto

AU - Yamazaki, Kenichi

AU - Tanaka, Satoshi

PY - 2016/8/2

Y1 - 2016/8/2

N2 - 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.

AB - 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.

KW - Ordered general tree

KW - Parallelization

KW - Protocol Buffers

KW - Recursive preorder traversal

UR - http://www.scopus.com/inward/record.url?scp=84991691572&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84991691572&partnerID=8YFLogxK

U2 - 10.1109/IPDPSW.2016.18

DO - 10.1109/IPDPSW.2016.18

M3 - Conference contribution

AN - SCOPUS:84991691572

VL - 2016-August

SP - 570

EP - 579

BT - Proceedings - 2016 IEEE 30th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2016

PB - IEEE Computer Society

ER -