Enabling multi-core based monitoring and fault tolerance in C++/Java

  • Authors:
  • Lu Yang;Liqian Yu;Jianwen Tang;Linzhang Wang;Jianhua Zhao;Xuandong Li

  • Affiliations:
  • Nanjing University, Nanjing, Jiangsu, P.R. China;Nanjing University, Nanjing, Jiangsu, P.R. China;Nanjing University, Nanjing, Jiangsu, P.R. China;Nanjing University, Nanjing, Jiangsu, P.R. China;Nanjing University, Nanjing, Jiangsu, P.R. China;Nanjing University, Nanjing, Jiangsu, P.R. China

  • Venue:
  • Proceedings of the 3rd International Workshop on Multicore Software Engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Monitoring and fault tolerance are important approaches to give high confidence in long-running online software systems. But these approaches will certainly cause high overhead cost, i.e. the loss of efficiency. Multi-core platforms can make such cost acceptable because of the parallel performance advantage. For allowing ordinary software developers without any knowledge of multi-core platforms to handle such programming tasks more efficiently, we propose an approach to enable multi-core based monitoring and fault tolerance in C++/Java. First, the preliminary principles of multi-core based monitoring and fault tolerance are presented. Based on these principles, monitoring and fault tolerance tasks are designed and implemented via multi-process/thread programming, i.e. each monitoring and fault tolerance module is designed and implemented as a separate process/thread. Then, we introduce a group of special annotations for ordinary software developers to specify a simple and virtual multi-core based design. Finally, according to these annotations, an automatic mapping to a given runtime platform is established via a prototype tool McC++/Java. Our approach is suitable for wide range of software developers, which can hide the programming details on multi-core platforms from them and reduce their work load.