실시간 다중 프로세스 트레이스 스트림 디코더 구현에 관한 연구

A Study on Implementation of Real-Time Multiprocess Trace Stream Decoder

  • 김현철 (남서울대학교 컴퓨터소프트웨어학과) ;
  • 김영수 (한국전자통신연구원) ;
  • 김종현 (한국전자통신연구원)
  • 투고 : 2018.11.30
  • 심사 : 2018.12.30
  • 발행 : 2018.12.31

초록

소프트웨어 공학 관점에서 트레이싱은 프로그램의 실행 정보를 기록하는 로깅의 특수한 형태이다. 엄청난 데이터를 실시간으로 생성하고 디코딩해야 하는 트레이서의 특징상 전용 하드웨어를 사용하는 트레이서가 많이 사용되고 있다. Intel(R) PT는 전용 하드웨어를 사용하여 각 하드웨어 쓰레드에서 소프트웨어 실행에 대한 모든 정보를 기록한다. 소프트웨어 실행이 완료되면 PT는 해당 소프트웨어의 트레이스 데이터를 처리하여 정확한 프로그램 흐름을 재구성할 수 있다. 하드웨어 트레이스 프로그램은 운영체제에 통합되어 사용할 수 있으나 윈도우 시스템의 경우에는 커널 개방과 같은 문제로 인하여 긴밀한 통합은 이루어지지 않고 있다. 또한, 단일 프로세스만 트레이스 할 수 있고 다중 프로세스 스트림을 트레이스 하는 방법은 제공하고 있지 않다. 본 논문에서는 이러한 단점을 극복하고자 윈도우 환경에서 다중 프로세스 스트림을 트레이스 지원이 가능하도록 기존의 PT 트레이스 프로그램을 확장하는 방안을 제안하였다.

From a software engineering point of view, tracing is a special form of logging that records program execution information. Tracers using dedicated hardware are often used because of the characteristics of tracers that need to generate and decode huge amounts of data in real time. Intel(R) PT uses proprietary hardware to record all information about software execution on each hardware thread. When the software execution is completed, the PT can process the trace data of the software and reconstruct the correct program flow. The hardware trace program can be integrated into the operating system, but in the case of the window system, the integration is not tight due to problems such as the kernel opening. Also, it is possible to trace only a single process and not provide a way to trace multiple process streams. In this paper, we propose a method to extend existing PT trace program to support multi - process stream traceability in Windows environment in order to overcome these disadvantages.

키워드

참고문헌

  1. Napoleon C. Paxton, "Cloud Security: A Review of Current Issues and Proposed Solutions," International Conference on Collaboration and Internet Computing (CIC), pp. 452-455, 2016.
  2. Tahira Mahboob; Maryam Zahid; Gulnoor Ahmad, "Adopting information security techniques for cloud computing-A survey," International Conference on Information Technology, Information Systems and Electrical Engineering (ICITISEE), pp. 7-11, 2016.
  3. Jorg Thalheim; Pramod Bhatotia; Christof Fetzer, "INSPECTOR: Data Provenance Using Intel Processor Trace (PT)," International Conference on Distributed Computing Systems (ICDCS), pp. 25-34, 2016.
  4. Khalid El Makkaoui; Abdellah Ezzati; Abderrahim Beni-Hssane; Cina Motamed, "Cloud security and privacy model for providing secure cloud services," 2016 2nd International Conference on Cloud Computing Technologies and Applications (CloudTech), pp. 81-86, 2016.
  5. Bob Duncan; Alfred Bratterud; Andreas Happe, "Enhancing cloud security and privacy: Time for a new approach?," International Conference on Innovative Computing Technology (INTECH), pp. 110-115, 2016.
  6. Sin-Fu Lai; Hui-Kai Su; Wen-Hsu Hsiao; Kim-Joan Chen, "Design and implementation of cloud security defense system with software defined networking technologies," International Conference on Information and Communication Technology Convergence (ICTC), pp. 292-207, 2016.
  7. Andi Kleen, "Simple Intel CPU processor tracing on Linux," https://github.com/andikleen/simple-pt