추천, 2024

에디터의 선택

다중 처리 및 다중 스레드 간의 차이점

다중 처리 및 다중 스레딩은 시스템에 성능을 추가합니다. 멀티 프로세싱 은 더 많은 수의 CPU / 프로세서를 시스템에 추가함으로써 시스템의 컴퓨팅 속도를 향상시킵니다. 멀티 스레딩 은 프로세스가 시스템의 응답 성을 높이는 스레드를 더 많이 생성 할 수있게합니다. 아래에 표시된 비교 차트의 도움으로 논의한 멀티 프로세싱과 멀티 스레딩 간의 차이점을 파악했습니다.

비교 차트

비교의 근거다중 처리멀티 스레딩
기본멀티 프로세싱은 CPU를 추가하여 컴퓨팅 성능을 향상시킵니다.멀티 스레딩은 단일 프로세스의 여러 스레드를 만들어 컴퓨팅 성능을 향상시킵니다.
실행여러 프로세스가 동시에 실행됩니다.단일 프로세스의 여러 스레드가 동시에 실행됩니다.
창조프로세스 생성은 시간 소모적이며 리소스 집약적입니다.쓰레드 생성은 감지 시간과 자원 모두에서 경제적입니다.
분류다중 처리는 대칭 또는 비대칭 일 수 있습니다.멀티 스레딩은 분류되지 않습니다.

다중 처리의 정의

다중 처리 시스템은 두 개 이상의 프로세서를 가진 시스템입니다. 시스템의 컴퓨팅 속도를 높이기 위해 CPU가 시스템에 추가됩니다. 각 CPU에는 고유 한 레지스터 세트와 주 메모리가 있습니다. CPU가 분리되어 있기 때문에 하나의 CPU가 처리 할 수있는 아무 것도 없어야하고 유휴 상태 일 수 있으며 다른 프로세서는 프로세스에 과부하가 걸릴 수 있습니다. 이러한 경우 프로세스와 리소스는 프로세서간에 동적으로 공유됩니다.

다중 처리는 대칭 다중 처리비대칭 다중 처리 로 분류 할 수 있습니다. 대칭 다중 처리에서는 모든 프로세서가 시스템의 모든 프로세스를 자유롭게 실행할 수 있습니다. 비대칭 형 멀티 프로세싱에서는 프로세서간에 마스터 - 슬레이브 관계가 있습니다. 마스터 프로세서는 슬레이브 프로세서에 프로세스를 할당합니다.

프로세서에 메모리 컨트롤러내장 된 경우 프로세서를 추가하면 시스템의 메모리 주소가 증가합니다. 다중 처리는 메모리 액세스 모델을 균일 한 메모리 액세스 에서 불균일 한 메모리 액세스 로 변경할 수 있습니다. 균일 한 메모리 액세스는 모든 프로세서에서 모든 RAM에 액세스하는 데 동일한 시간을 소비합니다. 반면에, 비 균일 메모리 액세스는 다른 부분보다 메모리의 일부분에 액세스하는 데 더 많은 시간을 필요로합니다.

멀티 스레딩의 정의

멀티 스레딩은 프로세스의 컨텍스트 내에서 단일 프로세스의 여러 스레드를 동시에 실행하는 것입니다. 이제 스레드가 무엇인지에 대해 먼저 논의 해 보겠습니다. 프로세스의 스레드는 자체 스레드 ID, 프로그램 카운터, 레지스터 및 스택을 가지며 독립적으로 실행할 수있는 프로세스의 코드 세그먼트를 의미합니다. 그러나 동일한 프로세스에 속하는 스레드는 코드, 데이터 및 시스템 자원과 같은 프로세스의 소유물을 공유해야합니다. 각 서비스 요청에 대해 별도의 프로세스를 작성하면 시간을 소비하고 시스템 자원을 소모합니다. 이 오버 헤드가 발생하는 대신 프로세스의 스레드를 만드는 것이 더 효율적입니다.

멀티 스레딩 개념을 이해하려면 워드 프로세서를 예로 들어 보겠습니다. 워드 프로세서는 그래픽을 표시하고 키 입력에 응답하며 철자 및 문법 검사를 계속합니다. 이 작업을 동시에 수행하기 위해 다른 워드 프로세서를 열 필요는 없습니다. 하나의 워드 프로세서에서 여러 스레드를 사용하여 발생합니다.

이제 멀티 스레딩의 이점을 고려해 보겠습니다. 멀티 스레딩은 프로세스의 한 스레드가 차단되거나 긴 작업을 수행하는 것처럼 응답 을 증가 시키지만 프로세스는 계속됩니다. 다중 스레드의 두 번째 이점은 프로세스의 여러 스레드가 동일한 주소 공간에서 동일한 코드 및 데이터를 공유 하므로 자원 공유 입니다.

쓰레드를 생성하는 것은 자신이 속한 프로세스의 코드와 데이터를 공유하므로 경제적 입니다. 따라서 시스템은 각 스레드에 대해 개별적으로 자원을 할당 할 필요가 없습니다. 멀티 프로세싱 운영 체제에서 멀티 스레딩을 늘릴 수 있습니다. 다중 CPU에서의 멀티 스레딩은 병렬 처리를 증가시킵니다.

멀티 프로세싱과 멀티 스레딩의 주요 차이점

  1. 멀티 프로세싱과 멀티 스레딩의 주요 차이점은 멀티 프로세싱을 사용하면 시스템에 2 개 이상의 CPU가 추가되는 반면 멀티 스레딩을 사용하면 프로세스가 여러 스레드를 생성하여 시스템의 컴퓨팅 속도를 높일 수 있다는 것입니다.
  2. 다중 처리 시스템은 동시에 여러 프로세스를 실행하지만, 다중 스레드 시스템은 프로세스의 여러 스레드 를 동시에 실행합니다.
  3. 프로세스를 작성하면 시간소비 하고 시스템 자원을 고갈시킬 수 있습니다 . 그러나 스레드를 생성하는 것은 동일한 프로세스에 속한 스레드가 해당 프로세스의 소품을 공유하므로 경제적 입니다.
  4. 멀티 프로세싱은 대칭 멀티 프로세싱비대칭 멀티 프로세싱 으로 분류 할 수 있지만 멀티 스레딩은 더 이상 분류되지 않습니다.

결론:

멀티 프로세싱 시스템에서 멀티 스레딩이 병렬 처리를 증가 시키므로 멀티 프로세싱 환경에서 멀티 스레딩의 이점을 점차적으로 증가시킬 수 있습니다.

Top