[identity profile] vlkamov.livejournal.com posting in [community profile] engineering_ru
538 последняя китайская новость:
В Китае началась работа прототипа вычислительной машины эксафлопсного класса, относящейся к следующему поколению суперкомпьютеров.

Еще в прошлом тысячелетии суперкомпьютеры состояли из десятков тысяч процессоров. в этом наверняка больше ста тысяч будет.

Вместе с тем и отдельные процессора тоже стали существенно многоядерными. Но и это не все, там внутри всякие потоки, конвейеры, спекулятивное исполнение. А еще кэши в три наката и всякое такое, что, увеличивая количество вентилей в разы, позволяет слегка повысить производительность всего чипа в целом.

Вместе с тем, будучи пользователем однопроцессорной машины, я не вижу у себя задач, которые без всяких конвейеров нельзя было бы разложить по тысяче менее сложных ядер. Более того, графический процессор так и сделан. И это работает. Да так, что для особо тяжелых задач охотно используют именно GPU. Наверное, при желании можно программными средствами заставить тысячу ядер всеми этими спекуляциями заниматься. Но, повторяю, не вижу в этом необходимости.

И еще более того, вот этот экзафлопный, сколько бы конвейеров какой бы длины ни было в каждом отдельном процессоре, снаружи все равно - отдельный процессор и большую задачу придется распределять между ними более -менее равномерно.

Вот объясните нам, блондинам, какие вообще задачи (кроме маркетинговых, конечно) требуют непременно очень сложных процессоров. И отдельно: какие задачи для персонального компьютера реально требуют сложных процессоров, а не массива простых ядер.
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Date: 2018-08-07 02:34 pm (UTC)
From: [identity profile] swizard.livejournal.com
> какие задачи для персонального компьютера реально требуют сложных процессоров, а не массива простых ядер

Например, можно более сложное моделирование по монте-карло запустить. Там, насколько я понимаю, часто бывают задачи не на тупо перемножение матриц, а где надо много по памяти шариться с сильно ветвистыми условиями.

Date: 2018-08-07 02:49 pm (UTC)
From: [identity profile] swizard.livejournal.com
Не, ну там не один процессор, конечно, такое моделирование довольно хорошо распараллеливается. Просто там не всякие задачи хорошо ложатся на gpu, нужны именно "большие" процессорные ядра.

> где это монте-карло находится применяется ?

Да где угодно, в физике, химии, математике, экономике и тд.

> почему эти расчеты надо вести непременно на персональном компьютере ?

Можно на чём угодно, в том числе и на персоналках. Там просто в зависимости от мощностей будет разное количество итераций в алгоритме, соответственно, результат будет с разной точностью.

Соответственно, на персоналке точность будет одна, а на суперкомпьютере в сто тысяч процессоров будет другая.

Date: 2018-08-07 03:02 pm (UTC)
From: [personal profile] ex0_planet
Не все задачи тупо параллелятся.

Date: 2018-08-07 03:09 pm (UTC)
From: [personal profile] ex0_planet
1) где угодно
2) потому что девять баб не рожают ребенка за месяц. такова сущность задачи — без знания результата на текущем шаге не сделать следующий. пример: решето эратосфена, merge sort.
4) там так, что на них считают хорошо параллелящиеся задачи. fem например, или просто если перебор вариантов какой.

Date: 2018-08-07 03:17 pm (UTC)
From: [personal profile] ex0_planet
А еще — это я между строк у вас читаю — если посмотреть глобально с точки зрения... я не знаю, как макроэкономика только инженерия. Макроинженерии? Короче, надо учитывать, что в какой-то момент реальность вас ставит перед фактом, что сколько бы у вас не было инженеров и сколько бы у них пядей во лбу не было, они всё равно упираются в предел сложности разрабатываемых систем. Например, никто не в состоянии (пока?) спроектировать экзафлопный компьютер с параллелизмом на микроуровне. Поэтому приходится идти по проверенному десятилетиями способу пакования сложности в блоки с известными характеристиками и далее объединяя этими блоки в большее целое. Абстрагируясь то есть. И закрывая глаза на неидеальность этих блоков.

Date: 2018-08-07 03:30 pm (UTC)
From: [identity profile] golosptic.livejournal.com
Привожу пример задачи (из переписки с одним из коллег)

"... - это такой большой проект в рамках European Bioinformatics Institute - мы занимались созданием европейского геномного браузера и порождением данных для него. А данных там очень много, и они обновлялись примерно 5 раз в год (быстрее мы на всех своих кластерах обсчитать не успевали)
....
короче говоря, у нас есть кубики, из которых можно составлять распараллеленные пайплайны

есть язык, при помощи которого мы описываем взаимодействие этих кубиков

и есть платформа, которая разговаривает с кластерами, следит, какие задачи можно запускать после каких, поставляет им входные данные, сливает выходные в базу и следит за целостностью состояния системы. Любой узел сети, исполняющий задачу, может сломаться, и мы не хотим из-за этого пересчитывать свои терабайты. Просто откатываемся минимально назад, и продолжаем дальше.

В приложении, для которого изначально создавался ...., поток управления может очень широко разветвляться (после одной “нити” может потребоваться несколько миллионов не зависящих друг от друга ниточек), которые могут потом снова утоньшаться несколько раз (независимо - каждая ниточка сама локально принимает это решение), а потом собираться обратно, и наконец мы в конце снова получаем single control thread.

При этом миллиона узлов у нас в кластере, конечно же, не было, да и слишком затратно с точки зрения очереди грузить туда миллионы отдельных задачек по несколько миллисекунд каждая. Поэтому очередь кластера видит наши вычисления некими крупными осмысленными кусками (например, по полчаса длиной каждый), а за внутренней структурой этих кусочков мы следим уже сами...."

Ну то есть вышеприведённое описание - это про некие информационно-поисковые и исследовательские операции над очень большой геномной базой. Параллельное вычисление есть, а массово-параллельное (на тех же GPU) получается сделать очень не всегда, т.к. логика каждой нити вычисления своя. Вот тут процессор общего назначения начинает выигрывать у GPU.

Date: 2018-08-07 03:33 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
криптология например, задачи с перебором

Date: 2018-08-07 03:45 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
в криптологии не только с перебором задачи есть, но в основном смысл создания таких суперкомпов - именно криптологические задачи и финансируют их создание спецслужбы.

Date: 2018-08-07 03:59 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
любые задачи динамического программирования. например в теории игр

Date: 2018-08-07 04:07 pm (UTC)
From: [personal profile] alll
Перебор вариантов вроде довольно неплохо распараллеливается на мильоны ядер? Ну то-есть каждое ядро перебирает своё подмножество вариантов, интенсивный обмен данными между ядрами для этого не требуется.

Date: 2018-08-07 04:09 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
ну покажите практически как вы распаллелите, есть слово:
ротрпа
надо привести к первоначальному виду перестановку букв.

Date: 2018-08-07 04:11 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Моделирование всякое - вообще нормально не параллелится. Любая физика, да и экономика всякая небось тоже. Там каждый шаг зависит от предыдущего, и даже на одном шаге все друг от друга зависит. По-разному извращаться где-то можно, но параллелизация задачу как минимум усложняет, а то и вообще делает невозможной.

И это не говоря уже про всякие "отпарсить html и понять координаты картинок и буковок на странице".

Ну и вообще - при наличии бесконечного количества процессоров, скорость будет определяться скоростью куска, который нельзя распараллелить. Вот мы и наблюдаем: дохренища простых ядер на GPU - туда скидывается все что можно распараллелить, плюс несколько сложных ядер с кешами и предсказателями на CPU - эти молотят то, что распараллелить сложно или вообще нельзя.

Date: 2018-08-07 04:11 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
вот само разбиение там и есть ЗАДАЧА

Date: 2018-08-07 04:13 pm (UTC)
From: [personal profile] alll
Для двух процессоров например: первый процессор перебирает смещения на чётные числа, второй на нечётные.

Date: 2018-08-07 04:24 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
это не универсальный способ разбиения, каждый раз будет сидеть программист и вручную распаллеливать задачи?)

Date: 2018-08-07 04:44 pm (UTC)
From: [identity profile] zateevo.livejournal.com
ага, КО ВСЕМ ВОЗМОЖНЫМ ВАРИАНТАМ первоначалного вида

Date: 2018-08-07 04:46 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
словарным варинтам

Date: 2018-08-07 04:53 pm (UTC)
From: [identity profile] zateevo.livejournal.com
ага, смысловым и грамматическим

Date: 2018-08-07 04:55 pm (UTC)
From: [identity profile] pyka-npu3paka.livejournal.com
часто шифруют так, чтобы и текст был нечитаемым для дешифровшика. Например:
ДАЕРМУЗАЗАЯ

Date: 2018-08-07 04:58 pm (UTC)
From: [identity profile] zateevo.livejournal.com
ну если говорить о старой доброй зашифровке под "ключ" (типа парных художественных книг), то вообще никаким машинным способом не расшифровать
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 7th, 2026 08:22 am
Powered by Dreamwidth Studios