[정보통신용어] 멀티프로세싱

multiprocessing – 멀티프로세싱

멀티프로세싱은 한 개 이상의 컴퓨터 프로세서들이 협력하여 프로그램들을 처리하는 것이다. 멀티프로세싱은 서로 협력하여 작업을 하고 있는 두 대 이상의 컴퓨터 중 한 대에 프로그램을 동적으로 할당하는 것을 의미하거나, 또는 같은 프로그램을 동시에 병렬로 처리하고 있는 여러 대의 컴퓨터들을 가리키는 일반적인 용어이다. 병렬처리의 출현과 함께, 멀티프로세싱은 SMP와 MPP로 나뉘어졌다. SMP에서, 프로세서들은 메모리와 I/O 버스 또는 데이터 경로를 공유하며, 한 개의 운영체계가 모든 프로세서들을 관장한다. SMP는 다른 말로 “모든 것을 공유하는 시스템”이라고 할 수 있는데, 프로세서의 개수는 대개 16개를 넘지 않는다. MPP는 최고 200개 이상의 프로세서들이 같은 프로그램을 처리할 수 있다. 각 프로세서들은 자신들만의 운영체계와 메모리를 각각 갖고 있지만, 프로세서들 간에 메시지를 주고받을 수 있는 데이터 경로의 배열은 서로 연결되어 있다. MPP에서는 프로세서들 간에 공유 데이터베이스의 분할을 어떻게 할 것인지, 프로세서들간에 작업을 어떻게 할당할 것인지 등에 관한 구상이 요구되므로, 설정이 더욱 복잡한 것이 보통이다. MPP 시스템은 “공유하는 것이 없는 시스템”으로 불리기도 한다. 멀티프로세싱을 하나의 프로세서에 두 개 이상의 프로그램이 교대로 실행되는 멀티프로그래밍과 혼동해서는 안된다. 멀티프로그래밍이라는 용어는 요즈음에는 대부분의 컴퓨터 운영체계가 멀티프로그래밍을 지원하므로 잘 쓰이지 않는 용어가 되었다. 또한 멀티프로세싱을, 프로그램들의 관리와 프로그램이 태스크로서 요청하는 시스템 서비스들이 공존하는 멀티태스킹이나, 컴퓨터를 통한 다중실행 경로의 관리와 여러 사용자들이 프로그램 하나를 공유하는 멀티스레딩 등과 혼동하지 않아야 한다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.