문제

"병렬 소프트웨어"의 의미는 무엇이며 "병렬 소프트웨어"와 "일반 소프트웨어"의 차이점은 무엇입니까?

장점과 단점은 무엇입니까?

"병렬 소프트웨어"를 작성하면 특정 하드웨어 또는 프로그래밍 언어가 필요합니까?

도움이 되었습니까?

해결책

http://en.wikipedia.org/wiki/thread_(computer_science)

컴퓨터 과학에서 실행 스레드는 컴퓨터 프로그램의 포크에서 동시에 두 개 이상의 실행 작업으로 결과를 얻습니다. 스레드와 프로세스의 구현은 다른 운영 체제마다 다르지만 대부분의 경우 스레드가 프로세스 내부에 포함되어 있습니다. 여러 스레드가 동일한 프로세스 내에 존재할 수 있으며 메모리와 같은 리소스를 공유하는 반면, 다른 프로세스는 이러한 리소스를 공유하지 않습니다.

대부분의 최신 프로그래밍 언어는 어떤 방식 으로든 멀티 스레딩을 지원합니다 (최신 버전의 JavaScript). :-)

장점과 단점은 작업에 따라 다를 수 있습니다. 처리해야 할 처리가 많으면 멀티 스레딩을 사용하면 각 CPU가 동시에 독립적으로 작동 할 수있는 작은 작업 단위로 나눌 수 있습니다. 그러나 멀티 스레드 코드는 일반적으로 단일 스레드 코드보다 쓰기 및 유지 관리가 더 복잡합니다.

프로세서가 하나만있는 컴퓨터에서 멀티 스레드 코드를 계속 작성/실행할 수 있습니다. 작업을 실행할 프로세서가 하나만 있지만 운영 체제는 컨텍스트를 빠르게 전환하고 한 번에 각 스레드에 대한 몇 가지 지침을 실행하여 동시에 발생하도록합니다.

병렬 작업을 수행하는 일부 특수 하드웨어는 대부분의 새로운 컴퓨터에서 찾을 수있는 GPU입니다. 이 비디오에서 MythBusters는 단일 스레드 CPU의 그리기와 다중 스레드 GPU의 차이를 보여줍니다.
http://www.youtube.com/watch?v=XTGF0HAW7X4&feature=player_embedded

다른 팁

"병렬 소프트웨어"에 지정된 하드웨어 또는 프로그래밍 언어가 필요합니까?

예, 그렇습니다.

첫 번째는 사소하게 쉽습니다. 대부분의 최신 CPU (M6800보다 새롭게 예정인)에는 하드웨어 기능이있어 한 번에 두 개 이상의 작업을 수행 할 수 있지만 반드시 동시에는 아닙니다. 예를 들어, 타이머 인터럽트가 꺼지면 CPU가 수행하는 작업을 저장 한 다음 다른 일을 시작할 수 있습니다. 이러한 작업은 동시에 실행됩니다.

그렇지 않더라도 널 모뎀 어댑터를 통한 간단한 직렬 연결과 같이 서로 연결된 두 개의 기계를 얻을 수 있으며 동일한 작업을 병렬로 작업 할 수 있습니다.

대부분의 새로운 (현대뿐만 아니라 최근) CPU는 병렬 컴퓨팅 리소스가 내장되어 있습니다.이 멀티 코어 CPU는 실제로 두 가지 이상의 작업에서 동시에 두 가지 이상의 작업, 코어 당 하나의 작업을 수행 할 수 있으며 약간의 특수 기능이 있습니다. 이러한 작업이 협력하는 데 더 효율적입니다.

병렬 활성화 언어와 같은 특수 소프트웨어 도구가 필요한 두 번째는 어떤면에서 병렬 컴퓨팅의 가장 어려운 부분입니다. 부엌에서 유일한 사람이라면, 모든 요리가 요리 될 때까지 각 레시피를 처음부터 끝까지, 다음마다 끝까지 따라 가면 식사를 요리하는 것이 매우 쉽습니다. 더 많은 요리사를 추가하여 속도를 높이려면 서로의 발가락을 밟지 않도록 조금 더 조심해야합니다.

이것을 처리하는 가장 간단한 방법은 여러 작업이 서로를 막지 못하게 할 수 있도록 일부 도구를 제공하는 스레딩 라이브러리를 사용하는 것입니다. 이것은 프로그램을 병렬로 표시하는 것만 큼 쉽지 않으며 시스템은 나머지를 처리합니다. 오히려 간섭 할 가능성이있는 모든 장소에서 다른 모든 작업과 통신하려면 각 작업을 작성해야합니다.

병렬 소프트웨어는 기본적으로 컴퓨터 또는 때로는 여러 컴퓨터에서 여러 코어/CPU를 활용할 수 있습니다. 그래픽 렌더링 소프트웨어 및 회로 설계 소프트웨어가 예를 들어 있습니다.

다중 프로세서 인식 소프트웨어 이외의 단점에 대해서는 확실하지 않습니다. 소프트웨어는 CPU 돼지 인 경향이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top