mit researchers boost data center performance with adaptive storage system
Чтобы помочь центрам обработки данных обеспечить более высокую производительность при меньшем количестве оборудования, исследователи MIT разработали систему, которая повышает производительность устройств хранения за счет одновременной обработки трех основных источников изменчивости. Подход позволяет добиться значительного увеличения скорости по сравнению с традиционными методами, которые рассматривают только один источник изменчивости за один раз.
Система использует двухъярусную архитектуру с центральным контроллером, который принимает общие решения о том, какие задачи выполняет каждое устройство хранения, и локальными контроллерами для каждой машины, которые быстро перенаправляют данные, если это устройство испытывает трудности. Метод, который может адаптироваться в режиме реального времени к изменяющимся рабочим нагрузкам, не требует специализированного оборудования. При тестировании этой системы на реалистичных задачах, таких как обучение моделей ИИ и сжатие изображений, исследователи почти удвоили производительность, обеспечиваемую традиционными подходами. За счет интеллектуального балансирования рабочих нагрузок нескольких устройств хранения система может повысить общую эффективность центра обработки данных.
“Есть тенденция решать проблему, добавляя больше ресурсов, но это неустойчиво во многих отношениях. Мы хотим иметь возможность максимизировать срок службы этих очень дорогих и энергоемких ресурсов”, — говорит Гохар Чоудри, аспирант факультета электротехники и компьютерных наук (EECS) и ведущий автор статьи о данной технике. “С помощью нашего адаптивного программного решения вы все еще можете получить большую производительность от ваших существующих устройств, прежде чем вам придется выбрасывать их и покупать новые.”
Чоудри присоединились к работе Анкит Бхардвадж, помощник профессора в Университете Тафтс; Чженюань Руан, докторская степень ’24; и старший автор Адам Белей, адъюнкт-профессор EECS и член Лаборатории компьютерных наук и искусственного интеллекта MIT. Результаты исследования будут представлены на симпозиуме USENIX по вопросам разработки и внедрения сетевых систем.
Используя неиспользованную производительность Твердотельные накопители (SSD) — это высокопроизводительные цифровые устройства хранения, позволяющие приложениям читать и записывать данные. Например, SSD может хранить большие наборы данных и быстро отправлять данные процессору для обучения модели машинного обучения. Объединение нескольких SSD для совместного использования многими приложениями повышает эффективность, поскольку не каждому приложению требуется использовать всю емкость SSD в данный момент времени. Но не все SSD работают одинаково, и самый медленный накопитель может ограничить общую производительность пула.
Эти неэффективности возникают из-за изменчивости в аппаратном обеспечении SSD и задачах, которые они выполняют.
Чтобы использовать эту неиспользованную производительность SSD, исследователи разработали Sandook — программную систему, которая одновременно решает три основные формы изменчивости, ухудшающей производительность. “Sandook” — это слово на урду, означающее «коробка», чтобы обозначить «хранилище».
Один тип изменчивости вызван различиями в возрасте, износе и емкости SSD, которые могли быть приобретены в разное время у разных поставщиков.
Второй тип изменчивости обусловлен несоответствием между операциями чтения и записи, происходящими на одном и том же SSD. Для записи новых данных на устройство SSD должен стереть некоторые существующие данные. Этот процесс может замедлить операции чтения, то есть получение данных, происходящие одновременно.
Третий источник изменчивости — сбор мусора, процесс сбора и удаления устаревших данных для освобождения места. Этот процесс, который замедляет работу SSD, запускается случайными интервалами, которые оператор центра обработки данных не может контролировать.
“Я не могу предполагать, что все SSD будут вести себя одинаково в течение всего моего жизненного цикла. Даже если я даю им всем одну и ту же рабочую нагрузку, некоторые из них будут отставать, что повредит чистой пропускной способности, которую я могу достичь”, — объясняет Чоудри.
Планируйте глобально, реагируйте локально Для обработки всех трех источников изменчивости Sandook использует двухъярусную структуру. Глобальный планировщик оптимизирует распределение задач для всего пула, а более быстрые планировщики на каждом SSD реагируют на критические события и переключают операции с перегруженных устройств.
Система преодолевает задержки, вызванные помехами при чтении-записи, путем вращения SSD, которые приложение может использовать для чтения и записи. Это снижает вероятность одновременного выполнения операций чтения и записи на одной машине.
Sandook также профилирует типичную производительность каждого SSD. Он использует эту информацию для обнаружения моментов, когда сбор мусора, вероятно, замедляет работу. Как только это обнаружено, Sandook уменьшает рабочую нагрузку на этот SSD, перенаправляя некоторые задачи, пока сбор мусора не будет завершен.
“Если этот SSD выполняет сбор мусора и больше не может обрабатывать ту же рабочую нагрузку, я хочу дать ему меньшую рабочую нагрузку и медленно наращивать ее. Мы хотим найти оптимальную точку, где он все еще выполняет некоторую работу и использовать эту производительность”, — говорит Чоудри.
Профили SSD также позволяют глобальному контроллеру Sandook назначать рабочие нагрузки взвешенным образом, учитывающим характеристики и емкость каждого устройства.
Поскольку глобальный контроллер видит общую картину, а локальные контроллеры реагируют на лету, Sandook может одновременно управлять формами изменчивости, происходящими в разных временных масштабах. Например, задержки от сбора мусора возникают внезапно, а задержка, вызванная износом, накапливается в течение многих месяцев.
Исследователи протестировали Sandook на пуле из 10 SSD и оценили систему на четырех задачах: запуск базы данных, обучение модели машинного обучения, сжатие изображений и хранение данных пользователей. Sandook увеличил пропускную способность каждого приложения на 12–94 % по сравнению со статическими методами и увеличил общую утилизацию емкости SSD на 23 %.
Система позволила SSD достичь 95 % от их теоретической максимальной производительности без необходимости использования специализированного оборудования или обновлений, специфичных для приложений.
“Наше динамическое решение может раскрыть больше производительности для всех SSD и действительно подвести их к пределу. Каждый бит емкости, который вы можете сэкономить, действительно имеет значение в этом масштабе”, — говорит Чоудри.
В будущем исследователи хотят включить новые протоколы, доступные на новейших SSD, которые дают операторам больше контроля над размещением данных. Они также хотят использовать предсказуемость рабочих нагрузок ИИ для повышения эффективности работы SSD.
“Флэш-память — это мощная технология, лежащая в основе современных приложений центров обработки данных, но совместное использование этого ресурса с рабочими нагрузками с сильно различающимися требованиями к производительности остается нерешенной проблемой. Эта работа значительно продвигает ситуацию вперед с помощью элегантного и практичного решения, готового к развертыванию, приближая флэш-память к ее полному потенциалу в производственных облаках”, — говорит Джош Фрид, инженер-программист в Google и входящий помощник профессора в Университете Пенсильвании, который не участвовал в этой работе.
Это исследование было профинансировано, в частности, Национальным научным фондом, Агентством передовых исследовательских проектов Министерства обороны США и Корпорацией по исследованию полупроводников.
Авторизуйтесь, чтобы оставить комментарий.
Нет комментариев.
Тут может быть ваша реклама
Пишите info@aisferaic.ru