По производительности и характеру использования компьютеры можно условно разделить на

Обновлено: 06.07.2024

Это первое руководство из семинара "Начало работы с ливерморскими вычислениями". Он предназначен для предоставления лишь краткого обзора обширной и обширной темы параллельных вычислений в качестве вводной части для последующих руководств. Таким образом, он охватывает только самые основы параллельных вычислений и предназначен для тех, кто только знакомится с предметом и планирует посетить одно или несколько других руководств на этом семинаре. Он не предназначен для подробного рассмотрения параллельного программирования, так как это потребует значительно больше времени. Учебное пособие начинается с обсуждения параллельных вычислений — что это такое и как оно используется, после чего следует обсуждение концепций и терминологии, связанных с параллельными вычислениями. Затем исследуются темы параллельных архитектур памяти и моделей программирования. За этими темами следует серия практических дискуссий по ряду сложных вопросов, связанных с проектированием и выполнением параллельных программ. Учебник завершается несколькими примерами того, как распараллелить несколько простых задач. Ссылки включены для дальнейшего самостоятельного изучения.

Обзор

Что такое параллельные вычисления?

Последовательные вычисления

Традиционно программное обеспечение писалось для последовательных вычислений:

  • Задача разбита на отдельные серии инструкций.
  • Инструкции выполняются последовательно одна за другой
  • Выполняется на одном процессоре
  • В любой момент времени может выполняться только одна инструкция

Например:

Параллельные вычисления

Проще говоря, параллельные вычисления — это одновременное использование нескольких вычислительных ресурсов для решения вычислительной задачи:

  • Проблема разбивается на отдельные части, которые можно решать одновременно
  • Каждая часть далее разбита на серию инструкций.
  • Инструкции из каждой части выполняются одновременно на разных процессорах
  • Используется общий механизм контроля/координации

Например:

  • Вычислительная задача должна уметь:
    • Разбить на отдельные части работы, которые можно решать одновременно;
    • Выполнение нескольких программных инструкций в любой момент времени;
    • Решайте задачи быстрее, используя несколько вычислительных ресурсов, чем один вычислительный ресурс.
    • Один компьютер с несколькими процессорами/ядрами
    • Произвольное количество таких компьютеров, объединенных в сеть

    Параллельные компьютеры

    • Сегодня практически все автономные компьютеры параллельны с аппаратной точки зрения:
      • Несколько функциональных блоков (кеш L1, кэш L2, переход, предварительная выборка, декодирование, операции с плавающей запятой, обработка графики (GPU), целые числа и т. д.)
      • Несколько исполнительных блоков/ядер
      • Несколько аппаратных потоков

       IBM BG/Q Compute Chip с 18 ядрами (PU) и 16 модулями кэша L2 (L2)

      • Сети соединяют несколько автономных компьютеров (узлов) для создания больших параллельных компьютерных кластеров.
      • Например, на приведенной ниже схеме показан типичный кластер параллельных компьютеров LLNL:
        • Каждый вычислительный узел сам по себе является многопроцессорным параллельным компьютером
        • Несколько вычислительных узлов объединены в сеть Infiniband.
        • Узлы специального назначения, также многопроцессорные, используются для других целей.
        • Большинство больших параллельных компьютеров (суперкомпьютеров) в мире представляют собой кластеры оборудования, произведенного несколькими (в основном) известными поставщиками.

        График совместного использования систем поставщиков и доля производительности» width=

        Зачем использовать параллельные вычисления?

        Реальный мир чрезвычайно сложен

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



        Основные причины использования параллельного программирования

        ЭКОНОМЬТЕ ВРЕМЯ И/ИЛИ ДЕНЬГИ
        • Теоретически, выделение большего количества ресурсов для выполнения задачи сократит время ее выполнения и потенциально сэкономит средства.
        • Параллельные компьютеры могут быть собраны из дешевых, широко распространенных компонентов.

        Задачи выполняются быстрее с большим ресурсы, как показано несколькими людьми, строящими дом и несколькими плугами на поле». ширина =

        РЕШАТЬ БОЛЬШИЕ/БОЛЕЕ СЛОЖНЫЕ ПРОБЛЕМЫ

        Большие проблемы

        ОБЕСПЕЧИТЬ ПАРАЛЛЕЛЬНОСТЬ
        • Один вычислительный ресурс может одновременно выполнять только одну операцию. Несколько вычислительных ресурсов могут выполнять множество задач одновременно.
        • Пример. Сети для совместной работы представляют собой глобальную площадку, где люди со всего мира могут встречаться и работать «виртуально».

        COllaborativeNetworks, объединяющие людей по всему миру

        ИСПОЛЬЗОВАТЬ НЕМЕСТНЫЕ РЕСУРСЫ
        • Использование вычислительных ресурсов в глобальной сети или даже в Интернете, когда локальных вычислительных ресурсов недостаточно или недостаточно.
        • Пример. SETI@home (setiathome.berkeley.edu) насчитывает более 1,7 миллиона пользователей почти во всех странах мира (май 2018 г.).
        ЛУЧШЕ ИСПОЛЬЗОВАТЬ БАЗОВОЕ ПАРАЛЛЕЛЬНОЕ ОБОРУДОВАНИЕ
        • Современные компьютеры, даже ноутбуки, имеют параллельную архитектуру с несколькими процессорами/ядрами.
        • Параллельное программное обеспечение специально предназначено для параллельного оборудования с несколькими ядрами, потоками и т. д.
        • В большинстве случаев последовательные программы, запускаемые на современных компьютерах, «тратят впустую» потенциальную вычислительную мощность.

        Процессор Intel Xeon с 6 ядрами и 6 единиц кэш-памяти L3

        Будущее

        диаграмма развития производительности с увеличением флопов с течением времени

        Кто использует параллельные вычисления?

        Наука и техника

        Исторически параллельные вычисления считались «высшим уровнем вычислений» и использовались для моделирования сложных задач во многих областях науки и техники:

        • Атмосфера, Земля, Окружающая среда
        • Физика - прикладная, ядерная, частица, конденсированное состояние, высокое давление, термоядерный синтез, фотоника.
        • Бионаука, биотехнология, генетика
        • Химия, молекулярные науки
        • Геология, сейсмология
        • Машиностроение: от протезов до космических кораблей
        • Электротехника, схемотехника, микроэлектроника
        • Информатика, математика
        • Оборона, Оружие

        Примеры научного и инженерного моделирования

        Промышленные и коммерческие

        Сегодня коммерческие приложения являются равной или даже большей движущей силой в разработке более быстрых компьютеров. Эти приложения требуют сложной обработки больших объемов данных. Например:

        Это первое руководство из семинара "Начало работы с ливерморскими вычислениями". Он предназначен для предоставления лишь краткого обзора обширной и обширной темы параллельных вычислений в качестве вводной части для последующих руководств. Таким образом, он охватывает только самые основы параллельных вычислений и предназначен для тех, кто только знакомится с предметом и планирует посетить одно или несколько других руководств на этом семинаре. Он не предназначен для подробного рассмотрения параллельного программирования, так как это потребует значительно больше времени. Учебное пособие начинается с обсуждения параллельных вычислений — что это такое и как оно используется, после чего следует обсуждение концепций и терминологии, связанных с параллельными вычислениями. Затем исследуются темы параллельных архитектур памяти и моделей программирования. За этими темами следует серия практических дискуссий по ряду сложных вопросов, связанных с проектированием и выполнением параллельных программ. Учебник завершается несколькими примерами того, как распараллелить несколько простых задач. Ссылки включены для дальнейшего самостоятельного изучения.

        Обзор

        Что такое параллельные вычисления?

        Последовательные вычисления

        Традиционно программное обеспечение писалось для последовательных вычислений:

        • Задача разбита на отдельные серии инструкций.
        • Инструкции выполняются последовательно одна за другой
        • Выполняется на одном процессоре
        • В любой момент времени может выполняться только одна инструкция

        Например:

        Параллельные вычисления

        Проще говоря, параллельные вычисления — это одновременное использование нескольких вычислительных ресурсов для решения вычислительной задачи:

        • Проблема разбивается на отдельные части, которые можно решать одновременно
        • Каждая часть далее разбита на серию инструкций.
        • Инструкции из каждой части выполняются одновременно на разных процессорах
        • Используется общий механизм контроля/координации

        Например:

        • Вычислительная задача должна уметь:
          • Разбить на отдельные части работы, которые можно решать одновременно;
          • Выполнение нескольких программных инструкций в любой момент времени;
          • Решайте задачи быстрее, используя несколько вычислительных ресурсов, чем один вычислительный ресурс.
          • Один компьютер с несколькими процессорами/ядрами
          • Произвольное количество таких компьютеров, объединенных в сеть

          Параллельные компьютеры

          • Сегодня практически все автономные компьютеры параллельны с аппаратной точки зрения:
            • Несколько функциональных блоков (кеш L1, кэш L2, переход, предварительная выборка, декодирование, операции с плавающей запятой, обработка графики (GPU), целые числа и т. д.)
            • Несколько исполнительных блоков/ядер
            • Несколько аппаратных потоков

             IBM BG/Q Compute Chip с 18 ядрами (PU) и 16 модулями кэша L2 (L2)

            • Сети соединяют несколько автономных компьютеров (узлов) для создания больших параллельных компьютерных кластеров.
            • Например, на приведенной ниже схеме показан типичный кластер параллельных компьютеров LLNL:
              • Каждый вычислительный узел сам по себе является многопроцессорным параллельным компьютером
              • Несколько вычислительных узлов объединены в сеть Infiniband.
              • Узлы специального назначения, также многопроцессорные, используются для других целей.
              • Большинство больших параллельных компьютеров (суперкомпьютеров) в мире представляют собой кластеры оборудования, произведенного несколькими (в основном) известными поставщиками.

              График совместного использования систем поставщиков и доля производительности» width=

              Зачем использовать параллельные вычисления?

              Реальный мир чрезвычайно сложен

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



              Основные причины использования параллельного программирования

              ЭКОНОМЬТЕ ВРЕМЯ И/ИЛИ ДЕНЬГИ
              • Теоретически, выделение большего количества ресурсов для выполнения задачи сократит время ее выполнения и потенциально сэкономит средства.
              • Параллельные компьютеры могут быть собраны из дешевых, широко распространенных компонентов.

              Задачи выполняются быстрее с большим ресурсы, как показано несколькими людьми, строящими дом и несколькими плугами на поле». ширина =

              РЕШАТЬ БОЛЬШИЕ/БОЛЕЕ СЛОЖНЫЕ ПРОБЛЕМЫ

              Большие проблемы

              ОБЕСПЕЧИТЬ ПАРАЛЛЕЛЬНОСТЬ
              • Один вычислительный ресурс может одновременно выполнять только одну операцию. Несколько вычислительных ресурсов могут выполнять множество задач одновременно.
              • Пример. Сети для совместной работы представляют собой глобальную площадку, где люди со всего мира могут встречаться и работать «виртуально».

              COllaborativeNetworks, объединяющие людей по всему миру

              ИСПОЛЬЗОВАТЬ НЕМЕСТНЫЕ РЕСУРСЫ
              • Использование вычислительных ресурсов в глобальной сети или даже в Интернете, когда локальных вычислительных ресурсов недостаточно или недостаточно.
              • Пример. SETI@home (setiathome.berkeley.edu) насчитывает более 1,7 миллиона пользователей почти во всех странах мира (май 2018 г.).
              ЛУЧШЕ ИСПОЛЬЗОВАТЬ БАЗОВОЕ ПАРАЛЛЕЛЬНОЕ ОБОРУДОВАНИЕ
              • Современные компьютеры, даже ноутбуки, имеют параллельную архитектуру с несколькими процессорами/ядрами.
              • Параллельное программное обеспечение специально предназначено для параллельного оборудования с несколькими ядрами, потоками и т. д.
              • В большинстве случаев последовательные программы, запускаемые на современных компьютерах, «тратят впустую» потенциальную вычислительную мощность.

              Процессор Intel Xeon с 6 ядрами и 6 единиц кэш-памяти L3

              Будущее

              диаграмма развития производительности с увеличением флопов с течением времени

              Кто использует параллельные вычисления?

              Наука и техника

              Исторически параллельные вычисления считались «высшим уровнем вычислений» и использовались для моделирования сложных задач во многих областях науки и техники:

              • Атмосфера, Земля, Окружающая среда
              • Физика - прикладная, ядерная, частица, конденсированное состояние, высокое давление, термоядерный синтез, фотоника.
              • Бионаука, биотехнология, генетика
              • Химия, молекулярные науки
              • Геология, сейсмология
              • Машиностроение: от протезов до космических кораблей
              • Электротехника, схемотехника, микроэлектроника
              • Информатика, математика
              • Оборона, Оружие

              Примеры научного и инженерного моделирования

              Промышленные и коммерческие

              Сегодня коммерческие приложения являются равной или даже большей движущей силой в разработке более быстрых компьютеров. Эти приложения требуют сложной обработки больших объемов данных. Например:

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

              Примите всю возможную помощь.

              Если у параллельных вычислений есть центральный принцип, то это может быть он. Некоторые из безумно сложных вычислений, требуемых от современного оборудования, настолько требовательны, что вычислительная нагрузка должна нести несколько процессоров, эффективно «распараллеливая» любую выполняемую задачу. Результат? Сокращены задержки и увеличено время выполнения.

              Возможно, самый заметный толчок в сторону параллелизма произошел примерно в 2006 году, когда производитель аппаратного обеспечения Nvidia обратился к Вен-мей Хву, профессору электротехники и вычислительной техники из Университета Иллинойса в Урбана-Шампейн. Nvidia разрабатывала графические процессоры (GPU), которые благодаря большому количеству потоков и ядер имели гораздо более высокую пропускную способность памяти, чем традиционные центральные процессоры (CPU), для обработки огромного количества пикселей.

              Приложения для параллельной обработки

              Под параллельной обработкой понимается ускорение вычислительной задачи за счет ее разделения на более мелкие задачи, выполняемые несколькими процессорами. Известные приложения для параллельной обработки (также известные как параллельные вычисления) включают вычислительную астрофизику, геообработку (или сейсмическую съемку), моделирование климата, оценки сельского хозяйства, управление финансовыми рисками, коррекцию цвета видео, вычислительную гидродинамику, медицинские изображения и поиск лекарств.

              «Они спросили, не хочу ли я применить это в общих приложениях для параллельных вычислений», — сказал Хву, которого сейчас считают крестным отцом параллельных вычислений.

              Это фактически привело к использованию графических процессоров для вычислений общего назначения, а в конечном итоге и для систем с массовым параллелизмом. Хотите верьте, хотите нет, но схема, которую ваш компьютер использует для рендеринга причудливой графики для видеоигр и 3D-анимации, построена на той же корневой архитектуре, что и схемы, которые делают возможным точное прогнозирование климатических характеристик. Дикий, да? А параллельная инфраструктура графических процессоров продолжает обеспечивать работу самых мощных компьютеров.

              "Если вы посмотрите на рабочие лошадки для научного сообщества сегодня, новые компьютеры, такие как [суперкомпьютер IBM] Summit, а также следующего поколения, такие как Aurora, вы увидите, что сейчас они в значительной степени основаны на этой модели", – сказал Хву.

              Эта модель также является рабочей лошадкой для медицинских и коммерческих приложений, облегчая все: от открытия лекарств до межзвездного моделирования и методов постпродакшна фильмов.

              Вот несколько способов, с помощью которых параллельные вычисления помогают улучшить результаты и решить ранее неразрешимые задачи.

              примеры параллельной обработки научных исследований в области энергетики

              Наука, исследования и энергетика

              Наука, исследования и энергетика

              Когда вы нажимаете на приложение Weather Channel на своем телефоне, чтобы узнать прогноз на день, поблагодарите параллельную обработку. Не потому, что на вашем телефоне запущено несколько приложений — параллельные вычисления не следует путать с одновременными вычислениями, — а потому, что карты климата и погодных условий требуют серьезной вычислительной мощности параллельных вычислений.

              Параллельные вычисления также лежат в основе других научных исследований, включая астрофизическое моделирование, сейсморазведку, квантовую хромодинамику и многое другое. Вот некоторые из них.

              Примеры приложений для параллельной обработки в Северо-Западном университете

              Северо-западный университет

              Северо-западный университет

              Местоположение: Эванстон, штат Иллинойс

              Как это использует параллельные вычисления: Астрономия движется медленно. Могут потребоваться миллионы лет, чтобы звезды столкнулись, галактики слились или черные дыры поглотили астрономические объекты — вот почему астрофизики должны обращаться к компьютерному моделированию для изучения таких процессов. И такие сложные модели требуют огромной вычислительной мощности.

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

              «Эти детали вокруг черной дыры могут показаться незначительными, но они оказывают огромное влияние на то, что происходит в галактике в целом», — сказал исследователь Александр Чеховской из Северо-Западного университета, который сотрудничал с Амстердамским и Оксфордским университетами в исследовании. изучать. «Они контролируют скорость вращения черных дыр и, как следствие, влияние черных дыр на их галактики в целом».

              downundergeosolutions примеры приложений для параллельной обработки

              DownUnder Geosolutions

              Вниз под GeoSolutions

              Местоположение: Хьюстон, Техас

              Как он использует параллельные вычисления. Один из крупнейших игроков нефтяной отрасли живет в пригороде Хьюстона и носит имя Бабба. Но Bubba не шишка из черного золота, это суперкомпьютер (один из самых быстрых на планете), принадлежащий австралийской компании DownUnder GeoSolutions, занимающейся геообработкой.

              Обработка сейсмических данных уже давно помогает получить более четкое представление о подземных пластах, что совершенно необходимо для таких отраслей, как нефтегазовая промышленность. Тем не менее, суперкомпьютеры в наши дни практически обязательны для энергетических раскопок, особенно в связи с тем, что алгоритмы обрабатывают огромные объемы данных, чтобы помочь бурильщикам разрабатывать труднопроходимую местность, например, соляные купола. (Французский энергетический гигант Total использует самый мощный в мире коммерческий суперкомпьютер.)

              Основа Bubba состоит из тысяч мультипроцессоров Intel Xeon Phi, которые охлаждаются в масляных ваннах. Эта технология обеспечивает исключительно высокопроизводительную параллельную обработку. Есть надежда, что, продавая параллельный доступ к электроснабжению сторонним компаниям, меньше энергетических компаний будут вынуждены создавать свои собственные, менее эффективные системы.

              Примеры приложений для параллельной обработки в Университете штата Иллинойс

              Университет штата Иллинойс

              Университет Иллинойса

              Местоположение: Урбана-Шампейн, Иллинойс

              Как это происходит при использовании параллельных вычислений. Каждый месяц Министерство сельского хозяйства США оценивает объемы спроса и предложения на ряд основных сельскохозяйственных культур. Критически важные прогнозы могут повлиять на всех, от законодателей, стремящихся стабилизировать рынки, до фермеров, которые хотят управлять своими финансами.

              В прошлом году исследователи из Департамента природных ресурсов и наук об окружающей среде Университета I превзошли стандартные для отрасли прогнозы федеральных властей, включив в них больше данных – расчеты роста урожая и сезонную информацию о климате, а также данные со спутников – которые затем обработали с помощью машины. алгоритмы обучения, обработанные университетским суперкомпьютером с параллельными данными Blue Waters петамасштаба. Их прогноз быстро оказался точнее почти на пять бушелей на акр.

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

              примеры параллельной обработки коммерческих банковских финансов

              Коммерция

              Коммерческий мир

              Несмотря на то, что параллельные вычисления часто являются прерогативой академических и государственных исследовательских учреждений, коммерческий мир определенно обратил на это внимание.

              «Банковская отрасль, трейдеры инвестиционной индустрии, криптовалюты — это большие сообщества, которые используют много графических процессоров для зарабатывания денег», — сказал Хву.

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

              Примеры приложений для параллельной обработки данных Wells Fargo

              Уэллс Фарго

              Уэллс Фарго

              Местоположение: Сан-Франциско, Калифорния.

              Как он использует параллельные вычисления. Практически каждый важный аспект современного банковского дела, от оценки кредитоспособности до моделирования рисков и обнаружения мошенничества, выполняется с ускорением на GPU. В некотором смысле отход от традиционного анализа с использованием процессора был неизбежен. Разгрузка графических процессоров достигла своего апогея примерно в 2008 году, когда законодатели приняли несколько раундов финансового законодательства после краха. «Сейчас не редкость найти банк с десятками тысяч графических процессоров Tesla, — сказал соучредитель Xcelerit Хишам Лахлоу в интервью The Next Platform в 2017 году. — И этого не было бы без обязательного толчка со стороны регулирования». /p>

              Одним из первых пользователей стала компания JPMorgan Chase, объявившая в 2011 году о том, что ее переход с обработки данных только на ЦП на гибридную обработку данных на основе ЦП улучшил расчеты рисков в ее центрах обработки данных на 40 % и позволил сэкономить 80 %. Совсем недавно Wells Fargo использовала графические процессоры Nvidia для таких разнообразных процессов, как ускорение моделей ИИ для снижения риска ликвидности и виртуализация своей инфраструктуры настольных компьютеров.

              Графические процессоры также оказались в центре финансового тренда 2019 года: повального увлечения майнингом криптовалют. Но с тех пор продажи чипов стабилизировались после этого бума и спада.

              примеры приложений для параллельной обработки blackmagic design

              Дизайн Blackmagic

              Дизайн Blackmagic

              Местоположение: Порт Мельбурн, Австралия

              Как это происходит при использовании параллельных вычислений. Если вы видели, как персонаж Брэда Питта решает проблемы своего межгалактического отца в Ad Astra, или последний раунд искусно срежиссированного убийцы Джона Уика, вы также видели работу параллельных вычислений. обработка. Оба были раскрашены с помощью DaVinci Resolve Studio от Blackmagic Design, одного из нескольких стандартных голливудских наборов для постобработки (включая Adobe Effects и Avid Media Composer), который включает в себя инструменты с ускорением на графическом процессоре. «Высококачественный рендеринг, основанный на том, что они называют методом трассировки лучей, теперь использует некоторые из этих процессоров», — сказал Хву. Он добавил, что коррекция цвета и 3D-анимация обычно используют параллельную обработку GPU.

              примеры приложений для параллельной обработки Volkswagen

              Фольксваген

              Фольксваген

              Местоположение: Вольфсбург, Германия

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

              Инженеры полагались на программное обеспечение Anasys Fluent, по крайней мере, в двух ключевых аспектах: виртуальном моделировании трассы и поиске идеального баланса малого веса и аэродинамических потерь для системы охлаждения батареи.

              Такое охлаждение является одним из ряда так называемых симуляций вычислительной гидродинамики (CFD), которые пользователи могут запускать в Ansys, программе, которая легко поддерживает ускорение графического процессора. Это один из наиболее достойных заголовков примеров того, как мощные параллельные вычисления стали популярными для всех видов исследований CFD во всем, начиная от численного прогноза погоды и оптимизации двигателей внутреннего сгорания.

              примеры параллельной обработки результатов поиска лекарств

              Медицина и открытие лекарств

              Медицина и поиск лекарств

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

              Примеры приложений nvidia для параллельной обработки

              Нвидиа

              Нвидиа

              Местоположение: Санта-Клара, Калифорния.

              Как это происходит с использованием параллельных вычислений. Одной из первых отраслей, в которой произошли кардинальные изменения благодаря параллельной обработке данных, особенно революции в области использования графических процессоров для обычных вычислений, была медицинская визуализация. Сегодня существует целый массив медицинской литературы, в которой описывается, как высокие вычислительные мощности и пропускная способность привели к значительным улучшениям в скорости и четкости практически для всего: МРТ, КТ, рентгена, оптической томографии и многого другого.

              Следующий большой скачок в медицинской визуализации, скорее всего, будет таким же параллельным, и пионер параллельных технологий Nvidia находится в авангарде. Используя недавно выпущенный компанией набор инструментов, рентгенологи могут более легко получить доступ к возможностям ИИ, который помогает системам визуализации обрабатывать растущие объемы данных и вычислительную нагрузку. Сообщается, что система с использованием графического процессора, получившая название Clara, позволяет врачам создавать модели изображений, используя в десять раз меньше данных, чем требуется в противном случае. Среди учреждений, которые уже подписали контракт, — Университет штата Огайо и Национальные институты здравоохранения.

              Примеры приложений для параллельной обработки данных acellera

              Аселлера

              Аселлера

              Местоположение: Лондон

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

              Медицинская исследовательская компания Acellera разработала несколько программ, использующих мощную инфраструктуру разгрузки графических процессоров: код моделирования ACEMD и пакет Python HTMD. Они использовались для моделирования на некоторых из самых мощных компьютеров в мире, в том числе на Титане, который помог ученым лучше понять, как взаимодействуют наши нейротрансмиттеры. Кроме того, Acellera сотрудничает с такими компаниями, как Janssen и Pfizer, в области фармацевтических исследований.

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

              Примеры приложений для параллельной обработки данных национальной лаборатории Оук-Риджа

              Национальная лаборатория Ок-Ридж

              Национальная лаборатория Ок-Ридж

              Местоположение: Ок-Ридж, Теннесси.

              Как он использует параллельные вычисления. Помимо рендеринга изображений и фармацевтических исследований, богатырские возможности параллельной обработки данных в области анализа данных открывают большие перспективы для общественного здравоохранения. Возьмем одну особенно мучительную эпидемию: ветеранское самоубийство. По данным Департамента по делам ветеранов, с 2014 года ежедневно кончают жизнь самоубийством около 20 ветеранов. Эта проблема — одна из немногих, которая привлекает внимание обеих партий.

              После того, как VA разработала модель, учитывающую рецептурные рецепты и рецепты ветеранов, исследователи из Окриджской национальной лаборатории смогли запустить алгоритм на высокопроизводительном компьютере, который в 300 раз быстрее, чем возможности VA. Надежда состоит в том, чтобы в конечном итоге использовать легендарный суперкомпьютер IBM Summit (с графическим процессором) для отправки врачам предупреждений о рисках в режиме реального времени.

              "Мы не хотим, чтобы ветераны заходили в клинику и промахивались из-за того, что кто-то не был специально обучен распознавать эти симптомы", – сказал исследователь ORNL Эдмон Беголи. «Мы никогда не хотим, чтобы было слишком поздно связаться с кем-то».

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

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

              Cray- 1

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

              Отличительные черты

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

              Техник работает с системной консолью на новом компьютере UNIVAC 1100/83 в Центре анализа флота, Corona Annex, Naval Weapons Station, Seal Beach, CA. 1 июня 1981 г. Приводы или считыватели магнитных лент Univac на заднем плане. Универсальный автоматический компьютер

              Как Интернет перемещает информацию между компьютерами? Какая операционная система сделана Microsoft? Войдите в этот тест и проверьте свои знания о компьютерах и операционных системах.

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

              Суперкомпьютеры изначально использовались в приложениях, связанных с национальной безопасностью, включая проектирование ядерного оружия и криптографию. Сегодня они также обычно используются в аэрокосмической, нефтяной и автомобильной промышленности. Кроме того, суперкомпьютеры нашли широкое применение в областях, связанных с инженерными или научными исследованиями, как, например, при изучении строения субатомных частиц, происхождения и природы Вселенной. Суперкомпьютеры стали незаменимым инструментом в прогнозировании погоды: предсказания теперь основаны на численных моделях. По мере снижения стоимости суперкомпьютеров их использование распространилось на мир онлайн-игр.В частности, китайские суперкомпьютеры с 5-го по 10-е место в 2007 г. принадлежали компании, владеющей онлайн-правами в Китае на электронную игру World of Warcraft, в которую иногда одновременно играло более миллиона человек. игровой мир.

              Историческое развитие

              Несмотря на то, что первые суперкомпьютеры создавались разными компаниями, один человек, Сеймур Крей, практически с самого начала определял продукт. Крей присоединился к компьютерной компании под названием Engineering Research Associates (ERA) в 1951 году. Когда ERA была поглощена Remington Rand, Inc. (которая позже объединилась с другими компаниями, чтобы стать Unisys Corporation), Крей ушел вместе с основателем ERA Уильямом Норрисом, чтобы начать Control Data Corporation (CDC) в 1957 году. К тому времени линейка компьютеров Remington Rand UNIVAC и IBM поделили большую часть рынка компьютеров для бизнеса, и вместо того, чтобы бросить вызов их обширным структурам продаж и поддержки, CDC стремилась захватить небольшой, но прибыльный рынок быстрых научных компьютеров. CDC 1604, разработанный Cray, был одним из первых компьютеров, в которых электронные лампы были заменены транзисторами, и был весьма популярен в научных лабораториях. IBM отреагировала созданием собственного научного компьютера IBM 7030, широко известного как Stretch, в 1961 году. временно ушел из области суперкомпьютеров после ошеломляющих для того времени убытков в размере 20 миллионов долларов. В 1964 году Cray CDC 6600 заменил Stretch как самый быстрый компьютер на Земле; он мог выполнять три миллиона операций с плавающей запятой в секунду (FLOPS), и вскоре для его описания был придуман термин суперкомпьютер.

              Крей покинул CDC, чтобы основать Cray Research, Inc., в 1972 году, а в 1989 году снова перешел к созданию Cray Computer Corporation. Каждый раз, когда он уходил, его бывшая компания продолжала производить суперкомпьютеры на основе его разработок.

              Крей принимал активное участие во всех аспектах создания компьютеров, которые производили его компании. В частности, он был гением в плотной упаковке электронных компонентов, из которых состоит компьютер. Благодаря умному замыслу он сократил расстояние, которое должны были пройти сигналы, тем самым ускорив работу машин. Он всегда стремился создать самый быстрый из возможных компьютеров для научного рынка, всегда программировался на предпочитаемом научном языке программирования (ФОРТРАН) и всегда оптимизировал машины для сложных научных приложений, например, дифференциальных уравнений, матричных манипуляций, гидродинамики, сейсмического анализа. и линейное программирование.

              Среди новаторских достижений Cray был Cray-1, представленный в 1976 году, который стал первой успешной реализацией векторной обработки (это означает, что, как обсуждалось выше, он мог работать с парами списков чисел, а не просто с парами чисел). . Крей также был одним из пионеров разделения сложных вычислений между несколькими процессорами, дизайн, известный как «многопроцессорная обработка». Одной из первых машин, использующих многопроцессорность, была Cray X-MP, представленная в 1982 году, которая соединяла два компьютера Cray-1 параллельно, чтобы утроить их индивидуальную производительность. В 1985 году Cray-2, четырехпроцессорный компьютер, стал первой машиной, которая превысила миллиард FLOPS.

              Хотя для достижения своих рекордов скорости Крэй использовал дорогие современные специализированные процессоры и системы жидкостного иммерсионного охлаждения, вот-вот должен был появиться новый революционный подход. У. Дэниела Хиллиса, аспиранта Массачусетского технологического института, возникла замечательная новая идея о том, как преодолеть узкое место, связанное с тем, что центральный процессор управляет вычислениями между всеми процессорами. Хиллис понял, что может устранить узкое место, отказавшись от всеконтролирующего ЦП в пользу децентрализованного или распределенного управления. В 1983 году Хиллис стал соучредителем Thinking Machines Corporation для разработки, создания и продажи таких многопроцессорных компьютеров. В 1985 году была представлена ​​​​первая из его соединительных машин, CM-1 (быстро замененная ее более коммерческим преемником, CM-2). В CM-1 использовалось 65 536 недорогих однобитных процессоров, сгруппированных по 16 на чип (всего 4096 чипов), что позволяло выполнять некоторые вычисления в несколько миллиардов FLOPS — примерно сравнимо с самым быстрым суперкомпьютером Cray.

              Thinking Machines Corporation

              Суперкомпьютер Thinking Machines Corporation CM-2, 1987 год. Черный кубический корпус компьютера был полупрозрачным, чтобы можно было наблюдать алгоритмы вычислений, напоминающие нейронные (активный процессор активировал красный диод).

              Первоначально Хиллис был вдохновлен тем, как мозг использует сложную сеть простых нейронов (нейронную сеть) для выполнения высокоуровневых вычислений.На самом деле, первоначальная цель этих машин заключалась в решении проблемы искусственного интеллекта — распознавании лиц. Назначив каждый пиксель изображения отдельному процессору, Хиллис распределил вычислительную нагрузку, но при этом возникла проблема связи между процессорами. Топология сети, которую он разработал для облегчения взаимодействия между процессорами, представляла собой 12-мерный «гиперкуб», то есть каждый чип был напрямую связан с 12 другими чипами. Эти машины быстро стали известны как массивно-параллельные компьютеры. Машины Хиллиса не только открыли путь для новых многопроцессорных архитектур, но и продемонстрировали, насколько обычные или общедоступные процессоры можно использовать для достижения суперкомпьютерных результатов.

              Другим распространенным приложением искусственного интеллекта для многопроцессорной обработки были шахматы. Например, в 1988 году компания HiTech, построенная в Университете Карнеги-Меллона в Питтсбурге, штат Пенсильвания, использовала 64 специализированных процессора (по одному на каждую клетку шахматной доски), чтобы стать первым компьютером, победившим гроссмейстера в матче. В феврале 1996 года Deep Blue от IBM, использующий 192 модифицированных процессора RS/6000, стал первым компьютером, победившим чемпиона мира Гарри Каспарова в «медленной» игре. Затем ему было поручено предсказывать погоду в Атланте, штат Джорджия, во время летних Олимпийских игр 1996 года. Его преемник (теперь с 256 специализированными шахматными процессорами) победил Каспарова в ответном матче из шести партий в мае 1997 года.

               Гарри Каспаров и Deep Blue

              Однако, как всегда, суперкомпьютеры в основном применялись в военных целях. После подписания Соединенными Штатами в 1996 году Договора о всеобъемлющем запрещении ядерных испытаний потребность в альтернативной программе сертификации стареющих ядерных арсеналов страны побудила Министерство энергетики профинансировать Инициативу ускоренных стратегических вычислений (ASCI). Цель проекта заключалась в том, чтобы к 2004 году создать компьютер, способный моделировать ядерные испытания, — для этого требовался компьютер, способный выполнять 100 триллионов флопс (100 терафлопс; самым быстрым из существующих компьютеров в то время был Cray T3E, способный производить 150 миллиардов флопс). ). ASCI Red, построенный в Sandia National Laboratories в Альбукерке, штат Нью-Мексико, совместно с корпорацией Intel, был первым, достигшим скорости 1 TFLOPS. Используя 9072 стандартных процессора Pentium Pro, он достиг производительности 1,8 терафлопс в декабре 1996 года и был полностью готов к июню 1997 года.

              В то время как в Соединенных Штатах преобладал многопроцессорный подход, в Японии корпорация NEC вернулась к более старому подходу к индивидуальному проектированию компьютерного чипа — для своего симулятора Земли, который удивил многих ученых-компьютерщиков, заняв первое место в отраслевом TOP500. список скоростей суперкомпьютера в 2002 году. Однако он недолго удерживал эту позицию, поскольку в 2004 году прототип IBM Blue Gene / L с 8 192 вычислительными узлами достиг скорости около 36 терафлопс, что чуть превышает скорость симулятора Земли. . После двух удвоений количества процессоров ASCI Blue Gene/L, установленный в 2005 году в Sandia National Laboratories в Ливерморе, Калифорния, стал первой машиной, преодолевшей заветную отметку в 100 TFLOPS со скоростью около 135 TFLOPS. Другие машины Blue Gene/L с аналогичной архитектурой занимали многие из первых мест в последовательных списках TOP500. Благодаря регулярным усовершенствованиям ASCI Blue Gene/L в 2007 г. достиг скорости, превышающей 500 терафлопс. Эти суперкомпьютеры IBM также заслуживают внимания благодаря выбору операционной системы, Linux и поддержке IBM в разработке приложений с открытым исходным кодом.

              Первый компьютер, производительность которого превысила 1000 терафлопс, или 1 петафлопс, был создан IBM в 2008 году. Машина, получившая название Roadrunner в честь птицы штата Нью-Мексико, была впервые протестирована на объектах IBM в Нью-Йорке, где она достигла важного рубежа. перед разборкой для отправки в Лос-Аламосскую национальную лабораторию в Нью-Мексико. В тестовой версии использовалось 6 948 двухъядерных микрочипов Opteron от Advanced Micro Devices (AMD) и 12 960 процессоров Cell Broadband Engine от IBM (впервые разработанных для использования в видеосистеме Sony Computer Entertainment PlayStation 3). Процессор Cell был разработан специально для выполнения интенсивных математических вычислений, необходимых для обработки механизмов моделирования виртуальной реальности в электронных играх, — процесс, аналогичный вычислениям, которые необходимы ученым-исследователям при работе со своими математическими моделями.

              Посмотрите, как исследователи моделируют трехмерное движение человеческого риновируса с помощью суперкомпьютера IBM Blue Gene Q, чтобы понять, как работает вирус

              Посмотрите трехмерную симуляцию движения человеческого риновируса, вызывающего простуду. Моделирование было произведено с помощью суперкомпьютера IBM Blue Gene/Q.

              Такой прогресс в вычислительной технике позволил исследователям впервые в истории оказаться на грани возможности проводить компьютерное моделирование, основанное на первопринципах физики, а не просто на упрощенных моделях.Это, в свою очередь, открыло перспективы для прорывов в таких областях, как метеорология и глобальный анализ климата, фармацевтический и медицинский дизайн, новые материалы и аэрокосмическая техника. Самым большим препятствием для реализации всего потенциала суперкомпьютеров остаются огромные усилия, необходимые для написания программ таким образом, чтобы различные аспекты задачи могли обрабатываться одновременно как можно большим числом различных процессоров. Даже управление этим в случае менее дюжины процессоров, которые обычно используются в современных персональных компьютерах, не поддавалось никакому простому решению, хотя инициатива IBM с открытым исходным кодом при поддержке различных академических и корпоративных партнеров достигла прогресса в 1990-х и 2000-х годах. .

              Читайте также: