Komputer super Thorbjoern yang terhubung memiliki sekitar 2 ^ 47 B memori fisik.
Dengan asumsi Hukum Moore berlaku untuk memori komputer super, itu akan menjadi 2 ^ 64 B memori fisik hanya dalam 34 tahun. Ini seperti "OMG, kita akan hidup untuk melihat itu !!!!". Mungkin. Dan memang, itu menarik. Tapi sama tidak relevannya.
Pertanyaannya adalah, apakah saya perlu ruang alamat 128 bit untuk menggunakan memori fisik 2 ^ 65 B?
Jawabannya adalah TIDAK . Saya perlu ruang alamat 128 bit untuk mengatasi 2 ^ 65 B memori virtual dari satu proses .
Itu adalah poin kunci dari pertanyaan Anda, "Apakah aplikasi dunia nyata akan membutuhkan ruang alamat datar 128-bit ?". " Perlu ", tidak sepenuhnya, Anda bisa bertahan dengan lebih sedikit, membuat ruang alamat dipetakan (tidak datar); tapi kemudian Anda tidak akan memiliki "ruang alamat 128-bit datar".
Sebagai contoh, anggaplah Anda ingin memberikan atom pada alamat fisik memori Bumi (untuk alasan apa pun, sebagian besar untuk memberikan contoh sederhana ini ), mulai dari nol dan terus menghitung (kembalilah kepada saya ketika Anda selesai). Sekarang orang lain ingin melakukan hal yang sama pada Kepler-10c (yang berjarak 568 detik).
Anda tidak ingin bentrokan alamat sehingga orang lain mengalokasikan alamat memori tinggi di ruang memori datar yang tersedia, yang memungkinkan Anda, mereka, dan orang-orang berikutnya untuk ditangani secara langsung , tanpa memetakan memori. Jika Anda tidak akan melakukan itu atau bisa bertahan tanpa hubungan satu-ke-satu antara memori Anda dan alamatnya (Anda bersedia menerapkan array jarang) maka Anda bisa bertahan dengan memori 64 bit yang sangat sedikit, atau kurang.
Setiap kali seseorang mengusulkan " X jumlah Y akan cukup " prediksi seperti itu sering kali berumur pendek.
Jadi pertanyaannya adalah: Seberapa cepat kita akan memiliki satu proses , yang menggunakan 2 ^ 65 B memori. Saya harap tidak pernah.
Masalah besar waktu kita adalah bahwa kekuatan pemrosesan satu CPU terbatas. Ada batas dalam ukuran yang ditentukan oleh ukuran atom, dan untuk ukuran tertentu, ada batas dalam laju jam, yang diberikan oleh kecepatan cahaya, kecepatan di mana informasi tentang perubahan medan magnet disebarkan di alam semesta kita.
Dan sebenarnya, batas tersebut telah dicapai beberapa tahun yang lalu dan kami telah menetapkan pada tingkat jam di bawah sebelumnya. Kekuatan CPU tidak akan lagi naik secara linear. Kinerja sekarang ditingkatkan melalui eksekusi yang tidak sesuai pesanan, prediksi cabang, cache yang lebih besar, kode op yang lebih banyak, operasi vektor dan yang tidak. Telah ada optimasi arsitektur .
Dan ide penting adalah paralelisasi. Masalah dengan paralelisasi adalah, itu tidak meningkat. Jika Anda menulis kode lambat 20 tahun yang lalu, itu bekerja jauh lebih cepat 10 tahun yang lalu. Jika Anda menulis kode lambat sekarang, itu tidak akan jauh lebih cepat dalam 10 tahun.
Proses yang menggunakan memori 2 ^ 65 B adalah tanda kebodohan maksimal. Ini menunjukkan, bahwa belum ada optimasi arsitektur . Untuk memproses data ini secara masuk akal, Anda memerlukan sekitar 10 juta core, yang sebagian besar akan menghabiskan waktu menunggu sumber daya tersedia, karena core yang benar-benar memperoleh sumber daya tersebut menggunakan memori fisik melalui ethernet pada mesin yang sama sekali berbeda. Kunci untuk menangani masalah besar dan kompleks adalah menguraikannya menjadi masalah kecil yang sederhana dan tidak membangun sistem yang semakin besar dan semakin kompleks. Anda perlu partisi horizontal, ketika berhadapan dengan sh * tload data.
Tetapi bahkan dengan asumsi, kegilaan ini harus berlanjut, yakinlah 128 bit sudah cukup :
- Bumi memiliki sekitar 8,87e + 49 atom , yaitu 2 ^ 166 atom yang kita miliki .
- Mari kita asumsikan harganya 2 ^ 20 atom untuk menampung satu bit. Ini termasuk juga semua kabel dan plastik serta daya yang menyertainya. Anda tidak bisa hanya membuang transistor ke dalam kotak dan menyebutnya komputer. Jadi 2 ^ 20 tampaknya agak optimis.
Untuk menggunakan ruang alamat 128 bit, kita membutuhkan 2 ^ 133 bit, jadi 2 ^ 152 atom yang kita butuhkan . Dengan asumsi distribusi atom yang sama di bumi, Mari kita lihat berapa banyak kerak yang harus kita ambil untuk mendapatkannya:
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
Jadi Anda harus menempuh jarak 130 meter di seluruh permukaan (termasuk 80% air, pasir, atau es). Itu tidak akan terjadi. Bahkan dengan asumsi Anda dapat menggali (lol) dan semua hal ini cocok untuk diproses menjadi keripik, di mana Anda akan mendapatkan energinya?