HiBench Suite
The bigdata micro benchmark suite
HiBench — это набор тестов для больших данных, который помогает оценить различные фреймворки для работы с большими данными с точки зрения скорости, пропускной способности и использования системных ресурсов. Он содержит набор рабочих нагрузок Hadoop, Spark и потоковой передачи, включая Sort, WordCount, TeraSort, Repartition, Sleep, SQL, PageRank, индексацию Nutch, Bayes, Kmeans, NWeight и улучшенный DFSIO и т. д. Также он содержит несколько рабочих нагрузок потоковой передачи для Spark Streaming, Flink, Storm и Gearpump.
Всего в HiBench 29 рабочих нагрузок. Рабочие нагрузки разделены на 6 категорий: микро, машинное обучение, SQL, граф, веб-поиск и потоковая передача.
Микротесты:
Сортировка (sort).
Эта рабочая нагрузка сортирует входные данные text, которые генерируются с помощью RandomTextWriter.
Подсчёт слов (wordcount).
Эта рабочая нагрузка подсчитывает появление каждого слова во входных данных, которые генерируются с использованием RandomTextWriter. Это пример типичного класса реальных заданий MapReduce — извлечение небольшого количества интересных данных из большого набора данных.
Терасортировка (terasort).
Терасортировка — это стандартный тест, созданный Джимом Греем. Его входные данные генерируются примером программы Hadoop TeraGen.
Перераспределение (micro/repartition).
Эта рабочая нагрузка тестирует производительность перемешивания. Входные данные генерируются Hadoop TeraGen. Рабочая нагрузка случайным образом выбирает раздел после перемешивания для каждой записи, выполняет запись перемешанного чтения и равномерно перераспределяет записи. Есть 2 параметра, предоставляющих варианты устранения ввода-вывода источника и приёмника: hibench.repartition.cacheinmemory (по умолчанию: false) и hibench.repartition.disableOutput (по умолчанию: false), контролирующие, следует ли 1) кэшировать ввод в памяти сначала 2) записывать результат в хранилище.
Сон (sleep).
В этой рабочей нагрузке каждая задача спит определённое количество секунд для проверки планировщика фреймворка.
Улучшенное DFSIO (dfsioe).
Улучшенное DFSIO проверяет пропускную способность HDFS кластера Hadoop, создавая большое количество задач, выполняющих одновременные записи и чтения. Оно измеряет среднюю скорость ввода-вывода каждой задачи карты, среднюю пропускную способность каждой задачи карты и общую пропускную способность кластера HDFS. Обратите внимание: у этого теста нет соответствующей реализации Spark.
Машинное обучение:
Байесовская классификация (Bayes).
Наивный байесовский классификатор — это простой алгоритм классификации по нескольким классам с предположением о независимости между каждой парой признаков. Эта рабочая нагрузка реализована в spark.mllib и использует автоматически сгенерированные документы, слова которых следуют распределению zipfian. Словарь, используемый для генерации текста, также взят из файла по умолчанию linux /usr/share/dict/linux.words.ords.
Кластеризация k-средних (Kmeans).
Этот тест проверяет кластеризацию k-средних в spark.mllib. Набор входных данных генерируется GenKMeansDataset на основе равномерного распределения и гауссовского распределения. Существует также оптимизированная реализация k-средних на основе DAL (Intel Data Analytics Library), которая доступна в модуле dal sparkbench.
Гауссовская модель смеси (GMM).
Гауссовская модель смеси представляет собой составное распределение, при котором точки берутся из одного из k гауссовских подраспределений, каждое со своей вероятностью. Она реализована в spark.mllib. Набор входных данных генерируется GenKMeansDataset на основе равномерного и гауссовского распределений.
Логистическая регрессия (LR).
Логистическая регрессия (LR) — популярный метод прогнозирования категориального ответа. Эта рабочая нагрузка реализована в... Две вершины, которые находятся на расстоянии n-переходов.
Потоковые тесты производительности:
Эта рабочая нагрузка считывает входные данные из Kafka и затем немедленно записывает результат в Kafka, сложная бизнес-логика не используется. 2. Перераспределение (streaming/repartition).
Рабочая нагрузка считывает входные данные из Kafka и изменяет уровень параллелизма, создавая больше или меньше разделов. Это проверяет эффективность перемешивания данных в потоковых фреймворках. 3. Подсчёт слов с сохранением состояния (wordcount).
В этой рабочей нагрузке подсчитываются слова, кумулятивно полученные от Kafka каждые несколько секунд. Это тестирует производительность оператора с отслеживанием состояния и стоимость Checkpoint/Acker в потоковых фреймворках. 4. Фиксированное окно (fixwindow).
Рабочие нагрузки выполняют агрегацию на основе окна. Это проверяет производительность операций с окнами в потоковых фреймворках.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )