DOI QR코드

DOI QR Code

Reconfiguration of Apache Storm for InfiniBand Communications

InfiniBand RDMA 통신을 위한 Apache Storm의 재구성

  • 양석우 (강원대학교 컴퓨터과학과) ;
  • 손시운 (강원대학교 컴퓨터과학과) ;
  • 문양세 (강원대학교 컴퓨터과학과)
  • Received : 2018.03.05
  • Accepted : 2018.03.27
  • Published : 2018.08.31

Abstract

In this paper, we address how to apply Apache Storm, a distributed stream processing framework, to InfiniBand, a high performance communication device. An easy way to run Storm on InfiniBand is to simply use IPoIP (IP over InfiniBand). However, this method causes a serious CPU load on the node, which is caused by frequent context switches and buffer copies. To solve this problem, we propose a new communication method using InfiniBand's Remote Direct Memory Access (RDMA) function in Storm. First, we design and implement RJ-Netty (RDMA/JXIO Netty), a new framework that replaces Netty, the legacy framework, to exploit RDMA functionality. Second, we reimplement the related classes so that Storm can use both existing Netty and new RJ-Netty. Third, we extend the JXIO server functionality so as to support multi-threading to maximize the performance of RJ-Netty. Experimental results show that the proposed RJ-Netty significantly reduces CPU load while improving message throughput compared to IPoIB as well as Ethernet. This paper is the first attempt to run Apache Storm on InfiniBand, and we believe that it is an excellent research result that improves the performance of Storm by using InfiniBand RDMA.

본 논문에서는 분산 스트림 처리 프레임워크인 Apache Storm을 고성능 통신 장비인 InfiniBand에 적용하는 방안을 다룬다. InfiniBand 상에서 Storm을 동작시키는 쉬운 방법은 IPoIB (IP over InfiniBand)를 사용하는 것이다. 그러나 이 방법은 노드에 심각한 CPU 부하를 발생시키는데, 이는 잦은 문맥 전환과 버퍼 복사에서 기인하는 것으로 나타났다. 이를 해결하기 위해, Storm에서 InfiniBand의 RDMA (Remote Direct Memory Access) 기능을 사용하는 새로운 통신 방식을 제안한다. 첫째, Storm에서 RDMA 기능을 이용하기 위해, 기존 통신 프레임워크인 Netty를 대체하는 새로운 프레임워크인 RJ-Netty (RDMA/JXIO Netty)를 설계 및 구현한다. 둘째, Storm이 기존 Netty와 RJ-Netty를 모두 사용할 수 있도록 관련 클래스들을 개선한다. 셋째, RJ-Netty의 성능을 최대화하기 위해 멀티스레드를 지원하도록 JXIO 서버 기능을 개선한다. 실험 결과, 제안한 RJ-Netty는 Ethernet은 물론 IPoIB에 비해서 메시지 처리량을 향상시키면서도 CPU 부하를 크게 줄인 것으로 나타났다. 본 논문은 Apache Storm을 InfiniBand 상에서 동작시킨 최초의 시도로, 고성능의 InfiniBand RDMA를 사용하여 Storm의 처리 성능을 향상시킨 우수한 연구 결과라 사료된다.

Keywords

References

  1. Apache Hadoop [Internet], http://hadoop.apache.org/.
  2. Apache Storm [Internet], http://storm.apache.org/.
  3. A. Toshniwal, S. Taneja, A. Shukla, K. Ramasamy, J. M. Patel, S. Kulkarni, J. Jackson, K. Gade, M. Fu, J. Donham, N. Bhagat, S. Mittal, and D. Ryaboy, "Storm@Twitter," In Proc. of the Int'l Conf. on Management of Data, ACM SIGMOD, Snowbird, Utah, pp.147-156, Jun. 2014.
  4. P. Goetz and B. O'Neill, Storm Blueprints: Patterns for Distributed Real-time Computation, Packt Publishing, Mar. 2014.
  5. Apache Spark [Internet], https://spark.apache.org/.
  6. Apache S4 [Internet], http://incubator.apache.org/projects/s4.html/.
  7. Apache Flink [Internet], https://flink.apache.org/.
  8. Infiniband Trade Association [Internet], http://www.infinibandta.org/.
  9. X. Lu, N. S. Islam, M. Wasi-Ur-Rahman, J. Jose, H. Subramoni, H. Wang, and D. K. Panda, "High-performance Design of Hadoop RPC with RDMA over InfiniBand," In Proc. of the IEEE 42nd Int'l Conf. on Parallel Processing (ICPP), Lyon, France, pp.641-650, Oct. 2013.
  10. X. Lu, M. Wasi-Ur-Rahman, N. Islam, D. Shankar, and D. K. Panda, "Accelerating Spark with RDMA for Big Data Processing: Early Experiences," In Proc. of the IEEE 22nd Annual Symp. on High-performance Interconnects, Mountain View, CA, pp.9-16, Aug. 2014.
  11. J. Huang, X. Ouyang, J. Jose, M. Wasi-Ur-Rahman, H. Wang, M. Luo, H. Subramoni, C. Murthy, and D. K. Panda, "High-performance Design of HBase with RDMA over InfiniBand," In Proc. of the IEEE 26th Int'l Parallel and Distributed Processing Symp. (IPDPS), Shanghai, China, pp. 774-785, May 2012.
  12. M. Wasi-Ur-Rahman, N. S. Islam, X. Lu, J. Jose, H. Subramoni, H. Wang, and D. K. Panda, "High-performance RDMA-based Design of Hadoop MapReduce over InfiniBand," In Proc. of the IEEE 27th Int'l Parallel and Distributed Processing Symp. Workshops (IPDPSW), Cambridge, MA, pp. 1908-1917, May 2013.
  13. N. S. Islam, M. Wasi-Ur-Rahman, J. Jose, R. Rajachandrasekar, H. Wang, H. Subramoni, C. Murthy, and D. K. Panda, "High Performance RDMA-based Design of HDFS over InfiniBand," In Proc. of the Int'l Conf. on High Performance Computing, Networking, Storage, and Analysis, Salt Lake City, UT, pp.1-12, Nov. 2012.
  14. Netty [Internet], https://netty.io/.
  15. Context Switch [Internet], https://en.wikipedia.org/wiki/Context_switch/.
  16. JXIO [Internet], https://github.com/accelio/JXIO/.
  17. Apache Zookeeper [Internet], http://zookeeper.apache.org/.
  18. P. Hunt, M. Konar, F. P. Junqueira, and B. Reed, "Zookeeper: Wait-free Coordination for Internet-scale Systems," In Proc. of the USENIX Annual Technical Conf., Boston, MA, pp.1-6, Jun. 2010.
  19. Apache Thrift [Internet], https://thrift.apache.org/.
  20. Accelio (Official website) [Internet], http://www.accelio.org/.
  21. Accelio (Open source) [Internet], https://github.com/accelio/accelio/.
  22. Lmax disruptor [Internet], https://lmax-exchange.github.io/disruptor/.