전공/컴퓨터구조개론 2

[컴퓨터구조개론 : 병렬프로세서] 병렬처리 프로그램

병렬프로세싱에서 부딪히는 문제점은 병렬 하드웨어를 성능향상에 활용하는 병렬처리프로그램이 많지 않다는 것이다. 병렬처리프로그램은 작성하는 데 많은 어려움을 겪는다. 병렬 프로세서가 처리할 수 있도록 프로그램을 조각내고, 이를 균등하게 맞추어야 하며, 각 프로세서 간 통신에 의한 오버헤드를 고려하는 등 여러 요소에서 제약을 맞추어야 병렬 프로세서을 이용해 성능을 향상시킬 수 있다. 최근에는 특별히 작성된 병렬 프로그램이 아닌 기존의 순차 프로그램이 단일 프로세서 내에서 명령어 수준의 병렬성(instruction-level parallelism, ILP) - 슈퍼스칼라, 비순차실행 등을 활용하여 빠르게 실행될 수 있기 때문에 극단적인 성능 향상의 경우가 아니라면 병렬 프로그램을 힘들게 작성해야 필요를 느끼지 ..

[컴퓨터구조개론 : 병렬프로세서] 기본적인 배경지식과 용어

여러 개의 컴퓨터를 연결하면 강력한 성능의 컴퓨터를 만들 수 있다는 생각, 클럭을 올리거나, CPI를 개선하는 것보다 에너지 측면에서 더욱 유리한 상황 -> 멀티프로세서(2개 이상의 프로세서로 구성된 컴퓨터 시스템)의 등장 장점으로 소프트웨어가 프로세서를 효율적으로 사용할 수 있다고 가정하면 작고 효율적인 프로세서로 단위 에너지당 성능을 개선할 수 있다. 프로세서를 늘리기만 하면 되므로 확장성있는 컴퓨터 시스템을 만들 수 있다. 또한, 소프트웨어가 확장성이 있다면 일부 하드웨어가 고장이 나도 처리를 그대로 수행할 수 있으므로 가용성을 개선할 수 있다. 멀티프로세서에서 실행하는 프로그램의 유형에 따라 다른 용어를 사용한다. 독립적인 프로그램을 여러 개 실행하는 것을 태스크 수준 병렬성(task-level ..