Abstract
A structured XML has been widely used to present services on various Web-services. The XML is also used for digital documents and digital signatures and for the representation of multimedia files in email systems. The XML document should be firstly parsed to access elements in the XML. The parsing is the most compute-instensive task in the use of XML documents. Most of the previous work has focused on hardware based XML parsers in order to improve parsing performance, while a little work has studied parsing techniques. We present the high performance parsing technique which can be used all of XML parsers and design hardware based XML parser using an FPGA. The proposed parsing technique uses element analyzers instead of the state machine and performs multibyte-based element matching. As a result, our parsing technique can reduce the number of clock cycles per byte(CPB) and does not need to require any preprocessing, such as loading XML data into memory. Compared to other parsers, our parser acheives 1.33~1.82 times improvement in the system performance. Therefore, the proposed parsing technique can process XML documents in real time and is suitable for applying to all of XML parsers.
다양한 웹 서비스들은 서비스의 제공을 위해서 구조화된 표준문서인 XML(eXtensible Markup Language)을 널리 사용하고 있으며, 모바일 환경에서의 전자문서 및 전자서명 그리고 메일시스템에서도 XML이 사용되고 있다. XML을 사용하기 위해서는 문서의 파싱이 요구되며, 이는 XML 처리에서 가장 계산 집중적 작업이다. 따라서, XML 파싱 성능을 높이기 위해 하드웨어 기반의 파서들이 제안되어 성능 향상에 초점을 맞추고 있지만 실제 파싱 기법들에 대한 연구는 거의 이루어지지 않았다. 본 논문에서는 파서의 종류와 상관없이 사용될 수 있는 고성능 XML 파싱 기법을 제안하고 FPGA를 이용하여 파서를 설계하여 검증하였다. 제안된 파싱 기법은 상태머신 대신에 엘리먼트 분석기들을 사용하며 다중바이트 단위 엘리먼트 매칭을 수행한다. 제안된 파싱 기법은 CPB 항목에서 약 2~4배의 소비 클록을 감소시켰으며 파싱 이전에 전처리작업을 요구하지 않는다. 다른 파서들과 비교하여 제안된 파서는 약 1.33~1.82배 속도를 향상시켰다. 따라서, 제안된 파싱 기법은 실시간 XML 파싱이 가능하며 일반적인 XML 파서들에서도 적용할 수 있는 적합한 구조를 갖는다.