처치 곤란 병렬
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
처치 곤란 병렬은 "처치 곤란하게 쉬운" 병렬화 문제를 의미하며, 개발자나 컴파일러에게 난처함을 야기할 수 있는 문제를 지칭한다. 1986년 클리브 몰러가 처음 사용한 용어로, 여러 처리 장치가 독립적으로 작업을 수행할 수 있는 문제들을 포함한다. 몬테카를로 방법, 컴퓨터 그래픽스 렌더링, 암호학의 무차별 대입 공격 등이 예시이며, R 프로그래밍 언어의 SNOW 패키지 등을 통해 구현될 수 있다.
더 읽어볼만한 페이지
- 분산 컴퓨팅 문제 - 교착 상태
교착 상태는 둘 이상의 프로세스가 자원을 점유하고 서로의 자원을 요청하여 더 이상 진행할 수 없는 상태를 의미하며, 상호 배제, 점유 대기, 비선점, 순환 대기 네 가지 조건이 모두 충족되어야 발생하고, 운영 체제는 이를 예방, 회피, 무시, 발견하는 방법으로 관리한다. - 분산 컴퓨팅 문제 - 비잔티움 장애 허용
비잔틴 장애 허용(BFT)은 분산 컴퓨팅 시스템에서 일부 구성 요소가 오류나 악의적인 행위를 하더라도 시스템 전체가 정상적으로 작동하도록 보장하는 속성으로, 비잔틴 장애에 대한 대응책으로 합의 알고리즘을 통해 신뢰성을 확보하며, 블록체인, 항공, 군사, 암호화폐 등 다양한 분야에서 활용된다. - 병렬 컴퓨팅 - 슈퍼컴퓨터
슈퍼컴퓨터는 일반 컴퓨터보다 훨씬 높은 성능을 가진 컴퓨터로, 복잡한 계산과 시뮬레이션을 수행하며, 프로세서, 메모리, 스토리지, 네트워크 등으로 구성되어 병렬 처리를 통해 높은 성능을 구현하고, 군사, 기상 예측, 과학 기술 분야, 인공지능 등 다양한 분야에서 활용되고 있다. - 병렬 컴퓨팅 - 컴퓨터 클러스터
컴퓨터 클러스터는 여러 대의 상용 컴퓨터를 고속 네트워크로 연결하여 고성능 컴퓨팅 시스템을 구축하는 방식으로, 슈퍼컴퓨터를 포함한 다양한 분야에서 높은 가용성과 확장성을 제공하며, 클러스터 미들웨어를 통해 시스템 관리, 부하 분산, 통신 방식, 데이터 공유 등을 지원하고 노드 장애 관리를 위한 펜싱 기술을 활용한다.
처치 곤란 병렬 | |
---|---|
개요 | |
정의 | '처치 곤란 병렬(Embarrassingly parallel)은 계산 문제를 독립적인 부분으로 나눌 수 있어서 동시에 실행할 수 있는 경우를 말한다.' |
특징 | 부분 간 통신이나 의존성이 거의 또는 전혀 없음 병렬화 구현이 간단 높은 효율성을 달성 가능 |
예시 | |
브루트 포스 공격 | '키 공간을 여러 프로세서에 분할하여 암호 해독 시도' |
렌더링 | '컴퓨터 그래픽에서 각 프레임을 독립적으로 렌더링' |
몬테카를로 시뮬레이션 | '각 시뮬레이션 실행은 독립적' |
이미지 처리 | '각 이미지를 독립적으로 처리' |
유전자 알고리즘 | '각 개체를 독립적으로 평가' |
대규모 데이터베이스 검색 | '데이터베이스의 여러 부분을 동시에 검색' |
SETI@home | '데이터 분석 작업을 분산 처리' |
2. 어원
"처치 곤란"이라는 용어는 "처치 곤란하게 쉬운" 병렬화 문제를 가리키는 데 사용된다.[4] 이 용어는 개발자나 컴파일러 입장에서 보면 문제를 쉽게 해결할 수 있다는 의미를 내포하고 있다. "근본적인 계산 복잡성으로 인해 해결되지 않은 중요한 문제들이 많기 때문에, 다항식 호모토피 연속 방법의 병렬 구현을 개발하지 않는 것은 처치 곤란한 일일 것이다."[5] 이 용어는 MATLAB 개발자인 클리브 몰러가 1986년에 출판한 멀티프로세서 관련 서적에서 처음 등장했으며, 그는 이 용어를 직접 만들었다고 주장한다.[6][7]
"만족스러운 병렬"이라는 용어도 사용되는데, 이는 "처치 곤란"이라는 부정적인 뉘앙스를 피하고 문제의 병렬화 가능성에 대한 긍정적인 측면을 강조하기 위한 것으로 보인다. "물론, 이러한 프로그램에 대해 전혀 처치 곤란한 점은 없다."[8]
3. 예시
4. 구현
R (프로그래밍 언어)의 SNOW (Simple Network of Workstations) 패키지는 워크스테이션 또는 비어울프 클러스터 집합을 사용하여 처치 곤란 병렬 계산을 수행하는 간단한 메커니즘을 구현한다.[16] 이와 유사한 R 패키지로는 "future", "parallel" 등이 있다.
참조
[1]
서적
The Art of Multiprocessor Programming, Revised Reprint
https://books.google[...]
Elsevier
2016-02-28
[2]
서적
Designing and Building Parallel Programs
http://www.mcs.anl.g[...]
Addison–Wesley
[3]
서적
Practical Parallel Rendering
https://books.google[...]
CRC Press
2011-03-21
[4]
서적
The Art of R Programming: A Tour of Statistical Software Design
No Starch
2011
[5]
서적
Mathematical Software - ICMS 2006
[6]
서적
Hypercube Multiprocessors
Society for Industrial and Applied Mathematics, Philadelphia
[7]
웹사이트
The Intel hypercube part 2 reposted on Cleve's Corner blog on The MathWorks website
http://blogs.mathwor[...]
[8]
서적
Parallel MATLAB for Multicore and Multinode Computers
SIAM
2009
[9]
서적
Handbook of Parallel Computing and Statistics
https://books.google[...]
CRC Press
2005-12-21
[10]
서적
Applied Parallel Computing
https://books.google[...]
World Scientific
[11]
간행물
The scrypt Password-Based Key Derivation Function
https://tools.ietf.o[...]
2016-12-12
[12]
논문
Parallel BLAST on split databases.
2003-09-22
[13]
웹사이트
How we made our face recognizer 25 times faster
http://lbrandy.com/b[...]
[14]
서적
Massively Parallel Evolutionary Computation on GPGPUs
https://books.google[...]
Springer Science & Business Media
2013-12-05
[15]
서적
Handbook of Parallel Constraint Reasoning
https://books.google[...]
Springer
2018-04-05
[16]
웹사이트
Simple Network of Workstations (SNOW) package
http://www.stat.uiow[...]
[17]
웹사이트
Designing and Building Parallel Programs, by Ian Foster. Addison-Wesley (ISBN 978-0-201-57594-1), 1995.
http://www-unix.mcs.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com