요약 |
본 발명의 일 실시예에 따른 PCI 익스프레스 기반의 연결통신망에서 배리어 구현 방법에 있어서, 사용자 수준에서 PE(PCI Express) 노드에서 DMA 데이터 전송시 증가하는 제1 카운트 값을 커널 수준의 드라이버에 전달하는 단계, 상기 커널 수준의 드라이버는 DMA 데이터 전송이 완료되어 인터럽트가 발생될 때마다 인터럽트 핸들러를 통해 카운터를 증가시킨 값인 제2 카운트 값과, 상기 제1 카운트 값을 비교하여, 두 값이 같아질 때까지 대기하고, 두 값이 같아지면 모든 DMA 데이터 전송이 완료된 것으로 확인하는 단계, 상기 커널 수준의 드라이버는 모든 DMA 데이터 전송이 완료된 것으로 확인되면, 배리어가 호출되었음을 알리기 위해, 다른 PE 노드들에게 도어벨 인터럽트를 발생시키는 단계, 상기 커널 수준의 드라이버는 배리어가 실행될 때마다 카운트하고, 이 배리어 카운트 값에 자신을 제외한 다른 PE 노드의 수를 더하여 제1 배리어 카운트 값을 산출하는 단계 및 상기 커널 수준의 드라이버는 다른 PE 노드가 인터럽트를 발생시킬 때마다 인터럽트 핸들러를 통해 인터럽트의 수를 증가시킨 제1 인터럽트 카운트 값과, 상기 제1 배리어 카운트 값을 비교하여, 두 값이 같아질 때까지 대기하고, 두 값이 같아지면 모든 PE 노드들의 배리어 수행이 완료된 것으로 확인하는 단계를 포함한다. 본 발명에 의하면, 인피니밴드(Infiniband)와 같은 초고성능 통신이 가능하면서도, 원가를 절감할 수 있는 효과가 있다.
|