Thorbjoern이 연결된 슈퍼 컴퓨터에는 약 2 ^ 47B의 실제 메모리가 있습니다.
무어의 법칙이 슈퍼 컴퓨터의 메모리를 보유한다고 가정하면 불과 34 년 만에 2 ^ 64B의 실제 메모리가됩니다. 이것은 "OMG, 우리는 그것을 보게 될 것입니다 !!!!"와 같습니다. 아마도. 그리고 실제로, 그것은 매력적입니다. 그러나 무관합니다.
문제는 2 ^ 65B의 실제 메모리를 사용하려면 128 비트 주소 공간이 필요합니까?
대답은 아니오 입니다. 단일 프로세스 에서 2 ^ 65B의 가상 메모리를 처리 하려면 128 비트 주소 공간이 필요 합니다. .
그것은 이다 질문의 핵심, "윌 실제 응용 적 필요 A는 128 비트 평면 주소 공간을?". " 필요 ", 절대적으로, 적은 공간으로 얻을 수 있고, 주소 공간을 평평하지 않게 매핑 할 수 있습니다. 그러나 "플랫 128 비트 주소 공간"이 없을 것입니다.
예를 들어, 지구상의 원자에 물리적 메모리 주소를 할당하려고한다고 가정하고 (어떤 이유로 든, 이 간단한 예제 를 제공 하기 위해 ), 0부터 시작하여 계속 계산합니다 (완료되면 다시 연락하십시오). 이제 다른 누군가가 Kepler-10c 에서 동일한 작업을 수행하기를 원합니다 (568 거리).
주소 충돌을 원하지 않기 때문에 다른 사람 이 사용 가능한 플랫 메모리 공간 에 높은 메모리 주소를 할당하여 메모리 를 매핑하지 않고도 자신과 다음 사람이 직접 주소 를 지정할 수 있습니다 . 그렇게하지 않거나 메모리와 주소 사이의 일대일 관계없이 얻을 수 있다면 (거의 배열을 기꺼이 구현하려는 경우) 64 비트 이하의 메모리로 얻을 수 있습니다.
누군가가 " X의 양은 충분할 것 "을 제안 할 때마다 그러한 예측은 종종 수명이 짧습니다.
따라서 문제는 2 ^ 65B의 메모리를 사용하는 단일 프로세스를 얼마나 빨리 가질 것인가 입니다. 나는 결코 희망하지 않는다.
우리 시대의 가장 큰 문제는 단일 CPU의 처리 능력이 제한되어 있다는 것입니다. 원자의 크기로 정의 된 크기에는 한계가 있으며, 주어진 크기에 대해, 빛의 속도, 자기장의 변화에 대한 정보가 우리 우주에서 전파되는 속도에 의해 주어진 클럭 속도에 한계가 있습니다.
실제로 한계는 몇 년 전에 도달했으며 이전 보다 낮은 클럭 속도로 정착했습니다 . CPU 전원이 더 이상 선형 적으로 확장되지 않습니다. 비 순차적 실행, 분기 예측, 더 큰 캐시, 더 많은 op 코드, 벡터 연산 및 기타 기능을 통해 성능이 향상되었습니다. 건축 최적화 가있었습니다 .
중요한 아이디어는 병렬화라는 것입니다. 병렬화의 문제는 확장되지 않는다는 것입니다. 20 년 전에 느린 코드를 작성했다면 10 년 전에 훨씬 빠르게 작동했습니다. 느린 코드를 작성하면 10 년 후에는 훨씬 빠르지 않습니다.
2 ^ 65B의 메모리를 사용하는 프로세스는 최대한의 어리 석음의 신호입니다. 이것은 아키텍처 최적화 가 없었 음을 보여줍니다 . 이 데이터를 현명하게 처리하려면 약 1 천만 개의 코어가 필요합니다.이 중 대부분은 실제로 리소스를 확보 한 코어가 완전히 다른 시스템에서 이더넷을 통해 실제 메모리를 사용하기 때문에 일부 리소스를 사용할 수있을 때까지 기다리는 데 시간이 걸립니다. 크고 복잡한 문제를 해결하는 열쇠는 문제를 작고 간단한 문제로 분해하고 더 크고 복잡한 시스템을 구축하지 않는 것입니다. sh * tloads의 데이터를 처리 할 때는 수평 분할이 필요합니다.
그러나이 광기가 계속되어야한다고 가정하더라도 128 비트 이면 충분합니다 .
- 지구는 약 8.87e + 49 개의 원자 를 가지고 있는데 이것은 우리가 가지고있는 2 ^ 166 개의 원자입니다 .
- 1 비트를 유지하는 데 2 ^ 20 개의 원자가 필요하다고 가정 해 봅시다. 여기에는 모든 배선 및 플라스틱과 함께 제공되는 전원도 포함됩니다. 상자에 트랜지스터를 던져 컴퓨터라고 부를 수는 없습니다. 따라서 2 ^ 20은 다소 낙관적입니다.
128 비트 주소 공간을 사용하려면 2 ^ 133 비트가 필요하므로 2 ^ 152 개의 원자가 필요합니다 . 지구에 원자가 균등하게 분포되어 있다고 가정하면 원자를 얻기 위해 얼마나 많은 빵 껍질을 가져 가야하는지 봅시다.
let
q := ratio of atoms needed to atoms present = 2^-14
Vc := volume of the crust to be used
Ve := volume of the earth
re := the radius of the earth = 6.38e6
tc := the required thickness of the crust
k := 0.75*pi
thus
Vc / Ve = q
(k*re^3 - k*(re-tc)^3) / (k*re^3) = q
1 - ((re-tc) / re)^3 = q
(re-tc)/re = root3(1-q)
tc = re * (1 - root3(1-q))
tc = 6.38e6 * (1 - (1 - 2^-14)^(1/3))
tc = 129.804073
따라서 물, 모래 또는 얼음으로 덮인 80 %를 포함하여 전체 표면에서 130 미터를 가져갈 수 있습니다 . 일어나지 않을거야 그것을 파낼 수 있다고 가정하더라도 (lol) 이 모든 문제는 칩으로 가공하는 것이 적합합니다. 어디에서 에너지를 얻을 수 있습니까?