APPARATUS AND METHOD FOR PARALLELIZING AND COMPILING PACKET PROCESSING PROGRAM
The present invention provides a compilation device and method. The device comprises: a front end unit for converting a source code to be compiled into an intermediate expression of a front end according to a predetermined method; and a back end unit for dividing a plurality of tables representing a...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Patent |
Sprache: | eng ; kor |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The present invention provides a compilation device and method. The device comprises: a front end unit for converting a source code to be compiled into an intermediate expression of a front end according to a predetermined method; and a back end unit for dividing a plurality of tables representing an operation command by analyzing the intermediate expression of the front end, dividing each of the plurality of tables into a match area in which a key for determining whether or not it is a target of command execution is described and an action area in which an operation to be performed is described, decomposing the match area and the action area into a basic block unit, which is a basic unit of operation of a processor, and generating a packet processing program code corresponding to the source code by analyzing the dependencies between the decomposed basic blocks and performing parallelization and combination. Therefore, a packet processing program capable of high-speed processing can be generated, and a packet processing program optimized even under various constraints can be generated.
본 발명은 컴파일 대상이 되는 소스 코드를 기지정된 방식에 따라 전단 중간 표현으로 변환하는 전단부 및 전단 중간 표현을 분석하여 동작 명령을 나타내는 다수의 테이블을 구분하고, 다수의 테이블 각각을 명령 실행의 대상인지 여부를 판별하기 위한 키가 기술되는 매치 영역과 수행해야 하는 동작이 기술된 액션 영역으로 구분한 후, 매치 영역과 액션 영역을 프로세서의 동작 기본 단위인 베이직 블록 단위로 분해하고, 분해된 베이직 블록 사이의 의존성을 분석하여 병렬화 및 결합하여 소스 코드에 대응하는 패킷 프로세싱 프로그램 코드를 생성하는 후단부를 포함하여, 고속 프로세싱이 가능한 패킷 프로세싱 프로그램을 생성할 수 있고, 다양한 제약 조건에서도 최적화된 패킷 프로세싱 프로그램을 생성할 수 있는 컴파일 장치 및 방법을 제공할 수 있다. |
---|