A distributed, shared-memory multiprocessor architecture based on a hierarchical bus system is proposed. The architecture consists of processors and memory modules interconnected by a hierarchy of buses and controllers. The system forms a tree structure with processors at the leaves of the tree. Main memory is distributed among the groups of processors. Each bottom level bus forms a multiprocessor cluster. The cluster architecture exploits the locality property(cluster locality) of parallel programs and the efficiency of the cache coherency. Each cluster is connected to a higher level bus through a controller which controls propagation of bus operations that are not related. The controller has a bit directory only for memory blocks instead of cluster cache. The bit represents a sharing state which indicates the local block cached remotely and also the remote block cached locally. The controller controls a propagation of the bus operation through the content of the bit directory. The controller provides the cache-to-cache transfers between clusters through the bit directory. Therefore the set of processor caches acts as a cluster cache. A high performance microprocessor recently developed with large processor cache can be used as a processing element without a overhead of the cluster cache by the Multilevel Inclusion Property. It is shown that this architecture provides multi-cache coherency and efficient synchronization, and also the traffic of each level of bus is well balanced. Results of simulations are presented, which show that a large scale multiprocessor can be constructed using this architecture which will achieve a substantial fraction of its peak performance.
컴퓨터 제조 기술의 눈부신 발전과 보다 높은 성능을 요구하는 응용 분야의 폭발적인 증대로 인하여 대규모 다중 처리의 필요성이 대두되면서 다중 처리 컴퓨터 구조에 대한 많은 연구가 있었다. 공유 메모리 방식의 다중컴퓨터는 프로그램이 용이하고 확장성이 뛰어나 대규모 병렬 시스템을 구축하기가 용이한 구조로서 많은 연구가 활발히 진행되어 왔으며 산업용 및 연구용의 여러 시스템들이 구현된 바 있다.
본 논문에서는 분산 공유 메모리 방식의 다중처리기를 위한 계층 버스 구조를 제안하였다. 이 구조에서는 프로세서들과 메모리 모듈들이 버스와 콘트롤러로 이루어진 계층 구조에 의해 연결되어 있다. 그러므로 전체 시스템은 각 프로세서가 가지의 끝을 이루는 나무구조로 된다. 주 기억장치는 클러스터를 구성하고 있는 프로세서들의 집합군에 분산되어 있다. 클러스터구조는 병렬 처리 프로그램들의 특성을 잘 나타낼 수 있으며 캐쉬 일관성 유지에 대한 효과적인 처리를 할 수 있다. 각 클러스터는 버스 동작의 확산을 조절하는 콘트롤러를 통하여 상위의 계층으로 연결된다. 클러스터에는 캐쉬대신에 각 메모리블록의 공유 상태를 나타내는 비트 사전이 있다. 비트 사전의 각 비트는 전역적으로 캐쉬된 지역 메모리와 지역적으로 캐쉬된 전역 메모리의 상태를 나타낸다. 콘트롤러는 비트 사전의 내용에 따라 버스 동작의 확산을 조절한다. 캐쉬와 캐쉬 사이의 자료의 이동도 역시 비트 사전의 도움을 통하여 이루어진다. 그러므로 프로세서 캐쉬의 집합은 클러스터 캐쉬의 역활을 대신한다. 그리하여 클러스터 캐쉬에 의한 비용 증가 없이 최근에 개발된 매우 큰 프로세서 캐쉬를 가지고 있는 마이크로 프로세서를 요소 처리기로써 사용할 수있게 된다.
제안한 다중 처리기의 성능을 평가하기 위하여 작업 부하에 의한 성능 평가 실험을 하였으며, 실험 결과 본 논문에서 제안한 다중 처리 컴퓨터 구조는 다중 캐쉬의 일관성 유지와 효과적인 동기방식을 제공하며, 또한 계층을 이루는 각 버스들의 부하도 균형이 잘 잡혀져 있는 것을 보여 주었다. 제안된 다중처리 컴퓨터 구조를 이용하여 나타낼 수있는 최고 성능에 필적하는 효과를 얻을 수 있는 대 용량 다중 처리 시스템이 구성 될 수 있음을 보여 주었다.