ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 병렬 컴퓨팅의 기본 개념
    IT 2021. 6. 4. 18:39
    반응형

    병렬 컴퓨팅은 많은 명령이 동시에 실행되는 계산의 한 형태입니다. 큰 문제가 종종 작은 문제로 나눌 수 있다는 원칙에 따라 작동하여 동시에 (병렬로) 해결됩니다. 비트 레벨 병렬 분석, 명령 수준 병렬 분석, 데이터 병렬화, 작업 병렬화와 같은 여러 가지 형태의 병렬 컴퓨팅이 있습니다. 병렬은 특히 고성능 컴퓨팅에서 수년 동안 사용되어 왔지만, 최근 빈도 증가를 방지하는 물리적 한계로 인해 이에 대한 관심이 커졌습니다. 에너지 소비와 따라서 컴퓨터의 열 생성이 최근 몇 년 동안 우려되고 있습니다. 병렬 컴퓨팅은 주로 멀티코어 프로세서의 형태로 컴퓨터 아키텍처에서 지배적인 패러다임이 되었습니다.

    병렬 컴퓨터는 하드웨어가 지원하는 병렬성 수준에 따라 분류될 수 있습니다. 단일 컴퓨터 및 클러스터 내에 여러 처리 요소가 있는 멀티코어 및 멀티 프로세서 프로세서가 있는 컴퓨터, 여러 컴퓨터를 사용하여 동일한 작업을 수행하는 MPPS 및 그리드가 그렇습니다. 종종 특정 작업을 가속화하기 위해 기존 프로세서와 함께 특수 병렬 컴퓨팅 아키텍처를 사용합니다. 병렬 소프트웨어는 순차적 소프트웨어보다 쓰기가 더 어렵습니다. 동시성은 새로운 유형의 소프트웨어 오류를 도입하기 때문에 인종 조건이 가장 일반적입니다. 서로 다른 하위 작업 간의 통신 및 동기화는 병렬 프로그램에서 좋은 성능을 얻는 데 가장 큰 장애물 중 일부입니다.

    병렬화의 결과로 프로그램의 최대 가속을 Amdahl의 법칙으로 알려져 있습니다. 전통적으로 컴퓨터 프로그램은 시리얼 컴퓨팅을 위해 작성되었습니다. 문제를 해결하기 위해 알고리즘을 일련의 지침 스트림으로 구성하고 구현합니다. 이러한 지침은 컴퓨터의 중앙 처리 장치에서 실행됩니다. 한 번에 하나의 문만 실행할 수 있으며 문이 완료된 후 한 번 다음 문이 실행됩니다. 반면 병렬 컴퓨팅은 동시에 여러 처리 요소를 사용하여 문제를 해결합니다. 이는 각 처리 요소가 알고리즘의 일부를 다른 요소와 동시에 실행할 수 있도록 문제를 별도의 부분으로 나누어 수행됩니다. 처리 요소는 다양하며 여러 프로세서가 있는 컴퓨터, 여러 네트워크 컴퓨터, 특수 하드웨어 또는 위의 조합과 같은 리소스가 포함됩니다.

    1980년대 중반부터 2004년까지 컴퓨터 성능이 개선된 주된 이유였던 빈도 증가가 개선을 이끌었습니다. 프로그램의 실행 시간은 명령당 평균 시간을 곱한 명령 수와 같습니다. 다른 모든 것을 일정하게 유지하면서 클럭 주파수를 늘리면 명령을 실행하는데 걸리는 평균 시간이 줄어들므로 주파수가 증가하면 컴퓨터 프로그램의 실행 시간이 줄어듭니다. 그러나 칩의 전력 소비는 P = C × V2 × F에 의해 주어지며, 여기서 P는 전력이며, C는 클럭 주기당 커패시턴스의 변화이며, 이는 입력이 변경되는 트랜지스터의 수에 비례합니다. 공식의 V는 전압이고, F는 프로세서 주파수(초당 사이클)이다. 주파수가 증가하면 프로세서에 사용되는 전력의 양이 증가합니다. 프로세서 전력 소비 증가로 인해 인텔은 2004년 5월 텍사스와 Jayhawk 프로세서를 취소했으며, 일반적으로 컴퓨터 아키텍처의 지배적인 패러다임으로 주파수 스케일링의 끝으로 언급됩니다.

    무어의 법칙은 마이크로 프로세서의 트랜지스터 밀도가 18~24개월마다 두 배가 된다는 경험적 관측입니다. 에너지 소비의 문제와 그 종말에 대한 반복적인 예측에도 불구하고 무어의 법칙은 여전히 유효합니다. 주파수를 늘리기 위해 주파수 증가에 더 이상 사용되지 않는 이러한 추가 트랜지스터를 사용하여 병렬 컴퓨팅을 사용하도록 하드웨어를 추가하는 데 사용할 수 있습니다. 이상적으로 병렬화의 가속은 선형이며 처리 요소 수를 두 배로 늘려 실행 시간을 절반으로 줄이고 두 번째로 두 배로 늘려 시간을 다시 절반으로 줄여야 합니다. 그러나 최적의 가속을 달성하는 병렬 알고리즘은 거의 없습니다. 대부분은 소수의 처리 요소에 대해 거의 선형 가속을 가지며 많은 수의 처리 요소에 대해 일정하게 됩니다. 병렬 컴퓨팅 플랫폼에서 알고리즘의 잠재적인 가속은 원래 1960 년대에 진 암달에 의해 공식화된 Amdahl의 법에 의해 제공됩니다. 병렬화할 수 없는 프로그램의 작은 부분은 병렬화로 달성되는 가속도를 제한할 것이라는 점을 지적합니다. 수학 또는 엔지니어링 문제를 해결하는 프로그램은 일반적으로 여러 병렬화 및 여러 병렬화할 수 없는 (순차적) 부분으로 구성됩니다.

    'IT' 카테고리의 다른 글

    데이터 일관성 모델이란  (0) 2021.06.05
    병렬식 컴퓨터가 가지는 특징  (0) 2021.06.05
    클럭 주파수와 CPU와의 관계  (0) 2021.06.04
    컴퓨터가 인식하는 숫자의 범위  (0) 2021.06.04
    컴퓨터 CPU의 작업 순서  (0) 2021.06.04
Designed by Tistory.