Повышение точности, адаптивности и интерпретируемости моделей прогнозирования отказов твердотельных накопителей
Чандранил Чакраборти, Хайнер Лиц
Калифорнийский университет в Санта-Крузе
АннотацияНакопители на флеш-памяти (твердотельные накопители, SSD) представляют собой важный уровень хранения в современных гипермасштабных дата-центрах. Несмотря на относительно высокую надежность SSD, операторы дата-центров заинтересованы в прогнозировании будущих отказов дисков для планирования стратегий их замены, миграции данных и закупок. Мы анализируем телеметрические данные более чем с 30 000 SSD-накопителей, работающих с реальными приложениями в дата-центрах Google на протяжении шести лет, с целью прогнозирования и объяснения причин отказов SSD с использованием методов машинного обучения. Мы предлагаем применять методы обнаружения аномалий на основе одноклассового алгоритма «изолирующий лес» (Isolation Forest) и автоэнкодеров для прогнозирования ранее неизвестных типов отказов SSD с высокой точностью. Мы показываем, что исключение миноритарного класса при обучении может повысить производительность модели до 9,5%, а в условиях необходимости адаптации к динамической среде — до 13%. Кроме того, в данной работе предлагается использовать одноклассовые автоэнкодеры для обеспечения интерпретируемости модели. В частности, наш подход на основе автоэнкодеров позволяет анализировать причины, приводящие к отказам SSD. Общим для всех предлагаемых подходов является применение мощных методов отбора признаков, которые повышают производительность модели до 1,3 раза и сокращают время обучения до 1,8 раза.
1 ВВЕДЕНИЕ
Твердотельные накопители (SSD) на основе флеш-памяти NAND представляют собой важный уровень хранения в центрах обработки данных, на котором размещается большая часть современных «теплых» и «горячих» данных. Хотя SSD менее экономически эффективны, чем жесткие диски (HDD), они имеют несколько преимуществ перед дисками, включая значительно более высокую пропускную способность (до миллиона операций ввода-вывода в секунду), меньшую среднюю задержку чтения (менее 100 мкс) и более низкое энергопотребление. Поскольку SSD созданы из полупроводниковых компонентов без механических частей, таких как вращающиеся диски, они также более надежны и менее подвержены сбоям по сравнению с HDD. Количество SSD, поставляемых каждый год, стабильно росло на 42,5% за последнее десятилетие [1], и теперь ежегодно превышает эксабайты емкости хранения. Производители SSD использовали три основные технологии для увеличения плотности хранения за последние годы: планарное масштабирование, 3D-интеграцию и многоуровневые ячейки. Хотя эти механизмы полезны для плотности хранения, они снизили выносливость, сохранность данных и надежность SSD [52], [13], [76], что потребовало внедрения все более сложных механизмов кодирования и отказоустойчивости. Тем не менее, даже с передовыми методами отказоустойчивости и низким уровнем отказов крупные гипермасштабные центры обработки данных, использующие сотни тысяч SSD, ежедневно сталкиваются с множественными отказами устройств. Операторы центров обработки данных заинтересованы в прогнозировании отказов устройств SSD по двум основным причинам. Во-первых, даже при использовании технологий RAID [6] и репликации [25] сбои устройств создают временные накладные расходы на восстановление и ремонт, влияющие на стоимость и задержку систем хранения. Во-вторых, прогнозирование краткосрочных тенденций отказов помогает информировать процесс закупки устройств, позволяя экономить средства и избегать узких мест в мощности. Следовательно, важно прогнозировать как краткосрочные индивидуальные отказы устройств, так и краткосрочные тенденции отказов.
Предыдущие исследования по прогнозированию отказов устройств хранения [62], [53], [10], [75] в основном были сосредоточены на традиционных жестких дисках; однако из-за принципиально иной архитектуры SSD предыдущие методы и выводы не применимы напрямую к SSD. Исследования, специально посвященные SSD [8], [14], [19], [37], обычно концентрировались на понимании конкретных ошибок и проблем внутри SSD, ограничиваясь контролируемой лабораторной средой. Большинство исследований, анализировавших SSD в полевых условиях, были сосредоточены на понимании взаимосвязей между конкретными рабочими нагрузками, вызываемым ими количеством операций записи и битовыми ошибками, а также их влиянием на надежность SSD [21], [68], [23]. Альтер [5] и Шредер [69] проанализировали аутентичные журналы SSD, собранные в облаке Google, чтобы использовать методы машинного обучения (ML) для прогнозирования вероятности отказов SSD. Хотя эти работы наиболее близки к нашей, их предложенные модели либо не справляются с определением вышедших из строя дисков, либо производят большое количество ложных срабатываний, что снижает производительность моделей прогнозирования. В частности, эти две предыдущие работы страдают от следующих основных проблем. Во-первых, поскольку они используют методы ML типа «черного ящика», они не знают основных причин сбоев, что затрудняет определение типов сбоев, которые эти модели могут предсказать. Во-вторых, модели в предыдущих работах плохо справляются с динамическими средами, в которых возникают ранее не встречавшиеся сбои, не включенные в обучающий набор. Эти две проблемы особенно актуальны для задачи обнаружения отказов SSD, которая страдает от сильного дисбаланса классов. В частности, количество наблюдений за исправными дисками, как правило, на порядки превышает количество наблюдений за вышедшими из строя дисками, что создает проблему для многих моделей ML.
Чтобы решить эти проблемы, мы предлагаем использовать одноклассовые модели машинного обучения, которые обучаются только на мажоритарном классе. Игнорируя миноритарный класс при обучении, наши одноклассовые модели избегают переобучения на неполном наборе типов отказов, тем самым повышая общую производительность прогнозирования до 9,5% с точки зрения показателя ROC AUC. Преимущество нашего предложенного метода становится еще более очевидным, когда мы сокращаем типы отказов, включенные в обучающий набор базовых подходов, демонстрируя улучшение на 13–33% с использованием наших предложенных одноклассовых подходов по сравнению с предыдущими работами. Кроме того, мы представляем новую методику обучения для обнаружения отказов SSD — одноклассовый автоэнкодер, который обеспечивает интерпретируемость обученных моделей при сохранении высокой точности прогнозирования. В частности, одноклассовые автоэнкодеры дают представление о том, какие признаки и их комбинации наиболее важны для маркировки определенного типа отказа устройства. Это позволяет классифицировать вышедшие из строя диски по типу отказа, информируя о конкретных процедурах (например, ремонт, замена и т. д.), которые необходимо применить для устранения сбоя.
Для анализа и оценки наших предложенных методов мы используем набор данных облачного масштаба от Google, который уже использовался в предыдущих работах [5, 70]. Этот набор данных содержит 40 миллионов наблюдений с более чем 30 000 дисков за период в шесть лет. Для каждого наблюдения набор данных содержит 21 различный параметр телеметрии SSD, включая параметры SMART (технология самоконтроля, анализа и отчетности), объем прочитанных и записанных данных, коды ошибок, а также информацию о блоках, которые со временем стали неработоспособными. Мы определяем наиболее эффективные подходы машинного обучения для прогнозирования отказов SSD, а затем исследуем методы оптимизации, включая отбор признаков и нормализацию данных, для решения проблем больших пространств признаков и сильно несбалансированных наборов данных. При использовании этих оптимизаций наш лучший подход превосходит все предыдущие подходы как минимум на 9,5% по показателю ROC AUC.
2 ПРЕДПОСЫЛКИ
Этот раздел содержит краткое введение в технологию флеш-устройств и ее влияние на надежность SSD. Мы покажем, что прогнозирование отказов устройств является сложной многомерной проблемой анализа данных, требующей разработки современных методов машинного обучения.
Современные SSD — это полупроводниковые устройства, которые постоянно хранят данные в массивах NAND-памяти, состоящих из транзисторов с плавающим затвором [38]. Заряд внутри плавающего затвора можно изменить только путем подачи высокого напряжения (20 В), заставляя электроны туннелировать [28] через высокоомный изоляционный материал, что постепенно ухудшает способность к хранению и приводит к износу транзистора. Более того, современные накопители NAND используют различные уровни напряжения для хранения нескольких битов информации в одном транзисторе. Определение правильного значения ячейки при чтении становится все сложнее после частой записи в ячейку, что плавно снижает возможность успешного считывания данных. К сожалению, из-за производственных вариаций и различий между устройствами, количество операций записи, необходимое для вызова отказа устройства, сложно предсказать. Поскольку производители стремятся увеличить выход годных изделий, многие продаваемые SSD уже содержат ряд неисправных (битых) блоков. Следовательно, количество исправных блоков различается даже среди новых устройств, что влияет на их общий срок службы. Процедуры сборки мусора (garbage collection) и выравнивания износа (wear-levelling), выполняемые SSD внутренне, дополнительно затрудняют возможность обнаружения отказов устройств. Эти задачи добавляют дополнительные операции записи, незаметные для пользователя, которые сильно зависят от конкретного приложения. В частности, схемы записи (случайная vs последовательная) и соотношение операций чтения-записи существенно влияют на срок службы устройства. В итоге, причины, приводящие к конкретному отказу устройства, в высокой степени зависят от приложения и самого устройства, что делает невозможным прогнозирование отказов с использованием простого универсального метода. Это дополнительно подтверждается Рисунком 1, показывающим анализ главных компонент (PCA) для 21 внутреннего признака SSD, использованного в данном исследовании. Как видно на рисунке, несколько вышедших из строя дисков (выбросы) нельзя легко отделить от исправных дисков (внутренние точки), что указывает на необходимость в более сложных методах машинного обучения.
3 ОДНОКЛАССОВОЕ ПРОГНОЗИРОВАНИЕ ОТКАЗОВ
Предыдущие работы по прогнозированию отказов SSD страдают от трех недостатков: (i) ограниченной общей точности прогнозирования отказов, (ii) неспособности надежно предсказывать ранее неизвестные типы отказов и (iii) отсутствия интерпретируемости прогнозов. Чтобы решить эти проблемы, мы представляем следующие достижения. Во-первых, мы проводим всесторонний анализ методов машинного обучения для прогнозирования отказов SSD с наивысшей полнотой и точностью как для мажоритарного, так и для миноритарного классов. Мы оптимизируем наши подходы, решая проблемы несбалансированных наборов данных и "проклятия размерности". Во-вторых, мы показываем, как одноклассовые прогнозные модели могут использоваться для предсказания ранее неизвестных отказов в динамичной среде центра обработки данных. В-третьих, мы предлагаем одноклассовый автоэнкодер — подход для интерпретации прогнозов нашей модели, позволяющий понять наиболее важные причины отказов.
3.1 Точное прогнозирование отказов SSD
Наш набор данных содержит 40 миллионов наблюдений с более чем 30 000 накопителей из центров обработки данных Google за временной промежуток в шесть лет, где каждое наблюдение за SSD содержит значения 21 различного признака. Эти признаки включают данные SMART, объем данных, прочитанных и записанных на устройство, выданные коды ошибок, а также информацию о "выросших" битых блоках, которые со временем стали неработоспособными из-за износа. Прогнозирование отказов устройств по этим данным ставит две сложные задачи. Во-первых, из-за большого пространства признаков модели машинного обучения страдают от "проклятия размерности", так как время обучения и вывода алгоритмов машинного обучения растет, часто экспоненциально, с увеличением числа признаков. Во-вторых, данные, на основе которых наши модели должны выявлять отказы, страдают от значительной проблемы дисбаланса классов, поскольку количество наблюдений за исправными дисками существенно превышает количество наблюдений за вышедшими из строя дисками.
3.1.1 Отбор признаков. Чтобы справиться с "проклятием размерности", вызванным большим числом признаков, мы разработали механизм отбора признаков [22, 39, 40, 43] для улучшения прогнозирования отказов SSD. Цель состоит в том, чтобы выбрать наименьшее количество отличительных признаков из этого набора данных для обеспечения наивысшей точности и полноты при обнаружении отказов SSD. В отличие от предыдущих работ по поиску аномального поведения в облачных системах [79], мы провели обширное исследование восьми различных фильтрующих механизмов для ранжирования различных признаков в порядке их важности для прогнозирования отказов. Мы заметили, что, за исключением 9 наиболее важных признаков, порядок важности признаков, вычисленный разными алгоритмами отбора, существенно различался, и, по сути, использование любого одного механизма отбора признаков по отдельности может привести к высокой вариативности производительности модели. Чтобы решить эту проблему, мы разработали подход для эффективного объединения ранжирований разных алгоритмов отбора признаков, что впоследствии привело к наилучшей производительности модели как с точки зрения времени обучения, так и точности, как показано в разделе 5.
3.1.2 Дисбаланс классов. Основной проблемой при обнаружении аномалий является работа с внутренней проблемой дисбаланса классов. Среди более чем 30 000 изученных нами накопителей около 4 000 SSD вышли из строя в какой-то момент времени, однако большую часть своего срока службы каждый SSD ведет себя как исправный накопитель. Это привело к созданию обучающего набора данных, содержащего более 40 миллионов точек данных для исправных дисков (мажоритарный класс) и только 15 000 точек данных для вышедших из строя дисков (миноритарный класс). Различение наблюдений за исправными и вышедшими из строя дисками дополнительно осложняется тем, что некоторые диски были возвращены в эксплуатацию после ремонта, а затем снова вышли из строя, что требует обработки их как отдельных наблюдений за отказами.
Поскольку размер мажоритарного класса на три порядка больше размера миноритарного класса, распознавание экземпляров миноритарного класса во время классификации является сложной задачей, поскольку многие алгоритмы ML изначально смещены в сторону мажоритарного класса. Точки данных, в которых экземпляры миноритарного класса расположены среди экземпляров большинства в несбалансированной схеме, способствуют увеличению уровня ошибочной классификации и поэтому обычно называются "факторами сложности данных" [18]. Эти факторы включают, но не ограничиваются, "малые разъединения", перекрытие классов, пограничные случаи, шум, выбросы и редкие экземпляры [27].
Предыдущие исследования [5], [79], [32], [54] использовали такие методы, как "Случайный лес" [5, 46], нейронные сети [34], метод k-ближайших соседей (k-NN) [47] и двухклассовые машины опорных векторов (SVM) [9] для прогнозирования отказов устройств хранения. Мы отмечаем, что эти подходы не могут хорошо справляться с сильным дисбалансом классов и переобучаются на типах отказов, представленных в обучающем наборе данных. В разделе 5 мы показываем, что наши предлагаемые одноклассовые прогнозные модели превосходят предыдущие работы до 9,5% и сокращают время обучения до 1,8 раза. Мы также оцениваем предлагаемые нами методы отбора признаков и проводим исследование чувствительности того, насколько далеко вперед модели могут предсказывать отказы.
3.2 Прогнозирование неизвестных отказов
Как описано в разделе 2, флеш-устройства страдают от множества различных отказов, вызванных усилением записи, "выросшими" битыми блоками, ошибками контроллера и проблемами с резервной батареей. Поскольку некоторые отказы зависят от рабочей нагрузки, и технологии SSD меняются (например, переход от ячеек TLC к QLC), сложно собрать данные о каждом типе отказа. Следовательно, маловероятно, что какой-либо обучающий набор данных покроет все типы отказов устройств, которые могут произойти в будущем.
Мы заметили, что предыдущие подходы к обнаружению отказов SSD, как правило, не могут предсказать неизвестные типы отказов, с которыми модель не сталкивалась во время обучения. В этой работе мы предлагаем улучшить адаптивность прогнозных моделей, обучая их только на экземплярах мажоритарного класса. Используя в качестве обучающих данных только исправные диски, модели могут выучить надежное представление о здоровых накопителях, не переобучаясь на ограниченном наборе известных или ранее встречавшихся типов отказов.
Мы вводим два механизма для реализации этого подхода: "изолирующий лес" для одного класса и одноклассовые автоэнкодеры [73]. Универсальный "изолирующий лес" [50] — популярный алгоритм обнаружения аномалий на основе "Случайного леса". Алгоритм использует тот факт, что аномальные точки данных, как правило, удовлетворяют меньшему числу условий, чем нормальные точки данных. Следовательно, оценку аномальности можно вычислить, подсчитав, является ли количество условий, необходимых для отделения данной точки данных, ниже определенного порога. Мы также исследовали различные факторы "загрязнения" (доля аномальных точек данных), чтобы предоставить модели эту дополнительную информацию. Используя эти оптимизации, мы показываем в разделе 5, что аномальные накопители можно определить с высокой полнотой 0,99, даже несмотря на то, что модель никогда не видела вышедший из строя диск во время обучения.
Кроме того, насколько нам известно, это первая работа, использующая одноклассовые автоэнкодеры для прогнозирования отказов SSD. Мы разработали модель на основе одноклассового автоэнкодера, которая генерирует сжатое представление знаний об исходном вводе наблюдений за исправными дисками, а также обученный декодер, который, в свою очередь, пытается воссоздать наблюдения за исправными дисками из сжатого представления. Мы удаляем все наблюдения за вышедшими из строя дисками из набора данных для обучения модели автоэнкодера, чтобы позволить модели изучить сжатое представление того, как должен выглядеть исправный SSD. Ошибка восстановления [66] используется для интерпретации решений, выданных этой моделью. Рисунок 2 показывает внутреннее устройство автоэнкодеров. Сначала мы кодируем, а затем декодируем конкретный образец SSD с помощью модели автоэнкодера. Если вход и выход схожи, то входные данные, вероятно, соответствуют исправному диску, тогда как если вход и выход имеют большую ошибку восстановления, то образец помечается как аномалия (вышедший из строя диск).
Как мы покажем в разделе 5, обучение только на исправных дисках дает следующие преимущества. Во-первых, обучение не ограничивается изучением нескольких образцов миноритарных классов. Во-вторых, обучающие примеры с исправными дисками проще и дешевле записывать, что повышает масштабируемость нашего подхода. В-третьих, игнорирование миноритарного класса во время обучения улучшает способность модели предсказывать ранее неизвестные отказы.
3.3 Интерпретация отказов SSD
Понимание причин выхода из строя SSD-накопителей имеет первостепенное значение для производителей и операторов центров обработки данных с целью повышения надежности и информирования о необходимых процедурах технического обслуживания и ремонта. Это позволяет им выбирать подходящие диски для конкретной рабочей нагрузки, обеспечивая наилучшую надежность, а также позволяя быстро возвращать диски в эксплуатацию после обслуживания. Предоставление понимания причин отказов SSD также способствует повышению прозрачности наших прогнозов и позволяет избежать проведения полных диагностических тестов для определения причин сбоя.
Мы используем наш подход на основе одноклассового автоэнкодера с нейронными сетями для реализации этой возможности, создавая сжатое представление наблюдений за исправными дисками в пространстве меньшей размерности, как объяснялось в предыдущем разделе. Затем мы используем это представление для выбора аномальных наблюдений, которые ему не соответствуют, тем самым генерируя выходные данные, существенно отличающиеся от представления здоровых наблюдений. Наблюдения, которые дают ошибку восстановления, превышающую выбранный порог, помечаются как отказы. Затем мы категоризируем эти сгенерированные выходные данные, разделяя их на группы, каждая из которых представляет ошибку при восстановлении входа для каждого признака. Признаки, которые дают ошибку больше средней для конкретного диска, затем отмечаются как значимые и сообщаются. В разделе 5 мы показываем, как интерпретация этих данных дает представление о том, почему модель предсказала конкретное устройство как вышедшее из строя.
4 МЕТОДОЛОГИЯ
Наш набор данных содержит данные телеметрии SSD с более чем 30 000 накопителей за период в 6 лет, собранные из центров обработки данных Google. Всего набор данных содержит 40 миллионов наблюдений с 21 различным параметром телеметрии. Около 4 000 накопителей вышли из строя за этот период, что привело к 15 000 наблюдениям, классифицированным как отказы, из общего числа в 40 миллионов наблюдений.
Набор данных содержал информацию о четырех различных моделях SSD (MLC A, B, C и D) и не содержал информации о конкретных производителях. Наш процесс отбора признаков (см. раздел 5.4.2) не выбрал модель в качестве значимого признака, поэтому мы исключили его в процессе обучения. Из накопителей, которые вышли из строя, примерно 90% отказали только один раз, а остальные — до четырех раз. В нашей работе мы помечаем каждый отказ как отдельный случай. Время замены диска после отказа сильно варьировалось: от менее недели (80% случаев) до более трех месяцев (10% случаев).
Около 30% накопителей, вышедших из строя в процессе сбора данных, были заменены, а остальные были удалены и поэтому больше не появлялись в наборе данных. В результате мы получили примерно 300 наблюдений для каждого исправного диска и от 4 до 140 наблюдений для каждого вышедшего из строя диска. Полный список метрик признаков, представленных в наборе данных, показан в Таблице 1.
Традиционно политика замены накопителей у облачных провайдеров использует подход на основе правил [31]. Когда определенные параметры, такие как количество ошибок UECC, количество резервных блоков и т.д., достигают определенного значения, накопитель заменяется. Однако этот подход страдает двумя недостатками. Во-первых, эти правила не позволяют комплексно предсказать все отказы, и поэтому диски в некоторых случаях выходят из строя неожиданно, что приводит к потере данных и сбоям приложений. Во-вторых, также было показано, что эти наборы правил излишне консервативны, что приводит ко многим случаям, когда диски заменяются, даже если они все еще работали нормально. Совокупное количество отказов дисков в неделю также полезно для облачных провайдеров, поскольку они могут заранее заказывать замену. Эти проблемы побудили нас разработать более гибкий и точный подход на основе методов машинного обучения.
4.1 Предварительная обработка данных
Собранные данные содержали признаки в строковом формате, формате даты-времени и целочисленном формате. Мы обеспечили преобразование всех собранных данных в числовой формат, чтобы они могли обрабатываться моделями машинного обучения. Строковые значения, такие как название модели диска, были преобразованы в категориальные признаки, а дата и время — в метки времени UNIX. Мы рассматривали каждую точку данных как независимое наблюдение и нормализовали все некатегориальные значения данных в диапазон от 0 до 1. Мы создали отдельные наборы данных, идентифицируемые параметром ??, выбирая ежедневные наблюдения до прогнозируемого отказа. Например, ?? = 3 содержит все наблюдения для каждого диска за 3 дня до того, как диск либо вышел из строя, либо все еще был функционален. Мы используем эти данные, чтобы выяснить, насколько далеко вперед наши предложенные модели могут предсказывать отказы
4.2 Отбор признаков
Одной из наших основных целей было отобрать наиболее отличительные признаки, которые сильно коррелируют с отказами, для обучения. Мы использовали три различных метода отбора признаков: фильтрующие [67], встроенные [45] и оберточные [71] методы, и реализовали восемь различных алгоритмов, включая ранжирование по Пирсону [60], ранжирование по Спирмену [77], критерий хи-квадрат [56], дисперсионный анализ (ANOVA) [35], рекурсивное исключение признаков [29], метод Extra Trees [51], регуляризацию Lasso [81], Elastic Net [82] и гребневую регрессию [30], для выбора наиболее важных признаков, влияющих на отказы в нашем наборе данных.
4.2.1 Фильтрующие методы. Фильтрующие методы для отбора признаков используют статистические меры для присвоения оценок каждому признаку. Затем признаки ранжировались по этой оценке, и выбирались только наиболее значимо коррелированные признаки. В частности, мы использовали алгоритмы ранжирования по корреляции Пирсона, корреляции Спирмена, Elastic Net и ранговой корреляции Кендалла для ранжирования признаков.
4.2.2 Оберточные методы. Оберточные методы выбирают различные комбинации признаков, а затем оценивают их, чтобы выбрать наиболее релевантные. Для оценки комбинаций и присвоения оценок на основе точности модели обычно используется прогнозная модель. Мы использовали различные процессы поиска, включая "Случайный лес", рекурсивное исключение признаков с классификаторами Extra Trees и логистическую регрессию для выбора наиболее важных признаков.
4.2.3 Встроенные методы. Встроенные методы выбирают наиболее релевантные признаки, которые вносят вклад в точность модели в процессе ее создания и обучения. LASSO (L1), Elastic Net и гребневая регрессия (L2) являются наиболее часто используемыми методами регуляризации. Эти методы оптимизируют процедуру обучения, тренируя модели с меньшей сложностью, где признаки с ненулевыми коэффициентами выбираются для обучения модели, тем самым служа методами отбора признаков. Три вышеупомянутых метода предоставляют ранжирование признаков, которые затем объединялись в единый список, придавая равное значение каждому методу. Как мы покажем в разделе 5, тщательный процесс отбора признаков значительно улучшает как время обучения, так и точность прогнозирования по сравнению с базовым подходом, использующим все 21 признак. Результирующий набор наиболее важных признаков показан в Таблице 2. Мы проверили выбранные признаки с экспертами в предметной области, которые подтвердили наличие сильной корреляции между признаками, выбранными алгоритмами отбора, и фактическими параметрами, указывающими на износ и отказы в SSD.
4.3 Одноклассовые модели машинного обучения
Для обучения одноклассовых моделей (автоэнкодер и "изолирующий лес") мы использовали библиотеку H2O [20] и разделили набор данных на обучающую и тестовую выборки. Обучающая выборка содержит данные с 90% исправных накопителей, но не содержит ни одного образца вышедших из строя дисков.Для одноклассового "изолирующего леса" мы используем 250 деревьев с максимальной глубиной (max_depth), равной 20, чтобы получить хорошее представление об исправном накопителе из входных данных. Увеличение размера дерева и максимальной глубины за эти значения снижало точность модели, что указывало на переобучение. Мы также экспериментально исследовали оптимальное значение гиперпараметра коэффициента загрязнения (contamination factor). Начальные значения гиперпараметров были основаны на предметных знаниях, и мы провели обширный перебор и настройку параметров (также и для базовых моделей), чтобы получить итоговые значения гиперпараметров и модели. Хотя наша обучающая выборка имеет нулевой коэффициент загрязнения (нет вышедших из строя дисков), нам необходимо сообщить модели о коэффициенте загрязнения во время вывода, чтобы модель могла настроить порог для различения исправных и вышедших из строя дисков. Эмпирически определенный коэффициент загрязнения зависит от количества дней, на которые модель должна предсказывать вперед, и колеблется в диапазоне от 0,016 до 0,002.
Модель одноклассового автоэнкодера использует 4 скрытых слоя, состоящих из 50, 25, 25 и 50 нейронов соответственно. Нейроны используют функцию активации tanh. Мы используем оптимизатор Adam [80] и обучаем модель в течение 100 эпох. Мы применяем раннюю остановку (early stopping) с параметром терпения (patience), равным 5, что гарантирует остановку обучения модели, когда потери не уменьшаются в течение 5 последовательных эпох. Увеличение количества скрытых слоев сверх 4 значительно увеличивает время обучения без улучшения производительности. Мы используем 10-кратную перекрестную проверку для оценки всех моделей.
4.4 Развернутая система
Обработанный набор данных, содержащий только отобранные наиболее важные признаки, впоследствии используется для обучения различных моделей машинного обучения. Мы представляем реализацию нашей методики прогнозирования отказов SSD в дата-центре, как показано на блок-схеме на Рисунке 3. Данные телеметрии периодически собираются со всех SSD в центре обработки данных и отправляются в конвейер предварительной обработки, который преобразует все входные данные в числовые значения, одновременно отфильтровывая неполные и зашумленные значения. После предварительной обработки данных выполняется отбор признаков для извлечения наиболее важных признаков из набора данных. Затем предварительно обработанные данные используются либо для обучения, либо для вывода. При выводе аномалии устройств регистрируются и классифицируются в соответствии с нашим подходом одноклассового автоэнкодера. Затем SSD могут быть вручную проанализированы техником или заменены напрямую. В качестве альтернативы можно использовать "скраббер" (scrubber) для проверки прогнозов модели путем проведения низкоуровневого анализа SSD, поиска "выросших" битых секторов и других проблем накопителя.
5 РЕЗУЛЬТАТЫ
В этом разделе мы сравниваем производительность наших предложенных методов одноклассового "изолирующего леса" и одноклассового автоэнкодера с тремя базовыми подходами, используемыми в предыдущих работах. В частности, мы сравниваем со "Случайным лесом", двухклассовой машиной опорных векторов (SVM) и нейронными сетями (NN), поскольку они использовались в предыдущих работах по обнаружению отказов SSD [5]. Для базовых моделей, когда это было возможно, мы использовали ту же архитектуру модели и гиперпараметры, что предложены в предыдущих работах [5]. Для гиперпараметров, которые мы не смогли найти в предыдущих работах, мы провели исследование пространства проектирования и сообщаем наилучшие найденные значения.
Для прогнозирования отказов SSD основная цель — предсказать все отказы SSD, поскольку стоимость пропуска (неправильного прогноза) накопителя, который выйдет из строя, выше, чем классификация исправного диска как отказавшего, что может быть опровергнуто "скрабированием" [55]. Тем не менее, поскольку выполнение скрабирования создает нагрузку на производительность, достижение как высокой полноты для вышедших из строя устройств, так и высокой точности для исправных устройств также важно. Чтобы удовлетворить этим требованиям, для всех экспериментов мы выбрали достаточно высокий порог для выявления отказов с минимальным значением полноты (recall), равным 0,99, а затем пытаемся предсказать эти отказы с наименьшим количеством ложных срабатываний.
Для несбалансированных наборов данных традиционные метрики (точность (accuracy), прецизионность (precision), полнота (recall) и f-мера (fscore)) сами по себе могут быть недостаточны для измерения производительности классификатора. Поскольку набор данных несбалансирован, переобучение на мажоритарном классе (предсказание всех наблюдений как мажоритарного класса) может исказить производительность и при этом отражать хорошие общие показатели точности, полноты и f-меры. Кривая рабочих характеристик приемника, или ROC-кривая [11], представляет собой график, который иллюстрирует диагностическую способность бинарной классификационной системы при изменении ее порога дискриминации. ROC-кривая создается путем построения графика зависимости истинно положительной частоты (TPR) от ложноположительной частоты (FPR) при различных значениях порога. Истинно положительная частота также известна как чувствительность, полнота или вероятность обнаружения в машинном обучении [65]. Ложноположительная частота также известна как вероятность ложной тревоги [24] и может быть рассчитана как (1 - специфичность). Площадь под кривой (ROC AUC) [26] рассчитывается, чтобы дать единую оценку для модели классификатора для всех значений порога. Это соответствует предыдущим работам, в которых используется метрика ROC AUC для оценки моделей обнаружения аномалий [5].
Для оценки пяти методов машинного обучения мы сначала помечаем все 40 миллионов наблюдений в наборе данных, чтобы разделить наблюдения за исправными и вышедшими из строя дисками. Затем мы выполняем разделение набора данных в пропорции 90% - 10% на обучающую и оценочную выборки. Для обучения одноклассовых моделей мы удаляем все наблюдения за вышедшими из строя дисками из обучающей выборки, однако оценочная выборка идентична для наших предложенных одноклассовых методов и трех базовых подходов. Мы используем 10-кратную перекрестную проверку для оценки всех подходов.
5.1 Точное прогнозирование отказов SSD
На Рисунке 4 показано сравнительное быстродействие различных методов машинного обучения для прогнозирования отказов SSD за один день вперед.
Среди базовых моделей наилучшие результаты показывает "Случайный лес" с оценкой ROC AUC, равной 0,85. Обе наши одноклассовые модели превосходят лучший базовый подход. В частности, одноклассовый "изолирующий лес" достигает оценки ROC AUC 0,91, что на 7% лучше лучшего базового подхода, а одноклассовый автоэнкодер превосходит "Случайный лес" на 9,5%.
ROC AUC определяет способность модели различать классы (в нашем случае исправные и вышедшие из строя). Для достижения хорошей производительности модели должны демонстрировать как высокую полноту (recall), так и высокую прецизионность (precision) для обоих классов. На Рисунке 5 эти метрики для пяти подходов исследуются более подробно для N=1.
Видно, что "Случайный лес" работает так же хорошо, как и наши предложенные одноклассовые модели, с точки зрения прецизионности и полноты для мажоритарного класса исправных (H) дисков, однако значительно хуже справляется с прогнозированием миноритарного класса вышедших из строя (F) дисков. Для миноритарного класса одноклассовые автоэнкодеры улучшают прецизионность на 6% по сравнению со "Случайным лесом", а также на 68% и 72% по сравнению с базовыми моделями на основе нейронных сетей и SVM соответственно.
5.2 Адаптивность к неизвестным отказам
В предыдущем разделе мы показали, что наши предложенные одноклассовые модели способны превосходить двухклассовые модели до 72% в лучшем для базовых подходов сценарии с точки зрения прецизионности (на 31% с точки зрения оценки ROC AUC), когда 90% всех типов отказов содержатся в обучающем наборе. Теперь мы оцениваем способность моделей адаптироваться к новым средам центра обработки данных, вызванным, например, новыми рабочими нагрузками или новым оборудованием. Поэтому на Рисунке 6 мы изменяем количество наблюдений за вышедшими из строя дисками, включенных в обучающий набор, от 10% до 100%, моделируя динамические среды, где со временем появляются новые типы отказов.
На Рисунке 6 показана оценка ROC AUC для трех базовых подходов и наших предложенных одноклассовых методов при различном проценте вышедших из строя дисков, включенных в обучающий набор. Обратите внимание, что наши одноклассовые методы не включают никаких вышедших из строя дисков в обучающий набор, поэтому мы отображаем их производительность в виде прямой линии. Производительность базовых моделей, однако, существенно зависит от количества миноритарных образцов в обучающем наборе. Например, если только 50% наблюдений за вышедшими из строя дисками включены в обучающий набор, наш предложенный метод одноклассового автоэнкодера превосходит "Случайный лес" на 13%, а NN и SVM — на 33%. Это показывает, что особенно в динамических средах наши одноклассовые методы являются лучшим выбором, чем методы, использовавшиеся в предыдущих работах.
5.3 Интерпретация отказов SSD
В данной работе предлагается использовать одноклассовые автоэнкодеры для интерпретации отказов SSD. В частности, наш метод раскрывает причины, определенные нашей моделью для пометки конкретного отказа устройства. Это достигается за счет использования ошибки восстановления (reconstruction error), генерируемой моделью при воспроизведении выхода с использованием обученного представления исправного диска. Вышедшие из строя диски не соответствуют этому представлению, тем самым генерируя выходные данные, которые значительно отличаются от фактических наблюдений, создавая большую ошибку восстановления. Мы изучаем ошибку восстановления для каждого признака, чтобы определить причины отказа. Признаки, вклад которых в общую о шибку восстановления превышает среднюю ошибку на признак, определяются как значимые причины.
На Рисунке 7 показано, как часто признак отмечался автоэнкодерной моделью как значимая причина отказа, агрегированно для всех наблюдений с вышедших из строя дисков. Ось Y отображает все признаки, используемые моделью, представляющие потенциальную причину отказа, а ось X показывает номер вышедшего из строя диска. Для каждого диска мы сообщаем причину отказа с помощью диаграммы рассеяния. Из Рисунка 7 видно, что многие вышедшие из строя диски демонстрируют большее, чем обычно, количество исправимых ошибок (correctable_errors), подсчитывающее количество неудачных чтений, которые можно было исправить с помощью кодов коррекции ошибок (ECC). Это указывает на то, что большое количество неисправимых ошибок часто приводит к отказам, однако этот признак также является значимым только примерно для 35% дисков.
Совокупное количество битых блоков (Cumulative_bad_block) представляет собой еще одну важную причину, определенную моделью, указывающую на отказы SSD, так как показывает частые аномалии, однако опять же менее чем в 30% случаев. В целом, этот анализ показывает, что существуют особенно релевантные признаки, указывающие на отказы устройств во многих случаях, однако только комбинация нескольких признаков позволяет точно прогнозировать отказы. Мы также отмечаем, что совокупное количество неисправимых ошибок (UEC), которое широко исследовалось [15, 36, 64] на предмет корреляции с отказами SSD, согласно нашей модели на основе автоэнкодера, способствовало менее чем 1% отказов.
5.4 Исследования чувствительности
Далее мы представляем два дополнительных исследования чувствительности. В первом мы оцениваем способность наших моделей предсказывать отказы за несколько дней вперед. Прогнозирование на более дальнюю перспективу полезно по логистическим причинам и для целей закупок. Во втором исследовании мы оцениваем влияние отбора признаков на пять подходов.
5.4.1 Прогнозирование на несколько дней вперед. Для оптимизации обслуживания накопителей и закупки новых запасных дисков предпочтительнее прогнозировать отказы дисков на более длительный срок вперед. В то время как предыдущие разделы были сосредоточены на прогнозировании за один день вперед, на Рисунке 8 оценивается производительность ROC AUC при прогнозировании на несколько дней (N) вперед. Как и ожидалось, для всех пяти моделей производительность прогнозирования ухудшается при увеличении временного горизонта. Так, если производительность одноклассовых автоэнкодеров значительно падает, то одноклассовый "изолирующий лес" лучше сохраняет производительность. В частности, для ?? = 4 модель одноклассового "изолирующего леса" становится наиболее производительной техникой, превосходя базовую модель "Случайного леса" на 6%, а SVM и NN — на 11% и 13% соответственно по оценке ROC AUC.
5.4.2 Отбор признаков. Как упоминалось выше, мы использовали алгоритмы отбора признаков для выбора наиболее важных признаков, влияющих на отказы в нашем наборе данных. Таблицы 1 и 2 перечисляют признаки до и после отбора. На Рисунке 9 демонстрируется потенциальная польза использования отбора признаков путем сравнения производительности модели (с точки зрения улучшения оценки ROC AUC) с исходными 21 признаками против производительности модели, обученной только на 9 признаках. Как видно, все методы выигрывают от отбора признаков. Например, абсолютная оценка ROC AUC для "Случайного леса" улучшается на 3,7% при использовании отбора признаков, в то время как производительность ROC AUC одноклассового автоэнкодера увеличивается на 3,3%. Отбор признаков также сокращает количество признаков, используемых для обучения моделей, что приводит к сокращению времени обучения до 41% (для моделей автоэнкодера), как видно из Таблицы 3.
6 ОБСУЖДЕНИЕ
Ниже мы обсуждаем наши предложенные одноклассовые модели.
6.1 Одноклассовый "изолирующий лес"
Подходы к обнаружению аномалий с использованием "изолирующих лесов", как правило, обучаются на данных как мажоритарного, так и миноритарного класса. Возможно, удивительно, но мы обнаружили, что "изолирующие леса", обученные только на миноритарном классе, показывают исключительно хорошие результаты, особенно для обнаружения неизвестных отказов, превосходя производительность базовых подходов (модели на основе "Случайного леса", двухклассовой SVM и нейронных сетей). Двухклассовые модели используют данные обоих классов, чтобы изучить представление для каждого класса. Поскольку количество образцов вышедших из строя дисков в нашем случае значительно меньше, чем исправно работающих SSD, у модели меньше образцов для обучения, и поэтому она с большей вероятностью неправильно классифицирует ранее неизвестные вышедшие из строя SSD. Напротив, одноклассовые модели изучают представление об исправно работающем SSD и с большей вероятностью правильно классифицируют ранее неизвестные аномалии (одноклассовые модели не страдают от переобучения на ограниченном обучающем наборе вышедших из строя SSD).
Наш подход не требует обучения на всех различных типах отказов для их обнаружения и, следовательно, хорошо обобщается и масштабируется при предоставлении новых наблюдений за исправными дисками. Этот подход превосходит автоэнкодеры при прогнозировании более чем на два дня вперед и обучается быстрее, требуя меньше обучающих выборок. Тем не менее, ему не удалось превзойти автоэнкодеры (для N=1 и N=2) из-за более высокой частоты ложных срабатываний (аномалий, о которых сообщает модель, но которые не являются фактическими отказами). Мы планируем в будущем использовать двухуровневую контролируемую бинарную классификацию, чтобы обучить модель известным отказам для исключения большего количества ложных срабатываний во время оценки.
6.2 Одноклассовый автоэнкодер
Насколько нам известно, это первое применение одноклассового автоэнкодера на основе глубокого обучения для прогнозирования отказов SSD. Мы использовали данные с исправных дисков для создания закодированного представления исправного диска. При подаче тестовых точек данных в закодированное представление мы регистрировали разницу между наблюдаемым и сгенерированным выходом. Поскольку аномальные точки данных плохо соответствуют кодировке, они, как правило, имеют более высокие значения ошибок. Как и в одноклассовом "изолирующем лесу", автоэнкодеру не нужно обучаться на наборе данных миноритарного класса. Автоэнкодеры показали наилучшие результаты при прогнозировании отказов до 2 дней вперед, достигнув наивысшей точности, прецизионности и оценки ROC AUC с полнотой 0,99. Они показали худшие результаты по сравнению с одноклассовым "изолирующим лесом" при прогнозировании на 3 или более дней вперед, демонстрируя более низкую прецизионность, однако автоэнкодеры обеспечивают интерпретируемость прогнозов модели. В частности, мы можем узнать, почему модель пометила наблюдение как отказ, чтобы проинформировать процедуру ремонта и обслуживания.
7 СМЕЖНЫЕ РАБОТЫ
Более ранние работы по анализу и прогнозированию отказов в системах хранения были сосредоточены на жестких дисках [10, 32, 32, 53, 55, 59, 62, 68, 75, 78, 78]. Однако из-за принципиально разных технологий хранения эти предыдущие результаты неприменимы к SSD на основе флеш-памяти [17]. Более того, эти предыдущие исследования проводились на гораздо меньшем количестве дисков и, следовательно, были несовместимы с методами машинного обучения, требующими больших наборов обучающих данных.
Несколько исследований были сосредоточены на предоставлении статистики долгосрочных тенденций отказов [5, 10, 10, 52, 74]. Меза [57] исследовал прогнозирование отказов SSD на основе одного признака (частота неисправимых битовых ошибок), тогда как наш подход анализирует гораздо более полный набор из 21 признака. Шредер [69] использовал контролируемые методы машинного обучения (двухклассовую SVM и "Случайный лес") для прогнозирования отказов секторов. Альтер [5] изучал корреляции между различными условиями рабочей нагрузки для исследования "детской смертности" SSD в центрах обработки данных Google. Мы вносим вклад по сравнению с этими работами, предлагая одноклассовые модели, улучшающие точность прогнозирования, обеспечивая адаптивность к ранее неизвестным отказам и обеспечивая интерпретируемость прогнозов.
Техники обнаружения аномалий с использованием как традиционного машинного обучения [61], так и методов глубокого обучения [63] успешно применялись в различных областях исследований. Адевуми [2] предоставляет подробный обзор методов обнаружения мошенничества на основе глубокого обучения. Широкий обзор методов глубокого обнаружения аномалий (DAD) для обнаружения кибервторжений представлен Квоном [44]. Обзор методов DAD для обнаружения аномалий в Интернете вещей (IoT) и больших данных представлен Мохаммади и Мехди [58]. Обнаружение аномалий в сенсорных сетях было рассмотрено Боллом [7]. Современные методы на основе глубокого обучения для обнаружения аномалий на видео вместе с различными категориями представлены в работе Киран [41]. Другие применения обнаружения аномалий включают прогнозирование сбоев в облачных системах [72], в медицинской области [48] и в автономных транспортных средствах [4] [3]. Чжан [79] представил ATAD, метод обнаружения аномалий в облачных системах, путем обучения модели на одном наборе данных и использования трансферного обучения для применения модели к другому набору данных. Наша работа отличается использованием комбинации нескольких методов отбора признаков для выбора наиболее релевантных признаков для обучения модели с целью генерации причин отказов. В дополнение к приложениям обнаружения аномалий машинное обучение применялось для повышения производительности и эффективности систем хранения и SSD [12, 16, 33, 42, 49].
8 ЗАКЛЮЧЕНИЕ
В этой статье представлен всесторонний анализ методов машинного обучения для прогнозирования отказов SSD в облаке. Для этого мы собираем информацию телеметрии SSD с более чем 30 000 накопителей за период в шесть лет из дата-центров Google. Мы отмечаем, что предыдущие работы по прогнозированию отказов SSD страдают от неспособности предсказывать ранее неизвестные типы отказов, что побудило нас исследовать одноклассовые модели машинного обучения, такие как одноклассовый "изолирующий лес" и одноклассовый автоэнкодер. Мы показываем, что наши подходы превосходят предыдущие работы на 9,5% по оценке ROC-AUC, значительно улучшая точность прогнозирования для вышедших из строя дисков. Для динамических сред, где только подмножество различных типов отказов дисков является частью обучающего набора, наши одноклассовые методы улучшают базовые подходы на 13%. Наконец, мы показываем, что одноклассовые автоэнкодеры обеспечивают интерпретируемость прогнозов модели, раскрывая причины, определенные моделью для прогнозирования отказа.
9 БЛАГОДАРНОСТИ
Мы благодарим Арифа Мерчанта из Google за предоставление доступа к данным Google и полезные отзывы по рукописи. Мы также благодарим анонимных рецензентов за их комментарии. Эта работа была щедро поддержана Samsung Semiconductor Inc. и грантом NSF #1942754.
Список литературы
- HDDs and SSDs: global shipments 2015-2021. https://www.statista.com/statistics/285474/hdds-and-ssds-in-pcs-global-shipments-2012-2017/. Accessed: 2019-11-11.
- Aderemi O Adewumi and Andronicus A Akinyelu. 2017. A survey of machine-learning and nature-inspired based credit card fraud detection techniques. International Journal of System Assurance Engineering and Management 8, 2 (2017), 937–953.
- Khattab M Ali Alheeti, Anna Gruebler, Klaus D McDonald-Maier, and Anil Fernando. 2016. Prediction of DoS attacks in external communication for self-driving vehicles using a fuzzy petri net model. In 2016 IEEE International Conference on Consumer Electronics (ICCE). IEEE, 502–503.
- Khattab M Ali Alheeti, Anna Gruebler, and Klaus McDonald-Maier. 2016. Intelligent intrusion detection of grey hole and rushing attacks in self-driving vehicular networks. Computers 5, 3 (2016), 16.
- Jacob Alter, Ji Xue, Alma Dimnaku, and Evgenia Smirni. 2019. SSD failures in the field: symptoms, causes, and prediction models. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. ACM, 75.
- Mahesh Balakrishnan, Asim Kadav, Vijayan Prabhakaran, and Dahlia Malkhi. 2010. Differential raid: Rethinking raid for ssd reliability. ACM Transactions on Storage (TOS) 6, 2 (2010), 1–22.
- John E Ball, Derek T Anderson, and Chee Seng Chan. 2017. Comprehensive survey of deep learning in remote sensing: theories, tools, and challenges for the community. Journal of Applied Remote Sensing 11, 4 (2017), 042609.
- Hanmant P Belgal, Nick Righos, Ivan Kalastirsky, Jeff J Peterson, Robert Shiner, and Neal Mielke. 2002. A new reliability model for post-cycling charge retention of flash memories. In 2002 IEEE International Reliability Physics Symposium. Proceedings. 40th Annual (Cat. No. 02CH37320). IEEE, 7–20.
- Kristin P Bennett and Ayhan Demiriz. 1999. Semi-supervised support vector machines. In Advances in Neural Information processing systems. 368–374.
- Mirela Madalina Botezatu, Ioana Giurgiu, Jasmina Bogojeska, and Dorothea Wiesmann. 2016. Predicting disk replacement towards reliable data centers. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 39–48.
- Andrew P. Bradley. 1997. The use of the area under the ROC curve in the evaluation of machine learning algorithms. Pattern Recognition (1997), 1145–1159.
- Peter Braun and Heiner Litz. 2019. Understanding Memory Access Patterns for Prefetching. In International Workshop on AI-assisted Design for Architecture (AIDArc), held in conjunction with ISCA.
- Yu Cai, Yixin Luo, Saugata Ghose, and Onur Mutlu. 2015. Read disturb errors in MLC NAND flash memory: Characterization, mitigation, and recovery. In 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. IEEE, 438–449.
- Yu Cai, Onur Mutlu, Erich F Haratsch, and Ken Mai. 2013. Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. In 2013 IEEE 31st International Conference on Computer Design (ICCD). IEEE, 123–130.
- Yu Cai, Yunxiang Wu, and Erich F Haratsch. 2016. Error correction code (ECC) selection using probability density functions of error correction capability in storage controllers with multiple error correction codes. US Patent 9,419,655.
- Chandranil Chakraborttii and Heiner Litz. 2020. Learning I/O Access Patterns to Improve Prefetching in SSDs. ICML-PKDD (2020).
- Chandranil Chakraborttii, Vikas Sinha, and Heiner Litz. SSD QoS Improvements through Machine Learning.
- Nitesh V Chawla, Kevin W Bowyer, Lawrence O Hall, and W Philip Kegelmeyer. 2002. SMOTE: synthetic minority over-sampling technique. Journal of artificial intelligence research 16 (2002), 321–357.
- Tae-Sun Chung, Dong-Joo Park, Sangwon Park, Dong-Ho Lee, Sang-Won Lee, and Ha-Joo Song. 2009. A survey of flash translation layer. Journal of Systems Architecture 55, 5-6 (2009), 332–343.
- Darren Cook. 2016. Practical machine learning with H2O: powerful, scalable techniques for deep learning and AI. " O’Reilly Media, Inc.".
- Jim Cooke. 2007. The inconvenient truths of NAND flash memory. Flash Memory Summit 3, 3 (2007), 3–1.
- Manoranjan Dash and Huan Liu. 1997. Feature selection for classification. Intelligent data analysis 1, 1-4 (1997), 131–156.
- Robin Degraeve, F Schuler, Ben Kaczer, Martino Lorenzini, Dirk Wellekens, Paul Hendrickx, Michiel van Duuren, GJM Dormans, Jan Van Houdt, L Haspeslagh, et al. 2004. Analytical percolation model for predicting anomalous charge loss in flash memories. IEEE Transactions on Electron Devices 51, 9 (2004), 1392–1400.
- Jim D Echard. 1991. Estimation of radar detection and false alarm probability. IEEE Trans. Aerospace Electron. Systems 27, 2 (1991), 255–260.
- Evangelos S Eleftheriou, Robert Haas, Xiaoyu Hu, and Roman A Pletka. 2014. Reliability scheme using hybrid SSD/HDD replication with log structured management. US Patent 8,700,949.
- Tom Fawcett. 2006. An introduction to ROC analysis. Pattern recognition letters 27, 8 (2006), 861–874.
- Alberto Fernandez, Salvador Garcia, Francisco Herrera, and Nitesh V Chawla. 2018. SMOTE for learning from imbalanced data: progress and challenges, marking the 15-year anniversary. Journal of artificial intelligence research 61 (2018), 863–905.
- Ralph Howard Fowler and Lothar Nordheim. 1928. Electron emission in intense electric fields. Proceedings of the Royal Society of London. Series A, Containing Papers of a Mathematical and Physical Character 119, 781 (1928), 173–181.
- Pablo M Granitto, Cesare Furlanello, Franco Biasioli, and Flavia Gasperi. 2006. Recursive feature elimination with random forest for PTR-MS analysis of agroindustrial products. Chemometrics and Intelligent Laboratory Systems 83, 2 (2006), 83–90.
- Quanquan Gu, Zhenhui Li, and Jiawei Han. 2012. Generalized fisher score for feature selection. arXiv preprint arXiv:1202.3725 (2012).
- Aloke Guha. 2008. Method and system for proactive drive replacement for high availability storage systems. US Patent 7,373,559.
- Greg Hamerly, Charles Elkan, et al. 2001. Bayesian approaches to failure prediction for disk drives. In ICML, Vol. 1. 202–209.
- Milad Hashemi, Kevin Swersky, Jamie A Smith, Grant Ayers, Heiner Litz, Jichuan Chang, Christos Kozyrakis, and Parthasarathy Ranganathan. 2018. Learning memory access patterns. arXiv preprint arXiv:1803.02329 (2018).
- Mohamad H Hassoun et al. 1995. Fundamentals of artificial neural networks. MIT press.
- Kevin J Johnson and Robert E Synovec. 2002. Pattern recognition of jet fuels: comprehensive GC? GC with ANOVA-based feature selection and principal component analysis. Chemometrics and Intelligent Laboratory Systems 60, 1-2 (2002), 225–237.
- Myoungsoo Jung and Mahmut Kandemir. 2013. Revisiting widely held SSD expectations and rethinking system-level implications. In ACM SIGMETRICS Performance Evaluation Review, Vol. 41. ACM, 203–216.
- Tae-Sung Jung, Young-Joon Choi, Kang-Deog Suh, Byung-Hoon Suh, Jin-Ki Kim, Young-Ho Lim, Yong-Nam Koh, Jong-Wook Park, Ki-Jong Lee, Jung-Hoon Park, et al. 1996. A 3.3 V 128 Mb multi-level NAND flash memory for mass storage applications. In 1996 IEEE International Solid-State Circuits Conference. Digest of TEchnical Papers, ISSCC. IEEE, 32–33.
- Dawon Kahng and Simon M Sze. 1967. A floating gate and its application to memory devices. The Bell System Technical Journal 46, 6 (1967), 1288–1295.
- Kenji Kira and Larry A Rendell. 1992. A practical approach to feature selection. In Machine Learning Proceedings 1992. Elsevier, 249–256.
- Kenji Kira, Larry A Rendell, et al. 1992. The feature selection problem: Traditional methods and a new algorithm. In Aaai, Vol. 2. 129–134.
- B Ravi Kiran, Dilip Mathew Thomas, and Ranjith Parakkal. 2018. An overview of deep learning based methods for unsupervised and semi-supervised anomaly detection in videos. Journal of Imaging 4, 2 (2018), 36.
- Ana Klimovic, Heiner Litz, and Christos Kozyrakis. 2018. Selecta: Heterogeneous cloud storage configuration for data analytics. In 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 759–773.
- Daphne Koller and Mehran Sahami. 1996. Toward optimal feature selection. Technical Report. Stanford InfoLab.
- Cheolhyeon Kwon, Weiyi Liu, and Inseok Hwang. 2013. Security analysis for cyber-physical systems against stealthy deception attacks. In 2013 American control conference. IEEE, 3344–3349.
- Thomas Navin Lal, Olivier Chapelle, Jason Weston, and Andre Elisseeff. 2006. Embedded methods. In Feature extraction. Springer, 137–165.
- Andy Liaw, Matthew Wiener, et al. 2002. Classification and regression by randomForest. R news 2, 3 (2002), 18–22.
- M. Lindenbaum, S. Markovich, D. Rusakov, et al. 1999. Selective sampling for nearest neighbor classifiers. In Proceedings of The National Conference on Artificial Intelligence. 366–371.
- Geert Litjens, Thijs Kooi, Babak Ehteshami Bejnordi, Arnaud Arindra Adiyoso Setio, Francesco Ciompi, Mohsen Ghafoorian, Jeroen Awm Van Der Laak, Bram Van Ginneken, and Clara I Sanchez. 2017. A survey on deep learning in medical image analysis. Medical image analysis 42 (2017), 60–88.
- Heiner Litz and Milad Hashemi. 2020. Machine Learning for Systems. IEEE Micro 40, 5 (2020), 6–7.
- Fei Tony Liu, Kai Ming Ting, and Zhi-Hua Zhou. 2008. Isolation forest. In 2008 Eighth IEEE International Conference on Data Mining. IEEE, 413–422.
- Gilles Louppe, Louis Wehenkel, Antonio Sutera, and Pierre Geurts. 2013. Understanding variable importances in forests of randomized trees. In Advances in neural information processing systems. 431–439.
- Yixin Luo, Saugata Ghose, Yu Cai, Erich F Haratsch, and Onur Mutlu. 2018. Improving 3D NAND flash memory lifetime by tolerating early retention loss and process variation. Proceedings of the ACM on Measurement and Analysis of Computing Systems 2, 3 (2018), 37.
- Ao Ma, Rachel Traylor, Fred Douglis, Mark Chamness, Guanlin Lu, Darren Sawyer, Surendar Chandra, and Windsor Hsu. 2015. RAID-Shield: characterizing, monitoring, and proactively protecting against disk failures. ACM Transactions on Storage (TOS) 11, 4 (2015), 17.
- Farzaneh Mahdisoltani, Ioan Stefanovici, and Bianca Schroeder. 2017. Improving storage system reliability with proactive error prediction. In Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference. USENIX Association, 391–402.
- Farzaneh Mahdisoltani, Ioan Stefanovici, and Bianca Schroeder. 2017. Proactive error prediction to improve storage system reliability. In 2017 {USENIX} Annual Technical Conference ({USENIX}{ATC} 17). 391–402.
- Mary L McHugh. 2013. The chi-square test of independence. Biochemia medica: Biochemia medica 23, 2 (2013), 143–149.
- Justin Meza, Qiang Wu, Sanjev Kumar, and Onur Mutlu. 2015. A large-scale study of flash memory failures in the field. In ACM SIGMETRICS Performance Evaluation Review, Vol. 43. ACM, 177–190.
- Mehdi Mohammadi, Ala Al-Fuqaha, Sameh Sorour, and Mohsen Guizani. 2018. Deep learning for IoT big data and streaming analytics: A survey. IEEE Communications Surveys & Tutorials 20, 4 (2018), 2923–2960.
- Joseph F Murray, Gordon F Hughes, and Kenneth Kreutz-Delgado. 2005. Machine learning methods for predicting failures in hard drives: A multiple-instance application. Journal of Machine Learning Research 6, May (2005), 783–816.
- AW Pearson. 1972. The use of ranking formulae in R & D projects. R&D Management 2, 2 (1972), 69–73.
- Marco AF Pimentel, David A Clifton, Lei Clifton, and Lionel Tarassenko. 2014. A review of novelty detection. Signal Processing 99 (2014), 215–249.
- Eduardo Pinheiro, Wolf-Dietrich Weber, and Luiz Andre Barroso. 2007. Failure trends in a large disk drive population. (2007).
- Apapan Pumsirirat and Liu Yan. 2018. Credit card fraud detection using deep learning based on auto-encoder and restricted boltzmann machine. International Journal of advanced computer science and applications 9, 1 (2018), 18–25.
- Cory Reche, Lee Nevill, and Tim Martin. 2012. Error detection/correction based memory management. US Patent 8,312,349.
- Maheshkumar Sabhnani and Gursel Serpen. 2003. Application of Machine Learning Algorithms to KDD Intrusion Detection Dataset within Misuse Detection Context.. In MLMTA. 209–215.
- Mohammad Sabokrou, Mahmood Fathy, and Mojtaba Hoseini. 2016. Video anomaly detection and localisation based on the sparsity and reconstruction error of auto-encoder. Electronics Letters 52, 13 (2016), 1122–1124.
- Noelia Sanchez-Marono, Amparo Alonso-Betanzos, and Maria Tombilla-Sanroman. 2007. Filter methods for feature selection–a comparative study. In International Conference on Intelligent Data Engineering and Automated Learning. Springer, 178–187.
- Bianca Schroeder and Garth A Gibson. 2007. Disk failures in the real world: What does an MTTF of 1, 000, 000 hours mean to you?. In FAST, Vol. 7. 1–16.
- Bianca Schroeder, Raghav Lagisetty, and Arif Merchant. 2016. Flash reliability in production: The expected and the unexpected. In 14th {USENIX} Conference on File and Storage Technologies ({FAST} 16). 67–80.
- Bianca Schroeder, Arif Merchant, and Raghav Lagisetty. 2017. Reliability of NAND-based SSDs: What field studies tell us. Proc. IEEE 105, 9 (2017), 1751–1769.
- Luis Talavera. 2005. An evaluation of filter and wrapper methods for feature selection in categorical clustering. In International Symposium on Intelligent Data Analysis. Springer, 440–451.
- Yongmin Tan, Hiep Nguyen, Zhiming Shen, Xiaohui Gu, Chitra Venkatramani, and Deepak Rajan. 2012. Prepare: Predictive performance anomaly prevention for virtualized cloud systems. In 2012 IEEE 32nd International Conference on Distributed Computing Systems. IEEE, 285–294.
- Wei Wang, Yan Huang, Yizhou Wang, and Liang Wang. 2014. Generalized autoencoder: A neural network framework for dimensionality reduction. In Proceedings of the IEEE conference on computer vision and pattern recognition workshops. 490–497.
- Erci Xu, Mai Zheng, Feng Qin, Yikang Xu, and Jiesheng Wu. 2019. Lessons and actions: What we learned from 10k ssd-related storage system failures. In 2019 {USENIX} Annual Technical Conference ({USENIX}{ATC} 19). 961–976.
- Yong Xu, Kaixin Sui, Randolph Yao, Hongyu Zhang, Qingwei Lin, Yingnong Dang, Peng Li, Keceng Jiang, Wenchi Zhang, Jian-Guang Lou, et al. 2018. Improving service availability of cloud systems by predicting disk error. In 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 481–494.
- Ji Hyuck Yun, Jin Hyuk Yoon, Eyee Hyun Nam, and Sang Lyul Min. 2012. An abstract fault model for NAND flash memory. IEEE Embedded Systems Letters 4, 4 (2012), 86–89.
- Jerrold H Zar. 2005. Spearman rank correlation. Encyclopedia of Biostatistics 7 (2005).
- Qiao Zhang, Guo Yu, Chuanxiong Guo, Yingnong Dang, Nick Swanson, Xinsheng Yang, Randolph Yao, Murali Chintalapati, Arvind Krishnamurthy, and Thomas Anderson. 2018. Deepview: Virtual disk failure diagnosis and pattern detection for azure. In 15th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 18). 519–532.
- Xu Zhang, Qingwei Lin, Yong Xu, Si Qin, Hongyu Zhang, Bo Qiao, Yingnong Dang, Xinsheng Yang, Qian Cheng, Murali Chintalapati, et al. 2019. Cross-dataset time series anomaly detection for cloud systems. In 2019 {USENIX} Annual Technical Conference ({USENIX}{ATC} 19). 1063–1076.
- Zijun Zhang. 2018. Improved Adam optimizer for deep neural networks. In 2018 IEEE/ACM 26th International Symposium on Quality of Service (IWQoS). IEEE, 1–2.
- Yang Zhou, Rong Jin, and Steven Chu-Hong Hoi. 2010. Exclusive lasso for multi-task feature selection. In Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. 988–995.
- Hui Zou and Trevor Hastie. 2005. Regularization and variable selection via the elastic net. Journal of the royal statistical society: series B (statistical methodology) 67, 2 (2005), 301–320.