Способ измерения скоростных характеристик запоминающего устройства
METHOD FOR MEASURING SPEED CHARACTERISTICS OF STORAGE DEVICE

Изобретение относится к компьютерной технике и предназначено для измерения скоростных характеристик различных периферийных устройств, осуществляющих запись и хранение информации, устанавливаемых на вычислительные системы.
Из уровня технике известна программа для измерения скорости записи и чтения данных с жёсткого диска, SSD, сетевого диска, USB накопителя и других носителей информации – Parkdale. Программа имеет три режима работы: QuickAccess, FileAccess, BlockAccess. Режим QuickAccess - быстрая проверка скорости устройства с использованием текущей файловой системы. FileAccess - тест скорости чтения/записи определенного файла с указанием его размера и размера блока. Block Access - тест скорости без использования файловой системы.
Недостатком является невозможность измерить скоростные характеристики определенного участка памяти запоминающего устройства.
Техническим результатом является расширение функциональных возможностей при определении характеристик записи и чтения с памяти запоминающих устройств.
Заявленный результат обеспечивается предлагаемым способом измерения скоростных характеристик запоминающего устройства, в котором определяют путь к участку памяти запоминающего устройства, устанавливают часть свободного пространства памяти, которая будет задействована при измерении, заполняется данная часть участка памяти файлами разной длины с последующим чтением записанных файлов, а после заполнения указанной части участка памяти осуществляют чтение записанных файлов, при этом файлы представляют собой последовательность символов, а их длина определяется от оставшегося свободного пространства участка памяти запоминающего устройства.
Подробное описание изобретения
Заявленный способ реализуется программным комплексом. Программный комплекс является приложением консольного типа, без оконного интерфейса. Запуск приложения осуществляется из командной строки (терминала).
Для запуска в ОС Windows необходимо набрать в командной строке:
dsp.exe с входными параметрами.
Для запуска в ОС UNIХ:
./dsp с входными параметрами.
Описание входных параметров
Приложение имеет набор опций, задающих параметры его работы. Данные опции задаются с помощью аргументов командной строки при запуске приложения.
dsp.exe| ./dsp |
[-help] |
-path value [–percent value] [-save value] [-clean value] [-freqwr value] [-freqrd value] [-nocheck value] [-flush value] [[-minfsize value] [-maxfsize value]] |
-path value -writeonly yes [–percent value] [-save value] [-clean value] [-freqwr value] [[-minfsize value] [-maxfsize value]]
-path value -readonly yes [–nocheck value] [-flush value] [-freqrd value]
-path value –path2config value -section value –nrequests value –statinterval value  [-sectormode value] [-sectorsize value]
Параметры приложения имеют следующие значения:
-help – вызов справочной информации по аргументам приложения
-path – устанавливает абсолютный путь к рабочей области. Под рабочей областью понимается часть пространства устройства, ограниченного необходимым размером и логическим местом внутри файловой системы, например, логический диск, директория. Параметр является обязательным.
-percent – устанавливает процент свободного пространства, который будет задействован для операций записи в рабочей области, указанной в параметре path, интервал допустимых значений 1-100, значение по умолчанию 10.
-save – устанавливает, сохранять ли файлы, сгенерированные в процессе записи после окончания записи, допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no.
-clean – устанавливает, очищать ли рабочую область, определенную параметром path, от файлов, созданных предыдущими сессиями работы программы (файлы с расширением dspx). Файлы с другими расширениями не удаляются. Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию yes.
-freqwr – устанавливает шаг отображения процесса заполнения рабочей области файлами. Интервал допустимых значений 1-100. Значение по умолчанию 10.
-freqrd - устанавливает шаг отображения процесса чтения (и проверки) файлов, созданных в процессе заполнения рабочей области. Интервал допустимых значений 1-100. Значение по умолчанию вычисляется в зависимости от количества файлов.
-minfsize – устанавливает минимальное значение размера записываемого файла в мегабайтах. Значение по умолчанию 1Mb.
-maxfsize- устанавливает максимальное значение размера записываемого файла в мегабайтах. Значение по умолчанию 128Mb, максимальное значение 4096Mb.
-readonly – устанавливает режим, при котором осуществляется только чтение (и проверка) файлов, записанных предыдущей сессией(ми). Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no. Это режим игнорирует установку параметра save в значение yes.
-smallmode – устанавливает режим, при котором размер записываемых файлов не превышает 1Mb. Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no.
-nocheck – устанавливает режим, при котором процесс чтения происходит без проверки корректности записанных файлов. Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no.
-flush – устанавливает режим, при котором процесс чтения
начинается принудительным сбросом файлового кэша операционной системы на диск. Применимо только для платформы Linux. Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no.
-writeonly – устанавливает режим, при котором осуществляется только режим записи без последующего чтения. Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no. При этом все параметры связанные с чтением игнорируются.
-path2config – путь (относительный или абсолютный) к конфигурационному файлу, который используется в режиме специального генератора запросов. Если имя файла опущено, подразумевается config.cfg.
-section – имя секции из конфигурационного файла, указанного в параметре –path2config. Секция содержит набор параметров, используемых специальным генератором запросов.
–nrequests – количество запросов, генерируемое специальным генератором. Если значение не указано или является недопустимым, значение берется из параметра NREQUESTS секции –section. Это значение перекрывает значение, указанное в параметре NREQUESTS.
-statinterval – устанавливает интервал значений, через который выводится статистическое сообщение о ходе выполнения в режиме использования специального генератора запросов.
-sectormode – устанавливает режим, при котором генератор пишет или читает по одному сектору. Допустимые значения n[o]|y[es] или 0|1, значение по умолчанию no.
-sectorsize – устанавливает значение размера сектора. Диапазон допустимых значений два в степени (от 256 до 32768).
Параметры генератора FTL, который оказывают влияние на данный режим работы:
PERCENT_READ – процент запросов на чтение среди всех запросов.
SIM_PACKET_L – возможные длины запросов в секторах.
SIM_PACKET_P – вероятности появления длин пакетов. Сумма значений должна быть равна 100, количество значений совпадает с количеством длин.
Пример:
SIM_PACKET_L = 1 2 4 8
SIM_PACKET_P = 33 33 33 1
Текущие значения говорят о том, что бывают запросы длины 1, 2, 4, 8 секторов и вероятность появления первых трех 33%, а последнего 1%.
NTEMPERATURES – количество температур
SIM_TEMP_T – значения температур
SIM_TEMP_V – объемы, соответствующие данным температурам.
Пример:
SIM_TEMP_T = 10 20 70
SIM_TEMP_V = 80 15 5
Данные значения говорят о том, что 70% запросов приходятся на 5% объема рабочей области, 20% на 15% объема и 10% на оставшиеся 80% объема.
SIM_PART_SIZE – длина максимального куска подряд идущих секторов одной температуры.
Примеры запуска приложения с различными параметрами:
a. измерить скоростные характеристики устройства - запись и чтение с проверкой результатов на логическом диске f:/, используя 25% свободного пространства, файлы сессии сохранить:
dsp.exe –path f:/ -percent 25 –save yes
b. измерить скоростные характеристики устройства - запись и чтение с проверкой результатов на логическом диске e:/, директория folder1, используя 15% свободного пространства, файлы должны быть размером до 1Mb, выводить прогресс процесса записи файлов в значение 5:
dsp.exe –path e:/folder1/ -percent 15 –smallmode yes -freqwr 5
c. измерить скоростные характеристики устройства - только чтение без проверки корректности, смонтированном в файловую систему, директория /home/cosmos/test/dsp_test (платформа linux)
./dsp –path /home/cosmos/test/dsp_test –nocheck yes
d. измерить скоростные характеристики устройства, используя специальный режим FTL:
dsp.exe –path e:/folder1/ -percent 10 –path2config ../../config.cfg –section bm_1w1s4t –nrequests 10000
Пример возможной конфигурации из файла config.cfg
[bm_conf_example]
SIM_TEMP_T = 10 20 30 40
SIM_TEMP_V = 40 30 20 10
SIM_PART_SIZE = 500
NTEMPERATURES = 4
PERCENT_READ = 10
Режимы работы
1 Режим измерения скоростей записи и чтения
Измерение осуществляется методом заполнения рабочей области файлами различной длины с последующим чтением записанных файлов. В зависимости от значения параметра clean рабочая область очищается от файлов предыдущих сессий, при этом файлы, не относящиеся к работе приложения, не стираются. Файлы многократно заполняются определенной последовательностью символов (длина последовательности варьируется от 1 до 255 минус 1 минус количество символов строкового представления количества последовательностей минус длина расширения файла). Длина каждого последующего файла подбирается исходя из параметров запуска приложения и оставшегося свободного пространства на рабочей области устройства. Имена файлов имеют формат N_S.dspx, где N – количество символьных последовательностей, заполняющих файл, S – символьная последовательность. Следующие параметры влияют на процесс формирования размера файла: maxfsize, minfsize, smallmode. Совместное использование указанных групп параметров исключается:
maxfsize, minfsize
smallmode = yes
1.1 Стандартный режим записи
Если не указаны перечисленные выше параметры, файлы имею размер в диапазоне 1Mb – 128Mb. Этот режим записи является режимом по умолчанию.
1.2 Режим записи файлами малого объема
При использовании параметра smallmode = yes файлы имеют размер 1byte – 1Mb. При установленном параметре smallmode установки параметра sectormode=yes не учитываются.
1.3 Режим записи файлами заданного диапазона
Регулируется параметрами maxfsize, minfsize. Параметры задают диапазон размеров файлов в 1Mb – 2048Mb. Предназначен для измерения скоростных характеристик устройства в условиях записи файлов большого размера.
Прогресс визуализации процесса записи регулируется параметром freqwr, который может иметь диапазон значений 1-100, измеряется в процентах, имеет значение по умолчанию 10.
После заполнения рабочей области происходит чтение записанных в текущей сессии файлов. Прогресс визуализации процесса чтения регулируется параметром freqrd, который может иметь диапазон значений 1-100, измеряется в процентах, значение по умолчанию вычисляется в зависимости от количества файлов. На значение скорости чтения не влияет проверка файла на корректность данных – она осуществляется отдельной итерацией.
Параметр -nocheck регулирует, происходит ли проверка записанных файлов на корректность. Критерием корректности файла является совпадение содержимого файла c данными, указанными в имени файла - приложение не хранит какой-либо справочной информации о записанных файлах в системе.
2 Режим измерения скорости записи
Предназначен только для измерения скорости записи.
Режим активируется установкой параметра writeonly в значение yes. В этом режиме чтение записанных данных не производится. Параметры этого режима описаны в главе 5.1.
3 Режим измерения скорости чтения
Предназначен только для измерения скорости чтения (с/без проверки корректности файлов, записанных в предыдущей(их) сессиях). Режим активируется установкой параметра readonly в значение yes. Прогресс визуализации процесса чтения регулируется параметром freqrd. На значение скорости чтения не влияет проверка файла на корректность данных.
Параметр -nocheck регулирует, происходит ли проверка записанных файлов на корректность записанной информации.
4 Режим использования генератора запросов FTL
Специальный режим, базирующий на технологии, используемой при построении симуляционной модели нагрузки носителя в различных режимах. Режим активируется при наличие в командной строке параметра –section, а также -path2config, который может быть опущен, если конфигурационный файл имеет название config.cfg и он находится в той же директории, что и исполняемый файл dsp. Режим генератора состоит из двух этапов: заполнение рабочей области данными, используя стандартный режим записи (см. пункт 5.1.1) и работа генератора в соответствии с входными параметрами, описанными выше.
Аварийные ситуации
В некоторых случаях для запуска приложения необходимо запустить приложение от имени администратора. в соответствии c рекомендациями ОС. Также необходимо убедиться, что устройство доступно для записи.