Чи потрібні додаткам у реальному світі 128-бітний плоский адресний простір?


32

Це трохи "одного мегабайт має бути достатньо для когось", але ...

64-бітний плоский адресний простір дозволяє до 4,3 мільярдів разів більше місця, ніж 32-бітний адресний простір. Це 17 179 869 184 Гб.

Очевидно, перехід від 8 біт до 16 біт був досить швидким (я переглядаю речі підлітками під час 80-х, ігноруючи всі ці мейнфрейми та міні, оскільки вони не могли запустити порт Elite). Перехід від 16 біт до 32 біт зайняв трохи більше часу, а 32 біти насправді тривали досить довго.

Зараз у нас є 64 біти, чи нерозумно було б сказати: "17,179,869,184 ГіБ має бути достатньо для когось"?

Це питання програмістів, тому що я дійсно маю на увазі програмування. Навіть якщо комп'ютер одного дня має, здавалося б, нескінченну кількість робочої пам’яті, це не означає, що додаткам потрібно буде бачити, здавалося б, нескінченний плоский адресний простір.

В основному, чи можемо ми програмісти полегшити зітхання і сказати: "ну, що б не зробили цілі чи плавці, принаймні мені не потрібно турбуватися про те, щоб мої покажчики зростали більше?".


11
Скільки даних генерує LHC щодня?
Пітер Тейлор

7
8-бітні процесори насправді мали 16-бітний адресний простір - звідси і "швидкий перехід" :-)
Ніл Баттерворт

1
Щоб забезпечити деякий контекст, 128-бітовий адресний простір забезпечує приблизно стільки ж адрес, скільки зірок у спостережуваному Всесвіті чи половині атомів нашої галактики (приблизно на пару порядків).
Рейн Генріхс

5
@Rein: Іншими словами, недостатньо. Як ми можемо імітувати Всесвіт з недостатньою кількістю пам'яті навіть для половини атомів у власній галактиці. amiright
-starin

7
Я думаю, що на це можна відповісти досить легко; Зоряний шлях Холодек. Достатньо сказав.
Данк

Відповіді:


27

Я не думаю, що в найближчому майбутньому ми матимемо машини з більш ніж 2 ^ 64 байтами оперативної пам’яті, але це ще не все, для чого корисний адресний простір.

Для деяких цілей корисно зіставити інші речі в адресний простір, файли - важливий приклад. Отже, чи обґрунтовано мати в найближчому майбутньому більше 2 ^ 64 байт будь-якого типу пам’яті?

Я б сказав так. Там має бути понад 2 ^ 64 байт пам’яті, оскільки це лише близько 17 мільйонів людей з терабайтними жорсткими дисками. У нас вже кілька років існують бази даних з петабайтами, а 2 ^ 64 - це лише близько 17 тисяч петабайт.

Я думаю, що ми, ймовірно, будемо використовувати для адресного простору> 2 ^ 64 протягом наступних десятиліть.


4
Це змушує мене думати про плоску адресацію для адреси будь-якого байту пам’яті, наявного в Інтернеті. Я думаю, що я чув щось про операційні системи, які забезпечують рівну адресацію всіх сховищ у системі (не потрібно відображати файли в пам'ять - вони вже є). Щоб зробити IP-адресу частиною вашої адреси пам'яті, безумовно, знадобиться більше 64 біт - IPv6 вже потребує 128 біт лише для адреси. Буде величезна кількість надмірності в адресному просторі, але це все одно може мати сенс.
Steve314

2
Так. Це спростило б життя, якби ви зіставили всі ваші диски та файли в адресний простір. Надзвичайно багато коду, пов'язаного з маніпулюванням файлами на диску, було б набагато простіше, якби ви просто мали вказівник на весь файл. Сегмент: офсетна архітектура була б ідеальною для подібних речей.
Лорен Печтел

Це передбачає, що кожен байт усіх пристроїв масового зберігання може бути адресований безпосередньо .
vartec

2
@ steve314: Ви думаєте про однорівневу концепцію магазину , вперше представлену IBM S / 38. Цікавий матеріал, але я думаю, що було б важко інтегрувати його в сучасні системи.
TMN

1
@TMN: добре, IBM i (він же i5 / OS, він же OS / 400) все ще використовує його і, мабуть, є однією з "сучасних систем".
Йоахім Зауер

16

Якщо комп'ютери не почнуть використовувати деякі проривні технології, які ще не існують навіть у лабораторіях, наявність більш ніж 2 64 адресного простору фізично неможлива при сучасній технології кремнію . Технологія потрапляє у фізичні межі . Межа швидкості (ГГц) була досягнута вже кілька років тому. Межа мініатюризації також дуже близька. В даний час найсучасніша технологія у виробництві - 20 нм, в лабораторіях - 4 нм з транзисторами з 7 атомів.

Просто кажучи про те, скільки часу потрібно для розробки нової технології: сучасні комп'ютери засновані на транзисторах, винайдених у 1925 році, а сучасні технології кремнію відносяться до 1954 року.


Щодо альтернативних технологій:

  • оптичні обчислення - можуть підвищити швидкість обчислень, але не вирішують проблему мініатюризації для зберігання;
  • квантові обчислення - для повного використання вимагатиме абсолютно нової парадигми програмування, тож якщо покажчики будуть 64- або 128-бітовими - це найменше ваших турбот. Також такі ж фізичні обмеження щодо мініатюризації поширюються на цю технологію;
  • Обчислення ДНК - це іграшки, що підтверджують концепцію, розроблені для вирішення одного конкретного класу проблем. Неможливий для використання в реальному житті. Для отримання обчислень, які на звичайному ПК здійснювались би за одну секунду, знадобиться ДНК-танк розміром з Тихий океан і кілька тисяч років. Оскільки це природний, біологічний процес, немає способу мініатюризувати або прискорити це.

4
Отже, ви говорите, що технологічних проривів більше не буде? Ми зациклюємося на технології кремнію назавжди. Радикально нові речі, такі як квантові обчислення або ДНК-комп’ютери, назавжди залишаться в дослідженні. Ви справді вірите в це?
nikie

2
@nikie: квантові комп'ютери - це не магія. Вони все ще використовують атоми. Вони все ще обмежені фізикою. ДНК-комп’ютери? Ти серйозно??? Це абсолютно марно, крім того, що це доказ концепції.
vartec

4
@Thor: ну, фізично неможливо поставити людину на Місяць і в 2011 році.
vartec

7
Чому -1? Резюме має дуже суцільне обґрунтування. 2 ^ 64 - це дуже, дуже, дуже велике число. Це не 2 ^ 32 * 2, це набагато більше, а 2 ^ 128 досить божевільне. На це пішло б дуже багато часу for(unsigned __int128 i=0; i<2^128; i++){}. У сучасній технології не так багато використання 128-бітних цілих чисел. Крім можливо, повернутися до незахищеного адресного простору, тому що випадково наступити на пам'ять інших програм у 128-бітному адресному просторі було б зробити неможливо, навіть якщо ви писали випадкові адреси випадковим чином.
Кодер

2
@nikie: Квантові комп’ютери не мають відношення до цієї дискусії, оскільки використання сучасних моделей пам'яті (про які тут йде мова) на квантових комп'ютерах перемагає їх цілі. О, і так, ДНК-комп’ютери ніколи не будуть фактично використані. Це як використовувати мобільні автомати як основу для моделі виконання.
back2dos

15

Суперкомп'ютер, пов'язаний Thorbjoern, має близько 2 ^ 47 B фізичної пам'яті.
Якщо припустити, що закон Мура зберігається в пам'яті суперкомп'ютерів, він стане 2 ^ 64 Б фізичної пам'яті лише за 34 роки. Це як "OMG, ми будемо жити, щоб це бачити !!!!". Можливо. І справді, це захоплююче. Але так само не має значення.

Питання в тому, чи потрібно мені 128-бітний адресний простір, щоб використовувати 2 ^ 65 B фізичної пам'яті?
Відповідь - НІ . Мені потрібно 128 бітовий адресний простір для адреси 2 ^ 65 B віртуальної пам'яті з одного процесу .

Це є ключовим моментом вашого питання, «Чи будуть чи в реальному світі додатків коли - або потрібно 128-біт плоского адресного простору?». " Потрібно ", не зовсім, ви можете подолати менше, зробіть адресний простір відображеним (не рівним); але тоді у вас не було б "плоского 128-бітного адресного простору".

Наприклад, припустимо, що ви хотіли призначити атомам на Землі адресу фізичної пам'яті (з будь-якої причини, переважно для надання цього простого прикладу), почніть з нуля і продовжуйте рахувати (повертайтеся до мене, коли закінчите). Тепер хтось інший бажає зробити те ж саме на Kepler-10c (який знаходиться на відстані 568 літ).

Не хотілося б зіткнення адреси, тому інша людина виділяє високу адресу пам'яті у доступному просторі пам’яті , що дозволяє вам, їм та наступним людям безпосередньо звертатися, не відображаючи пам'ять. Якщо ви цього не зробите або не зможете обійтись без відношення між вашою пам’яттю та адресою (ви готові реалізувати розріджений масив), тоді ви зможете обійтись із задирливою 64-бітовою пам'яттю або менше.

Кожного разу, коли хтось пропонує " X кількість Y буде достатньо ", таке передбачення часто залишається короткочасним.

Отже, питання полягає в тому, як швидко ми матимемо поодинокі процеси , які використовують 2 ^ 65 B пам'яті. Я сподіваюся ніколи.

Велика проблема нашого часу полягає в тому, що потужність обробки одного процесора обмежена. Існує обмеження розміру, визначене розміром атомів, і для заданого розміру існує обмеження в тактовій частоті, задане швидкістю світла, швидкістю, з якою інформація про зміни магнітних полів поширюється у нашому Всесвіті.
Насправді ліміт був досягнутий за кілька років тому, і ми вирішили на тактових частотах нижче тих, що були раніше. Потужність процесора більше не збільшуватиметься лінійно. Зараз продуктивність підвищується завдяки виконанню замовлень, передбаченню філій, більшій кеш-пам'яті, більше оп-кодів, векторних операцій і чого іншого. Відбулася архітектурна оптимізація .
І важливою ідеєю є паралелізація. Проблема з паралелізацією полягає в тому, що вона не збільшується. Якщо ви писали повільний код 20 років тому, він працював набагато швидше 10 років тому. Якщо ви зараз пишете повільний код, він не стане набагато швидшим за 10 років.

Процеси, які використовують 2 ^ 65 B пам'яті, є ознакою абсолютної дурості. Це свідчить про відсутність архітектурної оптимізації . Щоб обґрунтовано обробити ці дані, вам знадобиться близько 10 мільйонів ядер, більшість з яких витратить час на очікування, коли якийсь ресурс стане доступним, тому що ті ядра, які фактично придбали ресурс, використовують фізичну пам'ять через Ethernet на зовсім іншій машині. Ключовим фактором для вирішення великих, складних проблем є розкладання їх на невеликі, прості проблеми і не побудова все більших і все складніших систем. Вам потрібен горизонтальний розподіл при роботі з sh * tloads даних.

Але навіть якщо припустити, це безумство повинно тривати, будьте впевнені , 128 біта є досить :

  • Земля має близько 8,87е + 49 атомів , що становить 2 ^ 166 атомів, які ми маємо .
  • Припустимо, що утримувати один біт коштує 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
    

    Таким чином, у вас є 130 метрів, щоб зайняти всю поверхню (включаючи 80%, покриті водою, піском або льодом). Це не станеться. Навіть якщо припустити, що ви можете його викопати (хай), і все це питання підходить для переробки в чіпси, де ви отримаєте енергію?


8
З іншого боку, вам знадобиться дуже великий комп'ютер, щоб зробити оцінку впливу на навколишнє середовище для видобутку смуг по всій планеті, щоб, можливо, це виправдало себе (потрапляючи сюди трохи пішохідних туристів)
Мартін Бекетт

2
Один біт = 10 ^ 6 атомів. Вся Земля = 10 ^ 50 атомів. Весь Всесвіт = 10 ^ 80 атомів. Експоненціальні позначення є приголомшливими! :-)
Конаміман

2
Сенс полягає не у використанні всього 128-бітного адресного простору, а у використанні 64-бітного адресного простору. Тож у який момент нам потрібен один додатковий біт адреси, що перевищує 64 біти? Скільки фізичного простору (молекул) потрібно для 2 ^ 65 байт?
David R Tribble

1
Отже, ви говорите, що фізична 128-бітна архітектура пам'яті вимагає виробничих можливостей планетарного масштабу ?
Індолінг

Розроблені одноатомні транзистори. Як ви добираєтесь до 2 ^ 20 (близько мільйона) атомів за бітове число? en.wikipedia.org/wiki/5_nanometer
JimmyJames

8

Що ж, ми могли точно використовувати великий адресний простір.

Уявіть собі це:

  1. Адресний простір не обмежується одним комп'ютером. Натомість адреса однозначно ідентифікує комірку пам'яті у універсальному адресному просторі. Таким чином, ви можете мати вказівник на комірку пам'яті на будь-якому комп’ютері світу. Для включення читання з віддаленої пам’яті знадобиться якийсь протокол, але це детальна інформація про реалізацію. :-)

  2. Пам'ять - "Написати один раз", "Прочитати багато", тобто ви можете записати дані лише на адресу пам'яті один раз. Для змінного значення вам потрібно буде виділяти новий фрагмент пам'яті щоразу, коли воно змінюється. Ми, програмісти, почали бачити плюси незмінності та транзакційної пам’яті, тому апаратний дизайн, який навіть не дозволяє перезаписати пам'ять, може бути не такою неможливою ідеєю.

Поєднайте ці дві ідеї, і вам знадобиться величезний адресний простір.


І навіщо вам потрібно звертатися до кожного байта кожного комп’ютера у світі? (Я припускаю, що ви не АНБ.)
David R Tribble

тому що ми збираємось побудувати всесвітньо розповсюджений вулик AI сюзерена, щоб вести нас до порятунку звичайно!
сара

7

Чим більш здібними стають комп'ютери, тим складніші проблеми з ними вимагають працювати.

Найбільшим суперкомп'ютером, переліченим на top500.org, є http://www.top500.org/system/10587 з приблизно 220 Тб оперативної пам’яті та 180000 ядер. Іншими словами, саме на цьому "додатки в реальному житті" можуть працювати на цій платформі.

Сьогоднішні комп’ютери настільки ж потужні, як суперкомп'ютери 10-15 років тому (навіть якщо обчислювальна потужність може бути прихована у вашій графічній карті).

Таким чином, коефіцієнт 100 в пам'яті через 10-15 років буде означати, що 64-бітний адресний простір буде обмежуючим фактором приблизно через 100 років (оскільки журнал (100 мільйонів) / журнал (100) становить близько 6), якщо поточна тенденція дотримується.


зауважте: математика неперевірена, ймовірно, зовсім непогана.

17
це так само, як передбачення 1800-х років, що якщо настільки зросте трафік, цілі міста будуть вкриті горами кінського гною :-P
vartec

1
220 ГБ в наші дні не так вже й багато. Є сервери з 256 ГБ оперативної пам’яті. 180000 ядер? Тепер це щось :). Я лише вказую на це, оскільки головна проблема ОП - це розмір оперативної пам'яті.
Tamás Szelei

1
@vartec, просто показує, що сліпа екстраполяція може бути недійсною. Те саме тут.

6
Тамаш мав рацію: У наданому вами посиланні йдеться про "229376 ГБ", що більше нагадує 220 ТБ. Крім того, якщо припустити кеш-пам'ять L2 на один ядро, 180K ядер вже має кеш-пам'ять L2 720 ГБ;)
back2dos

5

Ціла нитка досить смішна для читання, дуже сильна думка «за» і «проти».

Тут щось ..

З питання я розумію, що це агностик і не обмежений часом. Таким чином, сучасні розробки в кремнієвих, квантових комп'ютерах або в безмежному мавбі, що займаються розбещенням мавп, насправді не мають значення.

Розрахунки та екстраполяції також є досить смішними, хоча відповідь back2dos цілком добре допомагає проілюструвати розмір, що представляє це число. тож давайте попрацюємо з цим.

Подумайте про майбутнє, коли людина вже не прив’язана до обмеженості своєї маленької планети, був розроблений реалістичний засіб пересування, що дозволить перевозити на дуже великі відстані, а соціальні структури (економічні, політичні тощо) еволюціонували до трансценденційних поколінь. Фараонські проекти, що охоплюють, стали загальними місцями. Давайте зосередимось на двох аспектах цього надуманого бачення майбутнього, якщо хочеться витратити час на пояснення кожної деталі, я цілком впевнений, що можна було б раціоналізувати все це через низку правдоподібних еволюцій на сучасних технологіях. Іншими словами, правдоподібний, хоч і навряд чи майбутній ... так чи інакше ...

Перший проект назвав Колоссе в пам'ять того першого електронного комп’ютера, оскільки це перший планетний комп'ютер. Братство Колоссів справді знайшло засіб захопити невеликий планетоїд і перетворити його на робочий комп'ютер. Нещодавно виявлені в поясі Куйпера, який надзвичайно багатий плавкими ізотопами, роблячи його енергетично автономним, вони зробили процес побудови повністю автономним за допомогою зондів, роботів тощо, завдяки чому комп'ютерна система самостійно ремонтувалась та самобудувалась. У цій умові можна вважати, що 2 ^ 64 адресний простір дещо обмежується для цього проекту, оскільки вони хочуть отримати безперервний адресний простір для легкого порту додатків, які вже існують для іншого проекту.

Інший проект - це скоріше експеримент в мережі, ніж фізична система, але він швидко продемонстрував, що потрібно більше адресного простору. 540 років тому молодий хакер грав з ідеєю створити гігантську мережу ботів. Інтернет уже розширився, включаючи колонії, що зароджуються навколо будівлі Сонячної системи, завдяки значним досягненням сили синтезу. В основному його ідеї полягали в тому, щоб мало ботів було розповсюджено по мережі, але корисному навантаженню було призначено забезпечити єдину віртуальну машину, куди було б записано код, припускаючи, що у нього є вся сила всіх ботів. Великі зусилля були докладені до компілятора та розгортання, намагаючись оптимізувати відставання та складні алгоритми, розроблені з урахуванням властивої ненадійності основного середовища. Мова була спеціально написана для націлювання на цей новий " наш хакер створив натомість компанію-парасольку та продає обчислювальну потужність вищому учаснику торгів. Коли він помер, він пожертвував цей ботнет та всі технології фундаменту. На той момент ботнет вже працював 64 роки і вже досить давно переріс адресний простір 2 ^ 64, розбивши 1000-річне попередження про те, що нам ніколи не буде потрібно більше адресного простору. На сьогоднішній день 2 ^ 128 є нормою, і що буде використовуватись для Колосса, але вже планується розширити це до 2 ^ 256. наш хакер створив натомість компанію-парасольку та продає обчислювальну потужність вищому учаснику торгів. Коли він помер, він пожертвував цей ботнет та всі технології фундаменту. На той момент ботнет вже працював 64 роки і вже досить давно переріс адресний простір 2 ^ 64, розбивши 1000-річне попередження про те, що нам ніколи не буде потрібно більше адресного простору. На сьогоднішній день 2 ^ 128 є нормою, і що буде використовуватись для Колосса, але вже планується розширити це до 2 ^ 256.

Я, мабуть, міг би придумати більш квазі правдоподібні сценарії, які ілюструють, що так ... цілком можливо, ні, майже певне, що одного разу нам буде потрібно адресний простір, більший за цей.

Однак це сказало, але я не думаю, що я б не спав на цьому, якщо для вашої програми потрібен певний адресний простір для коректної роботи, то, швидше за все, він буде жити у віртуальній машині, яка дає все, що йому потрібно ...

Таким чином ... коротка відповідь ...

ТАК, найімовірніше

але

Чому б не боротися з цим, коли виникає проблема ... Особисто я ніколи не роблю припущень у своїх програмах, тому ніколи не отримую сюрпризів.


2
Мене розважає рівень деталізації у вашому вигаданому прикладі. Ви десь пишете новелу?
Крістофер Біббс

2

Розташування адрес має логарифмічну вартість відносно ширини адреси, тому ми можемо розглянути верхні межі на основі параметрів, про які йдеться:

64 біт для частинок піску на землі = 7,5x10 ^ 18
128 біт для зірок у спостережуваному Всесвіті = 10 ^ 24
256 біт для частинок у землі = 10 ^ 50
512 біт для частинок у спостережуваному Всесвіті = 10 ^ 82
1024 -біт для кубічної довжини дошки у спостережуваному Всесвіті = 4,65 × 10 ^ 185

6.6106 ... × 10 ^ 122 біт для можливих конфігурацій частинок у спостережуваному Всесвіті = 10 ^ (10 ^ 122)

Ми можемо вважати можливі конфігурації верхньою межею для найбільшої фізично можливої ​​адреси пам'яті.


Щоб обчислити ширину, необхідну для n адрес, введіть це в альфа-вольфрам: 2 ^ ceil (log2 (log2 ( n )))
Тимофій Лебедь

1
Ви маєте рацію, що може бути корисним наявність надмірних адресних просторів, де більшість адрес взагалі не посилаються ні на що, як у вашому хешировании і т. Д., Але я думаю, хтось навіть запропонував кодувати URL-адреси у віртуальні машини машини (не лише хешей з них), тож насправді немає верхньої межі того, наскільки потенційно може бути марнотратне / зайве деяка схема майбутнього віртуальної адреси. Звичайно, що кодування даних за адресами (на відміну від того, щоб шукати їх у потенційно захищених таблицях, якщо це потрібно), звичайно, звучить як гарна ідея.
Steve314

0

Ну, я думаю, що на кілька наступних років ви, мабуть, можете полегшити зітхання. Якщо поглянути на швидкість інновацій в апараті, то можна помітити, що за останні кілька років суттєвих проривів не відбулося. Процесори з частотою 2.x ГГц вже деякий час існують, і будь-яке збільшення потужності обробки в даний час відбувається від пакування більшої кількості ядер на мікросхемі. Потужність приводу все ще зростає, але не тими ж темпами, що й 10 років тому.

Я думаю, що наша сучасна технологія наближається до меж фізики.

Що це означає для майбутнього? Я думаю, що для отримання нових квантових стрибків в обробці інформації доведеться використовувати абсолютно нові технології. Ці технології, ймовірно, використовуватимуть "програмне забезпечення", хоч можливо і в контексті, досить чужому тому, що є сьогодні. І хто знає, які вимоги до адресного простору вони мають або можуть надати? Або, чи адресний простір є навіть значущим поняттям у цій технології?

Тож не відмовляйтеся від цього ще тільки.


Швидкість процесора - дещо інша концепція, ніж розмір пам'яті.

Я не впевнений, що можна зробити висновок, що через те, що швидкості процесора за останні кілька років не зросли багато, це пов'язане з наближенням до меж фізики. Справа в тому, що багатоядерні процесори протягом останніх кількох років відчували гнів, і можливо, виробники процесорів вкладають свої гроші на те, як найкраще використовувати всі ці процесори разом, а не витрачати свої гроші на покращення часу. Навіть великі компанії мають обмеження на свої R&D долари. Потужність накопичувача все ще зростає досить швидко IMO. Щойно побачив накопичувач на 3 ТБ за 140 доларів.
Данк

0

Так, буде. (Ігри? Штучний інтелект, пов'язаний з предметами?)

Більш підходящим питанням може бути, чи буде він зарахований до типового програміста. Подумайте, як Ruby автоматично перетворює номери з FixNum в BigNum і назад, коли це потрібно. Я був би здивований, якщо інші мови (принаймні динамічні) з часом не зроблять те саме.


1
о так. в біса так. Я хочу грати в таку круту гру, вона повинна використовувати 128-бітну арифметику !!!!!!!!!
Chani

1
Duke Nukem Forever Rev 2.0? Або Madden Football 2025?
Джон Р. Стром

0

Зберігання такої кількості інформації - це одне, а робити щось корисне з неї - інше. З моєї точки зору, я не бачу потреби в цьому сховищі, якщо ми не матимемо потужність обробки, щоб використовувати його. Можливо, кешування величезних баз даних - це одне, але для чисельної обробки я думаю, що спочатку нам потрібні процесори.


0

Чи потрібні програми коли-небудь стільки пам’яті? Цілком можливо. Такі програми, як прогноз погоди, фізичне моделювання в цілому або криптографія, ймовірно, завжди виграють від більшої кількості пам'яті та більшої потужності процесора. І хто знає, яким буде вбивця-додаток через 50-100 років? Голографічні екрани? Таблиці веселки для кожного можливого пароля зі 100 символами?

Чи фізично можливо представляти стільки пам’яті? Однозначно можливо. Наприклад, 100-кубітний квантовий комп'ютер може представляти ту саму кількість станів, що і класичний 2 ^ 100 бітовий комп'ютер. Швидше, ніж 2 ^ 67 біт адресного простору, який ми маємо зараз. (Я знаю, 100-кубітний квантовий комп'ютер звучить як наукова фантастика. Я не впевнений, що коли-небудь це вдасться побудувати. Але з іншого боку, те саме, можливо, можна сказати про будь-яку технологію, яка буде використовуватися 50 або через 100 років.)

Але я серйозно сумніваюся, що до цього часу "плоскі адресні простори" будуть головним хвилюванням. Можливо, до цього часу ми будемо розробляти квантові алгоритми, де поняття "адресний простір" не має особливого сенсу. Навіть якщо комп'ютери залишаються "класичними", можливо, нам доведеться мати справу зі страшною кількістю процесорних блоків з нерівномірною пам'яттю.


"100-кубітний квантовий комп'ютер може представляти таку ж кількість станів, що і класичний 2 ^ 100 бітовий комп'ютер." Це не дуже, як працюють кубіти. 100-кубітний комп'ютер може представляти таку ж кількість станів, що і 100-бітний комп'ютер. Різниця полягає в тому, що 100-кубітний комп'ютер може представляти суперпозицію всіх цих станів в один момент. Інша річ, що стосується кубітів - це те, що ви перейдете до їх читання, ви отримаєте лише одну відповідь, і це буде абсолютно випадково.
JimmyJames

@JimmyJames: Саме так. Отже, якщо ви хочете представити ту саму інформацію, яку має 100-кубітний квантовий комп'ютер в окремий момент часу в класичному комп'ютері (наприклад, для їх моделювання), вам знадобиться більше 100 біт. Це те, що я сказав. (Або мається на увазі, все одно.)
nikie

Знову ж таки, це не так працює. 2-бітний регістр може представляти 4 значення. 2-кубітний регістр може представляти 4 значення. Вони обоє здатні представляти однаковий діапазон значень. Регістр кубітів може представляти всі 4 одночасно. Ось в чому різниця.
JimmyJames

@JimmyJames: Це як би сказати, що 2-бітний "класичний" регістр може представляти 2 значення, але в той же час. Подумайте про це так: Якщо б ви хотіли змоделювати квантовий комп'ютер у класичному комп’ютері, скільки біт вам знадобиться для зберігання повного стану 2-кубітного квантового комп'ютера в будь-який час t ?
nikie

Я розумію, але я не вважаю, що ви не можете отримати певне значення у кубітів. Тобто, з урахуванням кубіту в суперпозиції, коли він буде прочитаний, ви отримаєте або 1, або 0, але ви не можете отримати обидва значення через декогерентність: en.wikipedia.org/wiki/Quantum_decoherence
JimmyJames

0

Що буде, якби кожне місце пам'яті мало глобальну унікальну адресу?

  • Мережеві протоколи можуть стати набагато простішими.
  • Розподілені об'єкти були б цікавими - всі об'єкти могли існувати в одному просторі пам'яті.
  • Можливо, ми переключимось на спогади "написати один раз" і включимо час як частину структури адреси. Ви могли читати предмети, які існували в минулому.
  • Усі вторинні сховища будуть безпосередньо адресовані. До побачення FILE, fopen()і т.д.
  • Вас можуть заарештувати за те, що писали на поганий покажчик та вручали чужий автомат.
  • Студенти повинні були пройти обстеження перед тим, як пройти перший клас CS: дуже мало людей можуть протистояти загальному перспективному вихору .

0

Тут я просто «міркував вголос», але мені просто прийшло в голову, що можна зробити цікаві семантичні речі з рештою 64 біт на, скажімо, 128-бітному комп’ютері. Ср. спосіб роботи ІР.

Я впевнений, що люди можуть придумати цікаве використання для чогось подібного. :) Хтось знає, для чого PS3 використовує свої 128 бітні адреси? Звичайно, ви б не витрачали на себе всю додаткову пам'ять (а я говорю лише про пам'ять для фактичних адрес, а не про те, на що вказують ці адреси). Адреси як дані. Ви навіть можете кодувати гілку в самій адресі ... тобто 0x [ifAddress] [elseAddress] Багатоядерні системи можуть також отримати користь від цього типу сегментації. І ... І ...


0

Чи є якісь причини перейти на 64-бітну архітектуру? (18,446,744,073,709,551,615 байт адресної пам'яті)

Використовуючи стандарт IEEE 1541-2002, що стосується використання префіксів для двійкових кратних одиниць вимірювання, пов'язаних з цифровою електронікою та обчисленнями, ми бачимо, що:

1 байт = 8 біт, 1 кілобайт = 1024 байт, 1 мегабайт = 1024 кб, 1 гігабайт = 1024 МБ, 1 терабайт = 1024 ГБ, 1 петабайт = 1024 ТБ, 1 екзабайт = 1024 ПБ

І так далі для Zettabyte, Yottabyte, Xenottabyte, Shilentnobyte, Domegemegrottebyte, Icosebyte та Monoicosebyte.

Загальний обсяг накопичувача на Землі за оцінками становитиме близько 2500 екзабайт станом на 2016 рік.

64-бітний реєстр може безпосередньо отримувати доступ до 15 екзабайт пам'яті. 128-бітний реєстр може безпосередньо отримувати доступ до 3.40282367 × 10 ^ 35 Zettabytes. Або 295,147,905,247,928,000 Моноікосебіти.

Тож ми можемо побачити, що 128-розрядний реєстр міг би отримати доступ до всієї пам’яті Землі, всього, що коли-небудь надсилалося в Інтернеті, кожного слова, коли-небудь сказаного чи написаного, кожного фільму та багато іншого, протягом досить тривалого часу .

Тож відповідь - так , до очікування рамки, яка може вказувати на будь-яку цифрову річ, яка колись була або коли-небудь буде .


0

Найкраща оцінка, яку я можу знайти за кількістю нейронів у середньому мозку людини, становить приблизно 86 мільярдів. Ми не можемо безпосередньо порівняти оперативну пам’ять з нейронами в цілому, але в нейронній мережі ти можеш. Це займає ряд адрес для відображення стану нейрона або синапсу. Тож я викину здогад і скажу, що ми дивимось на щось на зразок трильйона адрес, щоб створити нейронну мережу, яка б була порівнянна з людським мозку. Тож якщо це можна зробити, я не бачу, чому це не піде набагато далі. Види проблем, з якими може розглядатися така мережа, виходять за рамки наших можливостей зрозуміти, а також чому вони повинні бути такими великими, щоб це зробити.


0

Це адресний простір. Скажімо, ми змінюємо стандарт C, щоб Realloc не дозволяв змінювати використаний покажчик. Сьогодні я можу виділити 2 ^ 33 блоку пам'яті (на моєму Mac потрібно буде 192 ГБ оперативної пам’яті, 8 мільярдів разів 8 байтових покажчиків та 16 байт виділеного простору, тому я не можу цього зробити зараз, але я можу придбати Mac, який може робити це, не виймаючи нової застави).

І я можу перерозподілити будь-який із цих покажчиків на 2 ^ 33 байти. Небагато одночасно, хоча :-) Якщо realloc не дозволяє переміщувати покажчики, і дозволено 2 ^ 33 байти, оригінальні покажчики повинні бути на відстані 2 ^ 33 байт, тобто 2–66 байт пам'яті потрібно.


-1

Звичайно, я не бачу причин, чому б ця кількість місця не потрібна в майбутньому. Якщо ви розглядаєте розробку ігор, то немає обмежень щодо того, наскільки реалістичною чи складною може бути гра, правда? (Деталізація графіки / кількості використаних полігонів та алгоритмів, що визначають взаємодію та поведінку об'єктів)?

Хто знає, що через 10 років ми можемо грати в 10ТБ гри з мінімальними вимогами 12 ГБ оперативної пам’яті та 8-ядерним процесором. : P


Немає меж у деталях. Але для кремнію є обмеження.
Біллі ONeal

-1

20 років тому на планеті було на 2 мільярди менше людей, і більшість комп'ютерних систем мали адресну пам'ять, яку можна було виміряти в кілобайтах. Сьогодні населення світу збільшується з однаковими темпами, а кількість користувачів комп'ютерів щороку збільшується експоненціально.

Це правда, що дуже мало систем потребує повного 64-байтного адресного простору. Однак деякі системи зберігають терабайти інформації щодня. Це стало можливим завдяки збільшенню користувачів комп'ютерів та швидкості Інтернету. Ми вже можемо підтримувати швидкість Інтернету 10 Гб / с лише через 23 роки після створення HTTP. З цією швидкістю, я думаю, було б нерозумно не сподіватися на 1 ТБ / с або більш високі швидкості Інтернету за 50 років. Коли ми зможемо швидко переміщувати дані, буде більше даних, які зберігатимуться, тоді як для зберігання цих даних буде більше людей, і майже неминуче потрібно буде ще один широкомасштабний перехід у 128-бітну систему, і, зрештою, 256 і 512 біт.


Ви в усіх відношеннях правильні, проте ви пропустили мою думку. Обчислювальній галузі менше 100 років, і якщо вона продовжує зростати, як це було за останні кілька десятиліть, було б не тільки нерозумно вважати, що ми досягли своєї межі в цей момент часу, але вона не знає вимог майбутнього. Адресний простір - не єдина причина, чому нам потрібна 64-бітна архітектура. Набори інструкцій можуть зростати настільки великими, що вказівники шириною 128 біт є більш ефективними та бажаними. Ще одна перевага - це простір реєстру процесора, який переходить на більш високу архітектуру бітів.
Андрій Кац

Я не знаю, чому я написав усі ці коментарі - просто поганий настрій - це моя найкраща виправдання. Проте голосування не моє.
Steve314

-1

так, додатки не заповнюють кожен байт віртуального простору. Найбільшу користь отримає рандомізація розміщення адресного простору.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.