Computation-Communication Overlapping in AES-CCM Using Thread-Level Parallelism on a Multi-Core Processor

멀티코어 프로세서의 쓰레드-수준 병렬성을 활용한 AES-CCM 계산-통신 중첩화

  • 이은지 (고려대학교 컴퓨터정보학과) ;
  • 이성주 (고려대학교 컴퓨터정보학과) ;
  • 정용화 (고려대학교 컴퓨터정보학과) ;
  • 이명호 (명지대학교 컴퓨터소프트웨어학과) ;
  • 민병기 ((주)아스텔 부설연구소)
  • Received : 2009.12.24
  • Accepted : 2010.04.16
  • Published : 2010.08.15

Abstract

Multi-core processors are becoming increasingly popular. As they are widely adopted in embedded systems as well as desktop PC's, many multimedia applications are being parallelized on multi-core platforms. However, it is difficult to parallelize applications with inherent data dependencies such as encryption algorithms for multimedia data. In order to overcome this limit, we propose a technique to overlap computation and communication using an otherwise idle core in this paper. In particular, we interpret the problem of multimedia computation and communication as a pipeline design problem at the application program level, and derive an optimal number of stages in the pipeline.

최근 멀티코어 프로세서들이 범용 PC 뿐만 아니라 임베디드 시스템에서도 탑재될 만큼 그 사용이 보편화되고 있는 상황에서, 많은 멀티미디어 응용 프로그램이 이들을 활용하여 병렬화 되고 있다. 그러나 멀티미디어 데이터의 암호화와 같이 응용 프로그램에 데이터 종속성이 내재한 경우에는 멀티코어를 이용한 효과적인 병렬처리가 어렵다는 문제가 있다. 본 논문에서는 이러한 한계를 극복하기 위하여 유휴 코어를 이용하여 계산과 통신을 중첩시키는 병렬처리 기법을 제안한다. 특히, 주어진 멀티미디어 데이터를 처리하고 전송하는 문제를 응용 프로그램 수준의 파이프라인 설계 문제로 해석하여 최적의 파이프라인 단계수를 도출하는 방법을 제안한다.

Keywords

References

  1. D. Stinson, Cryptography: Theory and Practice, CRC Press, 2005.
  2. J. Black, "Authenticated Encryption," 2003.
  3. S. Akhter and J. Roberts, Multi-Core Programming - Increasing Performance through Software Multi-Threading, Intel Press, 2006.
  4. U. S. National Institute of Standards and Technology, "The Advanced Encryption Standard," Federal Information Processing Standard(FIPS) 197, 2002.
  5. N. Dworkin, "Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality," NIST Special Publication 800-38C, 2002.
  6. A. Samiah, A. Aziz, and N. Ikram, "An Efficient Software Implementation of AES-CCM for IEEE 802.11i Wireless Standard," Proc. of COMPSAC, pp.689-694, 2007.
  7. E. Lee, S. Lee, S. Hong, H. Choi, W. Choi, Y. Chung, B. Min, "Parallel Processing of AES-CCM," Proc. of the CISC 2009, vol.19, no.1, pp.199-202, 2009. (in Korean)
  8. D. Bae, J. Kim, S. Park, and O. Song, "Design and Implementation of IEEE 802.11i Architecture for Next Generation WLAN," Proc. of CISC 2005, LNCS 3822, pp.346-357, 2005.
  9. A. Sohn, et al., "Identifying the Capability of Overlapping Computation with Communication," Proc. of PACT, p.133, 1996.
  10. K. Ishizaki, H. Komatsu, and T. Nakatani, "A Loop Transformation Algorithm for Communication Overlapping," Intl. J. of Parallel Programming, vol.28, no.2, pp.135-154, 2000. https://doi.org/10.1023/A:1007554715418
  11. A. Danalis, et al., "Transformations to Parallel Codes for Communication-Computation Overlap," Proc. of SC, p.58, 2005.
  12. T. Hoefler and A. Lumsdaine, "Optimizing Non- Blocking Collective Operations for Infiniband," Proc. of CAC, 2008.
  13. B. Barney, POSIX Threads Programming, http:// www.llnl.gov/computing/tutorials/pthreads, 2006.
  14. C. Tseng, "Compiler Optimization for Eliminating Barrier Synchronization," Proc. of PPoPP, 1995.
  15. J. Lipman and Q. Stout, "A Performance Analysis of Local Synchronization," Proc. of SPAA, 2006.
  16. J. Hennessy and D. Patterson, Computer Architecture: A Quantitative Approach - Fourth Edition, Elsevier, 2007.