맨위로가기

암달의 법칙

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

암달의 법칙은 시스템 자원 개선으로 이점을 얻지 못하는 부분과 이점을 얻는 부분으로 나눌 수 있는 작업의 실행 속도 향상에 대한 이론이다. 전체 작업 중 자원 개선으로 속도 향상을 얻는 부분의 비율을 고려하여, 자원 개선 후 전체 작업의 이론적인 실행 시간을 계산하고, 이를 통해 전체 작업의 속도 향상 정도를 파악한다. 암달의 법칙은 프로세서 추가에 따른 수확 체감, 속도 향상의 제한 등의 시사점을 가지며, 고정된 작업량 가정, 오버헤드 무시, 외적 요인 무시 등의 한계를 갖는다. 이러한 한계로 인해, 암달의 법칙은 문제 크기가 고정된 경우에만 적용되며, 문제 크기가 증가하는 경우에는 거스턴의 법칙이 더 현실적인 병렬 성능 평가를 제공한다.

2. 정의

암달의 법칙은 어떤 계산 작업의 일부를 개선했을 때 전체 성능 향상이 얼마나 되는지 예측하는 데 사용되는 공식이다. 이 법칙은 특히 병렬 컴퓨팅 분야에서 중요하게 다루어지는데, 여러 개의 프로세서를 사용하여 작업을 처리할 때 성능 향상의 한계를 설명해준다.

암달의 법칙에 따르면, 전체적인 성능 향상은 개선된 부분의 비율과 그 부분의 성능 향상 정도에 따라 결정된다. 예를 들어, 프로그램의 일부분을 아무리 빠르게 만들어도, 개선되지 않은 나머지 부분이 존재하기 때문에 전체적인 성능 향상에는 한계가 있다.

좀 더 구체적으로 설명하면, 어떤 작업 중 개선된 부분의 비율을 ''P'', 그 부분의 성능 향상률을 ''S''라고 할 때, 전체 성능 향상은 다음 식으로 나타낼 수 있다.

:\frac{1}{(1 - P) + \frac{P}{S}}

예를 들어, 어떤 프로그램의 99%를 100배 빠르게 개선하더라도, 나머지 1%의 개선되지 않은 부분 때문에 전체 성능 향상은 최대 50배로 제한된다. 이는 개선되지 않은 부분이 전체 성능 향상의 발목을 잡는다는 것을 의미한다.

2. 1. 수식

암달의 법칙에 따르면, 전체 성능 향상(''S'')은 다음 공식으로 계산된다.

:\frac{1}{(1 - P) + \frac{P}{S}}

여기서

  • ''P''는 고속화에 의해 영향을 받는 부분의 비율이다.
  • ''S''는 그 부분의 성능 향상률이다.


예를 들어, 어떤 개선이 전체 계산의 30%에 영향을 미치고(즉, ''P'' = 0.3), 그 부분이 2배로 빨라진다면(''S'' = 2), 암달의 법칙에 따른 전체 성능 향상은 다음과 같다.

:\frac{1}{(1 - 0.3) + \frac{0.3}{2}} = \frac{1}{0.85} \approx 1.18

즉, 전체 성능은 약 1.18배 향상된다.

다른 예로, 어떤 작업이 4개의 부분으로 나뉘고, 각 부분의 실행 시간 비율이 P1 = 0.11 (11%), P2 = 0.18 (18%), P3 = 0.23 (23%), P4 = 0.48 (48%)라고 가정한다. 각 부분에 대한 성능 향상률이 S1 = 1 (100%), S2 = 5 (500%), S3 = 20 (2000%), S4 = 1.6 (160%)이라면, 개선된 작업의 실행 시간은 다음과 같다.

:{\frac{0.11}{1} + \frac{0.18}{5} + \frac{0.23}{20} + \frac{0.48}{1.6}} = 0.4575

따라서 전체 성능 향상률은 \frac{1}{0.4575} = 2.186 이 되어, 약 2배 이상의 성능 향상을 얻을 수 있다.

병렬 컴퓨팅에서 ''N''개의 프로세서를 사용할 때, 프로그램의 병렬화 가능한 부분의 실행 시간 비율을 ''P''라고 하면, 전체 성능 향상률은 다음 식으로 나타낼 수 있다.

:S(N) = \frac{1}{(1-P) + \frac{P}{N}}

''N''이 무한대에 가까워질수록 성능 향상률은 1 / (1 − ''P'')에 수렴한다. 즉, 병렬화 불가능한 부분이 아무리 작아도 프로세서 수가 많아지면 가격 대비 성능비가 떨어진다.

예를 들어 ''P''가 90% (0.9)라면, ''N''을 아무리 크게 늘려도 성능 향상은 최대 10배로 제한된다. 따라서 병렬 계산은 프로세서 수가 적거나, 문제의 ''P'' 값이 매우 큰 경우(극도로 병렬화 가능한 문제)에 효과적이다. 병렬 계산 프로그래밍 기법은 대부분 병렬화 불가능한 부분 (1 – ''P'')을 최소화하는 데 중점을 둔다.

특정 프로세서 수 (''NP'')에서의 실측 성능 향상 계수 (''SU'')를 사용하면, 병렬화 가능 부분의 비율(''P'')을 다음과 같이 추정할 수 있다.

:P_\text{estimated} = \frac{\frac{1}{SU} - 1}{\frac{1}{NP} - 1}

이렇게 추정한 ''P'' 값을 암달의 법칙 공식에 적용하면, 다른 프로세서 수에서의 성능 향상 정도를 예측할 수 있다.

다음 표는 80%의 성능을 달성하는 데 필요한 병렬도를 보여준다.

80%의 성능을 내는데 필요한 병렬도
프로세서 수(N)순차 실행 부분의 실행 시간 비율
225%
48.3%
65.0%
83.6%
122.3%
161.7%
320.81%
640.40%
2560.10%
10240.024%
40960.0061%
655360.00038%


3. 시사점


  • '''수확 체감''': 프로세서를 더 추가해도 수확 체감이 발생한다. 특정 지점을 넘어서면, 프로세서를 더 추가해도 속도 향상이 크게 증가하지 않는다.
  • '''속도 향상의 제한''': 많은 프로세서가 있더라도, 병렬화할 수 없는 작업 부분 때문에 작업을 완료하는 속도에 제한이 있다.[12]


암달의 법칙은 수확 체감의 법칙과 혼동되기도 하지만, 암달의 법칙을 적용하는 특별한 경우에만 수확 체감의 법칙이 나타난다. 개선해야 할 대상을 (달성된 속도 향상 측면에서) 최적으로 선택하면 개선할수록 단조 감소하는 개선 사항을 볼 수 있다. 그러나 최적하지 않은 구성 요소를 개선한 후 더 최적적인 구성 요소를 개선해 나가면 수익이 증가하는 것을 볼 수 있다. 어떤 개선 사항은 다른 개선 사항보다 더 어렵거나 더 많은 개발 시간이 필요하다는 점을 고려할 때, 이 의미에서 "최적이 아닌" 순서로 시스템을 개선하는 것이 종종 합리적이다.

암달의 법칙은 고정 크기 계산을 실행하여 사용 가능한 모든 프로세서를 용량에 맞게 사용할 경우, 시스템에 더 많은 프로세서를 추가하여 얻는 수익 유형을 고려하는 경우 수확 체감의 법칙을 나타낸다. 시스템에 추가된 각 새로운 프로세서는 이전 프로세서보다 적은 사용 가능한 전력을 추가한다. 프로세서 수를 두 배로 늘릴 때마다 속도 향상 비율은 감소하며, 총 처리량은 1/(1 − ''p'')의 한계로 향한다.

이 분석은 메모리 대역폭 및 I/O 대역폭과 같은 다른 잠재적 병목 현상을 무시한다. 이러한 리소스가 프로세서 수에 따라 확장되지 않으면 단순히 프로세서를 추가하는 것만으로는 훨씬 낮은 수익을 제공한다.

프로그램의 병렬화할 수 있는 부분의 실행 시간의 비율을 ''P''라고 할 때, 병렬화 불가능한 부분은 (1 − ''P'')이며, ''N''개의 프로세서를 사용했을 때 전체 성능 향상률은 다음 식으로 나타낸다.

:S(N) = \frac{1}{(1-P) + \frac{P}{N}}

''N''이 무한대에 가까워지는 극한에서는 성능 향상률은 1 / (1 − ''P'')가 된다. 실제, (1 − ''P'')의 병렬화 불가능한 성분이 아무리 작아도 ''N''이 커지면 가격 대비 성능비는 급격히 저하된다.

예를 들어, ''P''가 90%라면 (1 − ''P'')는 10%가 되며, ''N''을 아무리 크게 해도 성능 향상은 1 프로세서의 10배까지만 되어 한계에 도달한다. 이 때문에, 병렬 계산이 유효한 경우는, 프로세서 수가 적은 경우나, 적용 영역 문제의 ''P''의 값이 극히 큰 경우(embarrassingly parallel 문제라고 부름)로 한정된다. 병렬 계산의 프로그래밍 기법의 대부분은 (1 – ''P'')를 가능한 한 작게 하기 위한 것이다.

특정 프로세서 수 (''NP'')에서의 실측 고속화 계수 (''SU''), 즉 1 프로세서의 몇 배의 성능인가 하는 값을 사용하면, ''P'' 즉 병렬화 가능 부분의 비율은 다음과 같이 추정할 수 있다.

:P_\text{estimated} = \frac{\frac{1}{SU} - 1}{\frac{1}{NP} - 1}

이처럼 추정한 ''P''를 암달의 법칙의 식에 적용하면, 다른 프로세서 수에서의 고속화 정도를 추정할 수 있다.

80%의 성능을 내는데 필요한 병렬도
프로세서 수(N)순차 실행 부분의 실행 시간의 비율
225%
48.3%
65.0%
83.6%
122.3%
161.7%
320.81%
640.40%
2560.10%
10240.024%
40960.0061%
655360.00038%



이는 0.25 / (N - 1)로 계산할 수 있다.

결국 (병렬화의 오버헤드 등을 모두 무시할 수 있다고 하더라도), 풀고자 하는 문제가 필요로 하는 계산 중 얼마나 병렬화가 가능한가, 라는 점이 지배적이며, 암달 본인은 병렬화에 의한 고성능화에 대해 비관적이었다고 한다.[16] 고성능 컴퓨팅 전문가들 사이에서도 이전에는 견해가 갈렸으며, 고든 벨 상은 이 문제에 대한 도전으로서 처음 설정되었다.[17]

4. 한계


  • '''고정된 작업량 가정''': 암달의 법칙은 작업량이 일정하게 유지된다고 가정한다. 이는 병렬 처리에 영향을 미칠 수 있는 동적 또는 증가하는 작업량을 고려하지 않는다.
  • '''오버헤드 무시''': 암달의 법칙은 조정, 동기화, 프로세스 간 통신, 동시성 제어를 포함하여 동시성과 관련된 오버헤드를 무시한다.[12] 특히 여러 스레드 또는 프로세스에서 데이터를 병합하는 것은 충돌 해결, 데이터 일관성, 버전 관리 및 동기화로 인해 상당한 오버헤드가 발생한다.
  • '''외적 요인 무시''': 암달의 법칙은 데이터 지속성, I/O 작업 및 메모리 접근 오버헤드와 같은 외적 요인을 무시하고 이상적인 조건을 가정하며, 계산 병렬성을 다룬다.
  • '''확장성 문제''': 병렬 속도의 한계를 강조하지만 더 많은 프로세서를 추가하는 비용과 복잡성과 같은 실제 확장성 문제는 다루지 않는다.
  • '''비병렬화 작업''': 암달의 법칙은 작업의 비병렬화 부분을 병목 현상으로 강조하지만 이 부분을 줄이거나 최적화하기 위한 솔루션을 제공하지 않는다.
  • '''동질 프로세서 가정''': 모든 프로세서가 동일하며 속도 향상에 동일하게 기여한다고 가정하지만, 이는 이기종 컴퓨팅 환경에서는 해당되지 않을 수 있다.


암달의 법칙은 문제 크기가 고정된 경우에만 적용된다. 실제로 더 많은 컴퓨팅 리소스를 사용할 수 있게 되면 더 큰 문제(더 큰 데이터 세트)에 사용되는 경향이 있으며, 병렬화 가능한 부분에 소요되는 시간은 본질적으로 직렬 작업보다 훨씬 더 빠르게 증가하는 경우가 많다. 이 경우 거스턴의 법칙은 덜 비관적이고 더 현실적인 병렬 성능 평가를 제공한다.

닐 J. 건터가 개발한 범용 확장성 법칙(USL)은 암달의 법칙을 확장하고 프로세스 간 통신으로 인한 추가 오버헤드를 고려한다. USL은 경합 및 일관성과 같은 매개변수를 기반으로 확장성을 정량화한다.

암달의 법칙은 종종 수확 체감의 법칙과 혼동되지만, 암달의 법칙을 적용하는 특별한 경우에만 수확 체감의 법칙이 나타난다.

5. 확장

암달의 법칙은 문제 크기가 고정된 경우에만 적용된다. 실제로 더 많은 컴퓨팅 리소스를 사용할 수 있게 되면 더 큰 문제(더 큰 데이터 세트)에 사용되는 경향이 있으며, 병렬화 가능한 부분에 소요되는 시간은 직렬 작업보다 훨씬 더 빠르게 증가한다.

암달의 법칙은 수확 체감의 법칙과 혼동되기도 하지만, 암달의 법칙을 적용하는 특별한 경우에만 수확 체감의 법칙이 나타난다. 개선할 대상을 최적으로 선택하면 개선할수록 단조 감소하는 개선을 보이지만, 최적이 아닌 구성 요소를 개선한 후 더 최적인 구성 요소를 개선하면 수익이 증가할 수 있다. 어떤 개선은 다른 개선보다 더 어렵거나 더 많은 개발 시간이 필요할 수 있으므로, "최적이 아닌" 순서로 시스템을 개선하는 것이 합리적일 때도 있다.

암달의 법칙은 직렬 및 병렬 부분이 모두 있는 실제 애플리케이션의 속도를 높이기 위해 이종 컴퓨팅 기술이 필요함을 시사한다.[12] 이종성을 보다 일반적으로 표현하는 새로운 속도 향상 및 에너지 소비 모델이 있으며, 이를 정규 형식 이종성이라고 하며 광범위한 이종 다중 코어 아키텍처를 지원한다. 이러한 모델링 방법은 시스템 전력 효율성 및 성능 범위를 예측하고, 하드웨어 및 시스템 소프트웨어 수준의 연구 및 개발을 용이하게 한다.[13][14]

5. 1. 거스태프슨의 법칙 (Gustafson's Law)

존 구스타프슨은 1988년에 구스타프슨의 법칙을 제시했다. 이는 사람들이 이미 해결된 문제를 더 빠르게 해결하는 것보다, 더 큰 문제를 (가능한 한 정확한 근사치로) 적절한 시간 안에 해결하는 데 관심이 있다는 점을 지적한다.[12] 만약 병렬화할 수 없는 부분이 고정되어 있거나, 문제의 크기가 증가함에 따라 매우 느리게 증가하는 경우 (예를 들어, O(log ''n'')), 해결할 수 있는 문제의 크기는 프로세서 추가에 비례하여 증가한다.

이는 작업량이 고정되어 있다는 암달의 법칙의 가정과는 다르게, 프로세서 개수가 늘어나면 사용자는 더 큰 문제를 해결하려 한다는 점을 고려한 것이다.

5. 2. 범용 확장성 법칙 (Universal Scalability Law)

닐 J. 건터가 개발한 범용 확장성 법칙(USL)은 암달의 법칙을 확장하여 프로세스 간 통신으로 인한 추가 오버헤드를 고려한다.[12] USL은 경합 및 일관성과 같은 매개변수를 기반으로 확장성을 정량화한다.

6. 예시

암달의 법칙을 설명하는 다양한 예시들이 있다.


  • 만약 실행 시간의 30%를 차지하는 부분을 2배 빠르게 만들 수 있다면, 전체 속도 향상은 다음과 같다.


:S_\text{latency} = \frac{1}{1 - p + \frac{p}{s}} = \frac 1 {1 - 0.3 + \frac {0.3} 2} = 1.18.

  • 어떤 작업이 네 부분으로 나뉘고, 각 부분의 실행 시간 비율과 속도 향상 정도가 다음과 같다고 가정해보자.


각 부분별 실행 시간 비율 및 속도 향상
부분실행 시간 비율속도 향상
P10.111
P20.185
P30.2320
P40.481.6



이 경우, 암달의 법칙을 이용해 전체 속도 향상을 계산하면 다음과 같다.

:S_\text{latency} = \frac{1}{\frac{p1}{s1} + \frac{p2}{s2} + \frac{p3}{s3} + \frac{p4}{s4}} = \frac{1}{\frac{0.11}{1} + \frac{0.18}{5} + \frac{0.23}{20} + \frac{0.48}{1.6}} = 2.19.

즉, 전체 속도는 약 2.19배 향상된다. 여기서 주목할 점은, 두 번째와 세 번째 부분에서 각각 5배, 20배의 큰 속도 향상이 있었음에도 불구하고, 네 번째 부분(전체 실행 시간의 48%를 차지)의 속도 향상이 1.6배에 불과하여 전체적인 속도 향상에 큰 영향을 주지 못했다는 것이다.

어떤 작업이 ''A''와 ''B'' 두 부분으로 나뉘어 있을 때, ''B''는 전체 계산 시간의 약 25%를 차지한다. ''B''를 5배 빠르게 만들어도 전체 계산 시간은 약간만 줄어든다. 반면, ''A''를 2배 빠르게 만드는 것은 더 적은 노력으로도 전체 계산 시간을 크게 줄일 수 있다.

  • 속도 향상은 다음과 같이 정의될 수 있다.


:\text{속도 향상} = \frac{\text{향상 적용 시 전체 작업의 성능(또는 실행 시간)}}{\text{해당 향상 없이 동일 작업의 성능 (실행 시간)}}

암달의 법칙은 다음과 같이 공식화될 수 있다.

:\text{전체 속도 향상}_\text{전체} = \frac{1}{(1 - \text{시간}_{\text{최적화}}) + \frac{\text{시간}_{\text{최적화}}}{\text{속도 향상}_{\text{최적화}}}}

여기서

  • \text{전체 속도 향상}_\text{전체}는 프로그램의 전체 속도 향상을 나타낸다.
  • \text{시간}_{\text{최적화}}는 병렬 처리가 사용되는 코드에 소요된 시간을 나타낸다.
  • \text{속도 향상}_{\text{최적화}}는 개선 정도를 나타낸다.


예를 들어, 프로그래머가 총 실행 시간의 10%를 차지하는 코드 부분을 매우 크게 향상시켜도(\text{시간}_{\text{최적화}}가 0.10이고, \text{속도 향상}_{\text{최적화}}가 10,000), \text{전체 속도 향상}_\text{전체}는 1.11이 되어 프로그램 전체 속도 향상은 11%에 불과하다. 즉, 한 부분에서 큰 개선이 이루어졌음에도 불구하고, 전반적인 이점은 매우 작다.

또 다른 예로, 프로그래머가 실행 시간의 99%를 차지하는 부분을 속도 향상 계수 100으로 최적화하면(\text{시간}_{\text{최적화}}가 0.99이고 \text{속도 향상}_{\text{최적화}}가 100), \text{전체 속도 향상}_\text{전체}는 50에 도달한다. 이는 개선되지 않은 나머지 1%의 실행 시간으로 인해 잠재적 성능 향상의 절반을 잃는다는 것을 의미한다.

6. 1. 병렬 프로그램

어떤 프로그램의 실행 시간 중 30%가 병렬화 가능하다면(''P''=0.3), 이 부분을 2배 빠르게 만들어도(''N''=2) 전체 성능 향상은 1.18배에 불과하다.

프로그램에서 병렬화 가능한 부분의 실행 시간 비율을 ''P''라고 할 때, 병렬화 불가능한 부분은 (1 − ''P'')이며, ''N''개의 프로세서를 사용했을 때 전체 성능 향상률은 다음 식으로 나타낸다.

:S(N) = \frac{1}{(1-P) + \frac{P}{N}}

''N''이 무한대에 가까워지는 극한에서는 성능 향상률은 1 / (1 − ''P'')가 된다. 실제로는 (1 − ''P'')인 병렬화 불가능한 성분이 아무리 작아도 ''N''이 커지면 가격 대비 성능비가 급격히 저하된다.

예를 들어 ''P''가 90%라면 (1 − ''P'')는 10%가 되며, ''N''을 아무리 크게 해도 성능 향상은 1 프로세서의 10배까지만 되어 한계에 도달한다. 이 때문에 병렬 계산이 유효한 경우는 프로세서 수가 적거나, 적용 영역 문제에서 ''P'' 값이 극히 큰 경우(embarrassingly parallel 문제라고 부름)로 한정된다. 병렬 계산 프로그래밍 기법의 대부분은 (1 – ''P'')를 가능한 한 작게 만들기 위한 것이다.

특정 프로세서 수 (''NP'')에서의 실측 고속화 계수 (''SU''), 즉 1 프로세서의 몇 배 성능인가 하는 값을 사용하면, ''P'' (병렬화 가능 부분의 비율)는 다음과 같이 추정할 수 있다.

:P_\text{estimated} = \frac{\frac{1}{SU} - 1}{\frac{1}{NP} - 1}

이처럼 추정한 ''P''를 암달의 법칙 식에 적용하면, 다른 프로세서 수에서의 고속화 정도를 추정할 수 있다.

80%의 성능을 내는데 필요한 병렬도
프로세서 수(N)순차 실행 부분의 실행 시간 비율
225%
48.3%
65.0%
83.6%
122.3%
161.7%
320.81%
640.40%
2560.10%
10240.024%
40960.0061%
655360.00038%



이는 0.25 / (N - 1)로 계산할 수 있다.

6. 2. 순차적 프로그램

어떤 작업이 ''A''와 ''B'' 두 부분으로 나뉘어 있고, ''A''의 실행 시간이 3초, ''B''의 실행 시간이 1초일 때, 전체 실행 시간은 4초이다. 이때, ''B''를 5배 빠르게 만드는 것보다 ''A''를 2배 빠르게 만드는 것이 전체 성능 향상에 더 효과적이다.

예를 들어,

  • 부분 ''B''를 5배 빠르게 실행하면 (s=5, p=0.25):

::S_\text{latency} = \frac 1 {1 - 0.25 + \frac{0.25}{5}} = 1.25;

  • 부분 ''A''를 2배 빠르게 실행하면 (s=2, p=0.75):

::S_\text{latency} = \frac 1 {1 - 0.75 + \frac{0.75}{2}} = 1.60.

즉, ''A''를 2배 빠르게 하면 전체 프로그램 속도는 1.6배 증가하여 원래보다 37.5% 빨라진다. 반면, ''B''를 5배 빠르게 만들어도 전체 속도는 1.25배 증가하여 20%만 빨라진다.

이는 프로그램의 특정 부분만 개선해서는 전체 성능을 크게 향상시킬 수 없음을 보여준다. 프로그램 전체 성능을 개선하려면, 실행 시간의 대부분을 차지하는 부분을 개선해야 한다.

참조

[1] 논문 Improvements in multiprocessor system design ACM 1985-06
[2] 서적 API Design for C++ Morgan Kaufmann Publishers 2011
[3] 간행물 Chapter 2 - Multicore and data-level optimization: OpenMP and SIMD https://linkinghub.e[...] Morgan Kaufmann 2024-11-18
[4] 서적 The Art of Multiprocessor Programming, Revised Reprint Morgan Kaufmann 2012-05-22
[5] 서적 Programming Many-Core Chips Springer 2011-06-10
[6] 서적 Proceedings of the April 18-20, 1967, spring joint computer conference on - AFIPS '67 (Spring) Association for Computing Machinery 1967-04-18
[7] 서적 Computer Architecture: A Quantitative Approach Morgan Kaufmann 2003
[8] 서적 Parallel Computer Architecture A Hardware/Software Approach Elsevier Science 1999
[9] 서적 Concurrent Programming: Algorithms, Principles, and Foundations Springer 2012-12-23
[10] 서적 Structured Parallel Programming: Patterns for Efficient Computation Elsevier
[11] 서적 Guerrilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services
[12] 논문 Amdahl's Law in the Multicore Era
[13] 논문 Speedup and Power Scaling Models for Heterogeneous Many-Core Systems https://ieeexplore.i[...] 2018-07-01
[14] 논문 Amdahl's law in the context of heterogeneous many-core systems – a survey 2020-07
[15] 문서 1985
[16] 웹사이트 富士通と共同開発したアムダールコンピュータでも、アムダール側のモデルはマルチプロセッサとしなかった http://homepage2.nif[...]
[17] 트위터 ProfMatsuoka https://twitter.com/[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com