Ядерная математика
Aug. 7th, 2018 04:40 pm538 последняя китайская новость:
Еще в прошлом тысячелетии суперкомпьютеры состояли из десятков тысяч процессоров. в этом наверняка больше ста тысяч будет.
Вместе с тем и отдельные процессора тоже стали существенно многоядерными. Но и это не все, там внутри всякие потоки, конвейеры, спекулятивное исполнение. А еще кэши в три наката и всякое такое, что, увеличивая количество вентилей в разы, позволяет слегка повысить производительность всего чипа в целом.
Вместе с тем, будучи пользователем однопроцессорной машины, я не вижу у себя задач, которые без всяких конвейеров нельзя было бы разложить по тысяче менее сложных ядер. Более того, графический процессор так и сделан. И это работает. Да так, что для особо тяжелых задач охотно используют именно GPU. Наверное, при желании можно программными средствами заставить тысячу ядер всеми этими спекуляциями заниматься. Но, повторяю, не вижу в этом необходимости.
И еще более того, вот этот экзафлопный, сколько бы конвейеров какой бы длины ни было в каждом отдельном процессоре, снаружи все равно - отдельный процессор и большую задачу придется распределять между ними более -менее равномерно.
Вот объясните нам, блондинам, какие вообще задачи (кроме маркетинговых, конечно) требуют непременно очень сложных процессоров. И отдельно: какие задачи для персонального компьютера реально требуют сложных процессоров, а не массива простых ядер.
В Китае началась работа прототипа вычислительной машины эксафлопсного класса, относящейся к следующему поколению суперкомпьютеров.
Еще в прошлом тысячелетии суперкомпьютеры состояли из десятков тысяч процессоров. в этом наверняка больше ста тысяч будет.
Вместе с тем и отдельные процессора тоже стали существенно многоядерными. Но и это не все, там внутри всякие потоки, конвейеры, спекулятивное исполнение. А еще кэши в три наката и всякое такое, что, увеличивая количество вентилей в разы, позволяет слегка повысить производительность всего чипа в целом.
Вместе с тем, будучи пользователем однопроцессорной машины, я не вижу у себя задач, которые без всяких конвейеров нельзя было бы разложить по тысяче менее сложных ядер. Более того, графический процессор так и сделан. И это работает. Да так, что для особо тяжелых задач охотно используют именно GPU. Наверное, при желании можно программными средствами заставить тысячу ядер всеми этими спекуляциями заниматься. Но, повторяю, не вижу в этом необходимости.
И еще более того, вот этот экзафлопный, сколько бы конвейеров какой бы длины ни было в каждом отдельном процессоре, снаружи все равно - отдельный процессор и большую задачу придется распределять между ними более -менее равномерно.
Вот объясните нам, блондинам, какие вообще задачи (кроме маркетинговых, конечно) требуют непременно очень сложных процессоров. И отдельно: какие задачи для персонального компьютера реально требуют сложных процессоров, а не массива простых ядер.
no subject
Date: 2018-08-07 02:34 pm (UTC)Например, можно более сложное моделирование по монте-карло запустить. Там, насколько я понимаю, часто бывают задачи не на тупо перемножение матриц, а где надо много по памяти шариться с сильно ветвистыми условиями.
no subject
Date: 2018-08-07 02:42 pm (UTC)Но.
1) где это монте-карло
находитсяприменяется ?2) почему без нет распараллеливаемых альтернатив ?
3) почему эти расчеты надо вести непременно на персональном компьютере ?
4) в суперкомпьютере все равно сто тысяч процессоров - там как ?
no subject
Date: 2018-08-07 02:49 pm (UTC)> где это монте-карло находится применяется ?
Да где угодно, в физике, химии, математике, экономике и тд.
> почему эти расчеты надо вести непременно на персональном компьютере ?
Можно на чём угодно, в том числе и на персоналках. Там просто в зависимости от мощностей будет разное количество итераций в алгоритме, соответственно, результат будет с разной точностью.
Соответственно, на персоналке точность будет одна, а на суперкомпьютере в сто тысяч процессоров будет другая.
no subject
Date: 2018-08-07 03:02 pm (UTC)no subject
Date: 2018-08-07 03:05 pm (UTC)no subject
Date: 2018-08-07 03:09 pm (UTC)2) потому что девять баб не рожают ребенка за месяц. такова сущность задачи — без знания результата на текущем шаге не сделать следующий. пример: решето эратосфена, merge sort.
4) там так, что на них считают хорошо параллелящиеся задачи. fem например, или просто если перебор вариантов какой.
no subject
Date: 2018-08-07 03:17 pm (UTC)no subject
Date: 2018-08-07 03:30 pm (UTC)"... - это такой большой проект в рамках European Bioinformatics Institute - мы занимались созданием европейского геномного браузера и порождением данных для него. А данных там очень много, и они обновлялись примерно 5 раз в год (быстрее мы на всех своих кластерах обсчитать не успевали)
....
короче говоря, у нас есть кубики, из которых можно составлять распараллеленные пайплайны
есть язык, при помощи которого мы описываем взаимодействие этих кубиков
и есть платформа, которая разговаривает с кластерами, следит, какие задачи можно запускать после каких, поставляет им входные данные, сливает выходные в базу и следит за целостностью состояния системы. Любой узел сети, исполняющий задачу, может сломаться, и мы не хотим из-за этого пересчитывать свои терабайты. Просто откатываемся минимально назад, и продолжаем дальше.
В приложении, для которого изначально создавался ...., поток управления может очень широко разветвляться (после одной “нити” может потребоваться несколько миллионов не зависящих друг от друга ниточек), которые могут потом снова утоньшаться несколько раз (независимо - каждая ниточка сама локально принимает это решение), а потом собираться обратно, и наконец мы в конце снова получаем single control thread.
При этом миллиона узлов у нас в кластере, конечно же, не было, да и слишком затратно с точки зрения очереди грузить туда миллионы отдельных задачек по несколько миллисекунд каждая. Поэтому очередь кластера видит наши вычисления некими крупными осмысленными кусками (например, по полчаса длиной каждый), а за внутренней структурой этих кусочков мы следим уже сами...."
Ну то есть вышеприведённое описание - это про некие информационно-поисковые и исследовательские операции над очень большой геномной базой. Параллельное вычисление есть, а массово-параллельное (на тех же GPU) получается сделать очень не всегда, т.к. логика каждой нити вычисления своя. Вот тут процессор общего назначения начинает выигрывать у GPU.
no subject
Date: 2018-08-07 03:33 pm (UTC)no subject
Date: 2018-08-07 03:41 pm (UTC)no subject
Date: 2018-08-07 03:45 pm (UTC)no subject
Date: 2018-08-07 03:47 pm (UTC)no subject
Date: 2018-08-07 03:59 pm (UTC)no subject
Date: 2018-08-07 04:07 pm (UTC)no subject
Date: 2018-08-07 04:08 pm (UTC)"способ решения сложных задач путём разбиения их на более простые подзадачи"
:-)
no subject
Date: 2018-08-07 04:09 pm (UTC)ротрпа
надо привести к первоначальному виду перестановку букв.
no subject
Date: 2018-08-07 04:11 pm (UTC)И это не говоря уже про всякие "отпарсить html и понять координаты картинок и буковок на странице".
Ну и вообще - при наличии бесконечного количества процессоров, скорость будет определяться скоростью куска, который нельзя распараллелить. Вот мы и наблюдаем: дохренища простых ядер на GPU - туда скидывается все что можно распараллелить, плюс несколько сложных ядер с кешами и предсказателями на CPU - эти молотят то, что распараллелить сложно или вообще нельзя.
no subject
Date: 2018-08-07 04:11 pm (UTC)no subject
Date: 2018-08-07 04:13 pm (UTC)no subject
Date: 2018-08-07 04:24 pm (UTC)no subject
Date: 2018-08-07 04:44 pm (UTC)no subject
Date: 2018-08-07 04:46 pm (UTC)no subject
Date: 2018-08-07 04:53 pm (UTC)no subject
Date: 2018-08-07 04:55 pm (UTC)ДАЕРМУЗАЗАЯ
no subject
Date: 2018-08-07 04:58 pm (UTC)