Int J Performability Eng ›› 2019, Vol. 15 ›› Issue (3): 1045-1052.doi: 10.23940/ijpe.19.03.p34.10451052

Previous Articles     Next Articles

Fast AIS Data Decoding Algorithm for Multi-Core CPU

Xiangkun Zenga, *, Huaran Yanb, Yingjie Xiaob, and Xiaoming Yangc   

  1. a College of Information Engineering, Shanghai Maritime University, Shanghai, 201306, China;
    b Merchant Marine College, Shanghai Maritime University, Shanghai, 201306, China;
    c Shanghai Offshore Engineering Research Institute, Shanghai Maritime University, Shanghai, 201306, China
  • Submitted on ; Revised on ;
  • Contact: xiangkun_zeng@vip.163.com
  • About author:Xiangkun Zeng is a Ph.D. candidate and lecturer in the College of Information Engineering at Shanghai Maritime University. His current research interests include intelligent transportation, data mining, and machine learning.Huaran Yan is a Ph.D. candidate and lecturer in the Merchant Marine College at Shanghai Maritime University. His current research interests include traffic information engineering and control and traffic flow theory.Yingjie Xiao is a professor and captain in the Merchant Marine College at Shanghai Maritime University. His current research interests include information engineering and control and ship and ocean engineering.Xiaoming Yang is a Ph.D. He is currently working in the Shanghai offshore Engineering Research Institute in Shanghai Maritime University. His research interests include operation research, simulation and optimizations.

Abstract: According to the provisions of the SOLAS convention, more than 600,000 ships in the world have installed automatic identification systems, which can produce more than 3 billion lines of AIS message data every day. The large amount of AIS message data provides many applications. At the same time, the design of efficient decoding of AIS messages has become a new problem. The former AIS message decoding methods mostly use online real-time decoding and decode the messages line by line according to the order of messages. These methods are slow and inefficient when decoding large amounts of AIS messages, and they cannot use multi-core CPU computing power to the extreme. In this paper, the decoding process is decomposed into several steps such as data reading, single-line message filtering, multi-line message filtering, single-line message binary transcoding, multi-line message binary transcoding, binary code decoding, and preservation results. Because multi-line message filtering and multi-line message binary transcoding are difficult to perform in parallel, these two steps are performed in serial, while the other steps are run in parallel. For binary code decoding, which consumes the largest computing resources in the process, the data is blocked first, and then decoding tasks are created and run in parallel. This method makes full use of the parallel computing capability of multi-core CPU and achieves high speed in the running test.

Key words: big AIS data, decode, multi-core CPU, parallel