Параллельная обработка данных: революционный рост производительности в 2017 году

Просмотров: 5488
Автор:
Иванов Антон Кириллович

Иванов Антон Кириллович

Региональный представитель — DataCore Software

12 января 2016 года компания DataCore, мировой лидер в области программно-определяемых и гиперконвергентных систем хранения данных, совместно с Storage Performance Council (SPC)*, анонсировали новый мировой рекорд в соотношении цены и производительности($ 0.08 / SPC-1 IOPS ™). Такие высокие показатели — результат применения уникальной технологии параллельной обработки ввода/вывода (Adaptive Parallel I/O).  

Программное обеспечение DataCore Adaptive Parallel I/O автоматически распределяет ресурсы, необходимые для устранения несоответствия между вычислительными процессами и процессами обработки ввода/вывода без участия инженера или администратора для ручного управления и настройки ПО. В результате мы получаем два серьезных плюса:

  1. значительное снижение количества физических серверов,
  2. более быстрый отклик приложений при использовании более экономичных аппаратных средств хранения.

Фактически DataCore достигла самого быстрого времени отклика, когда-либо зарегистрированного тестами SPC-1, с невероятным показателем в 0,320 миллисекунды при 100% нагрузке (459K SPC-1 IOPS) на гипер-конвергентной системе стоимостью всего $38 400. Это от 3 до 10 раз быстрее, чем у конкурирующих систем стоимостью в несколько сотен миллионов долларов.

Эксперты DataCore прогнозируют, что в 2017 году программное обеспечение для параллельной обработки выйдет за пределы специализированных сфер применения, таких как высокопроизводительные вычислительные системы, и областей, как, например, геномика, которые сосредоточены главным образом на комплексных расчетах, и начнет оказывать влияние на весь обширный мир приложений, работающих в режиме реального времени. В их число входят основные приложения и системы хранения, поддерживающие бизнес-транзакции, облачные вычисления, базы данных, аналитика, а также интерактивные области машинного обучения (machine learning) и Интернета вещей (IoT).

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

Реальный двигатель перемен кроется в проблемах стоимости и производительности. Сегодня использование многих новых приложений, таких как, например, аналитика в режиме реального времени, крайне неэффективно, поскольку для их работы требуются сотни, если не тысячи серверов, и при этом современные серверы могут содержать сотни многопоточных вычислительных ядер, которые до этого не были задействованы и попросту простаивали, ожидая работы. 2017 год откроет замечательную эру, когда один сервер будет работать за 10, а то и за 100 серверов. 

В ЦОДах заказчиков скопилось много «железа». Возможность повысить производительность выполняемых задач за счет применения нового ПО становится все более и более привлекательной для ИТ руководства. Это особенно актуально сейчас, когда решать проблемы недостаточной производительности «в лоб», просто покупая дополнительные серверы, становится накладно как с точки зрения капитальных, так и операционных затрат.

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

Как это влияет на производительность при работе с аналитической информацией и большими данными?

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

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

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

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

Влияние на продукты Microsoft: Azure Stack, Hybrid Cloud и SQL Server 2016

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

Кроме того, Microsoft продолжает интегрировать платформу Windows и серверные решения для более «гладкой» работы с возможностями облачных вычислений.

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

SQL Server 2016 стал намного более мощным и функциональным и теперь способен справиться со всеми типами данных. Эта платформа нацелена на работу со всей партнерской рыночной эко-системой Microsoft, включая DataCore с ее инновациями в области параллельной обработки. Она создает новые возможности как в традиционных областях применения приложений, таких как облачные вычисления, работа с большими данными и аналитика, так и в новых технологических областях — машинном обучении, когнитивных вычислениях и Интернете вещей.

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

Мы говорим «гиперконвергентность», подразумеваем «гиперпроизводительность»!

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

Гиперконвергентные системы, по сути, представляют собой комбинацию из сервера и программно-определяемой инфраструктуры. Однако, зачастую, их производительность строго ограничена, они лишены гибкости и слабо интегрированы в более крупную ИТ-среду. Эти системы, например, не поддерживают протокол Fibre Channel, который часто является основным каналом взаимодействия на предприятии. Ключевым фактором успеха является эффективная утилизация ресурсов серверов и систем хранения для нужд приложений. Программное обеспечение для параллельной обработки позволит пользователям получить преимущества всего потенциала своего программного и аппаратного обеспечения.

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

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

Гиперконвергентные решения набирают все большую популярность из-за возможности упростить изначальное развертывание инфраструктуры и обеспечить гранулярное горизонтальное масштабирование в будущем. Однако гиперконвергентная инфраструктура — это всего лишь один из инструментов, который используется для построения эффективного ИТ. Как уже было сказано, в ЦОДах заказчиков имеется достаточное количество аппаратных ресурсов, чью эффективность можно повысить, сохранив при этом сделанные инвестиции. Возможность интеграции и эффективного использования разнородных дисковых ресурсов совместно с гиперконвергентными системами и средствами обеспечения параллельного ввода/вывода позволят ИТ службам строить не только производительные решения, но и решения, имеющие отличные экономические показатели.

В качестве завершения

Мир будет становиться все более «программно-определяемым», чтобы экономически эффективно использовать типовые решения. Параллельная обработка изменит правила игры, задействовав неиспользуемые мощности многоядерных серверов. Эти две силы объединятся в 2017 году и откроют новые возможности для приложений и моделей применения за счет обеспечения более высокой производительностью, ответом на запросы в реальном времени, высоким уровнем консолидации нагрузки, снижением занимаемого пространства в ЦОД. Затраты станут более эффективными, и вся экономика инфраструктуры хранения данных изменится в 2017 году.

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

 

* SPC является признанным авторитетом в области отраслевых стандартов производительности систем хранения данных в силу своей взвешенной методологии (моделирование «реальных событий» с использованием оперативной обработки транзакций (OLTP) и последовательных рабочих нагрузок) и независимой экспертизы.  

Комментарии (1)

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

  • Скрыть ветвь
    Рейтинг810

    Начальник отдела разработки и сопровождения АСУ

    Нижегородский ИВЦ, структурное подразделение ГВЦ, филиала ОАО "РЖД"

    31.07.2017 10:58
    Добрый день!

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

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

    имя_переменной.имя_метода(параметры_метода);

    А как будет выглядеть вызов функции системы, размещенной на другом физическом устройстве (удаленный вызов)? И здесь, я думаю, многие удивятся, точно также:

    имя_переменной.имя_метода(параметры_метода);

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

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

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

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.