В общем, квадратик/кристалл процессора очень маленький. А корпус большой. Можно увеличить кристалл раз в 1000 минимум а если сделать в несколько слоев -- то в несколько миллионов раз. Увеличить количество транзисторов до триллиона и более.
Зачем? А встроить прямо в процессор десятки гигабайт кэша + реализовать модули для конкретных алгоритмов. К примеру реализовать аппаратно все алгоритмы криптографии, поиска, сортировки и пр.
Причем такая архитектура не приведет к увеличению мощности процессора -- нужные модули можно включать и отключать по требованию.
Здравствуйте, Shmj, Вы писали:
S>В общем, квадратик/кристалл процессора очень маленький. А корпус большой. Можно увеличить кристалл раз в 1000 минимум а если сделать в несколько слоев -- то в несколько миллионов раз. Увеличить количество транзисторов до триллиона и более. S>Зачем? А встроить прямо в процессор десятки гигабайт кэша + реализовать модули для конкретных алгоритмов. К примеру реализовать аппаратно все алгоритмы криптографии, поиска, сортировки и пр. S>Причем такая архитектура не приведет к увеличению мощности процессора -- нужные модули можно включать и отключать по требованию. S>Почему еще не пошли по этому пути?
Думаю процент брака таких здоровенных щтук будет около 100. Где-то из-за дефекта отключат блок криптографии, где-то поиска, а где-то сортировки и т.д. И каждый проц получится не похожий на сошедший с того же конвейера.
Здравствуйте, Shmj, Вы писали:
S>В общем, квадратик/кристалл процессора очень маленький. А корпус большой. Можно увеличить кристалл раз в 1000 минимум а если сделать в несколько слоев -- то в несколько миллионов раз. Увеличить количество транзисторов до триллиона и более.
Охлаждать сложнее.
S>Зачем? А встроить прямо в процессор десятки гигабайт кэша + реализовать модули для конкретных алгоритмов. К примеру реализовать аппаратно все алгоритмы криптографии, поиска, сортировки и пр.
"Мысль свежая, а главное — оригинальная" ((с) ПНВС, Стругацкие)
Кто этими алгоритмами будет пользоваться из существующего софта? Да и поиск с сортировкой у программ, где это важно — уже свои. Возьмите тот же постгрес.
Здравствуйте, Shmj, Вы писали:
S>Почему еще не пошли по этому пути?
Принципиальных возможностей улучшить производительность в рамках того же транзисторного бюджета полно, но все они разбиваются о маленький нюанс: совместимость.
Например, для предложенного варианта узкое место — затраты на синхронизацию. Чтоб обойти нужно полностью менять модель вычислений и переходить к акторам аля erlang/scala/orleans и, скорее всего, к stm (неплохой ликбез от автора Functors, Applicatives, And Monads In Pictures и grokking alghorithms). Это, в свою очередь, потребует отказа от фон-неймана и кучи неимоверной работы по переизобретению _всего_ что наработано за последние полвека для "традиционных" вычислительных машин. Что самое забавное, в итоге мы не добьёмся повышения производительности ни для единичного потока вычислений, ни для распараллеленного — закон Амдалла в помощь. Зато появится возможность повысить _общую_ производительность системы за счёт более эффективного использования простаивающих блоков.
И тут мы с интересом соображаем, что для легко распараллеливающихся вещей у нас уже есть gpgpu/fpga/etc. Для акторов — довольно эффективные софтварные реализации вплоть до embedded-систем + arm-кластеры, влезающие в 2u-blade. Для более эффективного использования железа — аналоги intel speed step / hyperthreading.
И наконец, что производительность настолько перестала быть проблемой, что идея распространять приложения в виде контейнеров-VM выглядит вполне здравой идеей. И из всего этого возникает резонный вопрос: а собственно нафига?
P.S. И да, не переехать ли в философию программирования? Тема не сильно флеймовая, как по мне. Бомбочку навесил, поддерживайте.
Здравствуйте, Shmj, Вы писали:
S>Можно увеличить кристалл раз в 1000 минимум S>Почему еще не пошли по этому пути?
Элементарная жадность. Пластина — одна, делать из неё один проц или семь шапочек 100 — что выгоднее?
По этой же причине мы до сих пор сидим на бестолковой меди, когда давно уже можно было соединять ВСЕ компоненты компа оптоволокном.
Ну и раз уж пошла такая пьянка, ОПТИЧЕСКИЕ ВЫЧИСЛЕНИЯ были возможны ещё 20 лет назад. Очевидно, со скоростью света. Не пошло — проще играть с ножками процессора! (плюнул в спину главы Intel)
Здравствуйте, Shmj, Вы писали:
S>Почему еще не пошли по этому пути?
Потому, что чем больше транзисторов, тем больше вероятность, что какой-то из них получится бракованным. Если структора слишком сложная, выход годных кристаллов будет слишком маленький. А поскольку в цену годных заложена и цена негодных, годные будут стоить слишком дорого.
S>В общем, квадратик/кристалл процессора очень маленький. А корпус большой. Можно увеличить кристалл раз в 1000 минимум а если сделать в несколько слоев -- то в несколько миллионов раз. Увеличить количество транзисторов до триллиона и более.
Тут идет борьба за то чтобы размер чипа уменьшить на несколько процентов, и даже не из-за потребления.
А просто потому что можно нарезать больше, цена меньше. А тут предлагаю в 1000 раз увеличить.
Ну и будет он в миллион раз дороже. Тысяча за размер, да тысяча за то что годных выход уменьшится
Здравствуйте, Pzz, Вы писали:
Pzz>Потому, что чем больше транзисторов, тем больше вероятность, что какой-то из них получится бракованным. Если структора слишком сложная, выход годных кристаллов будет слишком маленький. А поскольку в цену годных заложена и цена негодных, годные будут стоить слишком дорого.
Дык... Можно чуть увеличить размер транзистора, не пытаться сделать самыми маленькими. Ну если кристалл будет 100*100*5 мм -- разве это много? В любой ноутбук влезет.
Сделать резерв -- если один блок не получился -- отключаем его и подключаем резервный.
Здравствуйте, Sinix, Вы писали:
>идея распространять приложения в виде контейнеров-VM выглядит вполне здравой идеей
вы, товарищ, много нафонтанировали в своём посте, но о наиболее вопиющем я всё-таки намекну. Контейнеры как раз и появились потому, что производительность таки проблема. Но что самое интересное, контейнеры не имеют абсолютно никакого отношения к виртуальным машинам.
Здравствуйте, antropolog, Вы писали:
>>идея распространять приложения в виде контейнеров-VM выглядит вполне здравой идеей A>Но что самое интересное, контейнеры не имеют абсолютно никакого отношения к виртуальным машинам.
Ага, налажал. Там по задумке было "в VM в облаке", сформулировал криво. Есть свой вариант ответа на "а нафига?" — велкам.
Здравствуйте, Shmj, Вы писали:
S>Зачем? А встроить прямо в процессор десятки гигабайт кэша + реализовать модули для конкретных алгоритмов. К примеру реализовать аппаратно все алгоритмы криптографии, поиска, сортировки и пр.
Сферические алгоритмы в вакууме бывают только в книжках. В реальной жизни алгоритмы неотделимы от структур данных.
Здравствуйте, Kolesiki, Вы писали:
K>Ну и раз уж пошла такая пьянка, ОПТИЧЕСКИЕ ВЫЧИСЛЕНИЯ были возможны ещё 20 лет назад. Очевидно, со скоростью света. Не пошло — проще играть с ножками процессора! (плюнул в спину главы Intel)
Оптические _аналоговые_ вычисления. Маленький такой нюанс.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Pzz, Вы писали:
Pzz>>Потому, что чем больше транзисторов, тем больше вероятность, что какой-то из них получится бракованным. Если структора слишком сложная, выход годных кристаллов будет слишком маленький. А поскольку в цену годных заложена и цена негодных, годные будут стоить слишком дорого.
S>Дык... Можно чуть увеличить размер транзистора, не пытаться сделать самыми маленькими. Ну если кристалл будет 100*100*5 мм -- разве это много? В любой ноутбук влезет.
Будет больше площадь нагревания, нужна будет больше система охлаждения и т.п.
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, Shmj, Вы писали:
S>>Почему еще не пошли по этому пути?
Pzz>Потому, что чем больше транзисторов, тем больше вероятность, что какой-то из них получится бракованным. Если структора слишком сложная, выход годных кристаллов будет слишком маленький. А поскольку в цену годных заложена и цена негодных, годные будут стоить слишком дорого.
Думается, что и валидация всего этого дела на одном кристалле становится существенно дороже, с большей вероятностью налажать.
Здравствуйте, Sharov, Вы писали:
S>Думается, что и валидация всего этого дела на одном кристалле становится существенно дороже, с большей вероятностью налажать.
Никто не говорит что сразу. Постепенно увеличить размер кристалла, повышать точность печати.
Здравствуйте, Shmj, Вы писали:
S>Причем такая архитектура не приведет к увеличению мощности процессора -- нужные модули можно включать и отключать по требованию. S>Почему еще не пошли по этому пути?
Потому что это никому не нужно. Криптография, всякие SSE и виртуализация есть давно. А за пределами этого получается формула "ускорить среднюю производительность на 0.1% ценой увеличения стоимости на 10% и снижения надежности на 1%". Нафиг-нафиг.