티스토리 뷰

728x90
반응형

 

여러 개의 컴퓨터를 연결하면 강력한 성능의 컴퓨터를 만들 수 있다는 생각, 클럭을 올리거나, CPI를 개선하는 것보다 에너지 측면에서 더욱 유리한 상황 -> 멀티프로세서(2개 이상의 프로세서로 구성된 컴퓨터 시스템)의 등장

 

장점으로 소프트웨어가 프로세서를 효율적으로 사용할 수 있다고 가정하면 작고 효율적인 프로세서로 단위 에너지당 성능을 개선할 수 있다. 프로세서를 늘리기만 하면 되므로 확장성는 컴퓨터 시스템을 만들 수 있다. 또한, 소프트웨어가 확장성이 있다면 일부 하드웨어가 고장이 나도 처리를 그대로 수행할 수 있으므로 가용성을 개선할 수 있다.

 

멀티프로세서에서 실행하는 프로그램의 유형에 따라 다른 용어를 사용한다. 독립적인 프로그램을 여러 개 실행하는 것을 태스크 수준 병렬성(task-level parallelism), 프로세스 수준 병렬성(process-level parallelism)이라고 한다. 한 개의 프로그램을 병렬적으로 수행할 때는 병렬처리프로그램(parallel processing program)이라는 용어를 사용한다.

 

여러 개의 프로세서를 하나의 칩으로 집적하였을 때는 이를 멀티코어 마이크로프로세서(Multicore Microprocessor)라고 한다. 집적되는 코어의 수는 MOORE의 법칙에 따라 증가할 것으로 예상되며, 이때 각 코어는 칩 내 메모리를 공유하여 사용한다는 특징이 있다.(shared memory processor, SMP)

 

멀티코어 프로세서가 등장하면서 프로그램을 빠르게 처리할 수 있는 기반이 갖추어졌지만 프로그램이 하드웨어를 제대로 활용하지 못하면 성능 향상을 이룰 수가 없다. 그래서 이러한 하드웨어를 효율적으로 사용하는 병렬 프로그램을 개발하는 사람과 툴이 매우 중요해지고 있다고 한다.

 

하드웨어의 병렬성과 하드웨어를 활용하는 소프트웨어의 병행성은 반드시 일치하지 않는다. 순차적으로 실행될 것이라고 생각하고 설계한 소프트웨어가 직렬 하드웨어뿐만 아니라 병렬 하드웨어에서도 실행될 수 있는 것이다. 이때 이러한 소프트웨어(병렬처리 프로그램)를 병렬 하드웨어에서 빠르게 수행되도록 수행이 자연스럽게 병렬화되게 하는 것이 병렬프로세서에서 중요한 쟁점이라고 한다.

 

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함