Перейти к содержанию
    

Скорость записи PCI -> жесткий диск

Решил собрать контроллер АЦП для PCI шины.

Требования следующие - один канал с частотой дискретизации 28 МГц и разрядностью 16 бит.

В Master-режиме для PCI скорость передачи самих данных до 120 Мбайт/с (реальная ли это скорость для ОС Windows XP???)

Как я понимаю это скорость записи данных в ОЗУ, но не на жесткий диск. Время доступа к HDD по моему не превышает нескольких миллисекунд.

Если это так, то какая же максимальная скорость продолжительной записи данных (разрядность данных 16 бит) с шины PCI на среднестатический HDD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Вашем случае bottleneck будет не PCI, а среднестатический HDD, потому как скорость записи на блины среднестатистического ХОРОШЕГО HDD составляет 50-55MB/s из которых необходимо вычесть накладные затраты на файловую систему, свопинг и т.д. и т.п., что на круг даст Вам порядка 45-47MB/s чистой пропускной способности для записи данных. Отсюда и считайте. Можно еще пробовать писать в RAW-режиме, но для этого придется нагородить нехилый драйвер, что само по себе будет проблемой.

 

Если же речь идет о непродолжительных сеансах накопления данных и неспешный сброс их на диск в паузах - то такое возможно. Может кто-то попозже скажет что-то более конкретное о скоростных возможностях самой PCI, но мне кажется что двойного запаса по пропускной способности PCI должно хватить даже в самом плохом случае.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

1. определить конфигурацию HDD (одно устройство IDE или SATA, RAID для устройств IDE или SATA, SCSI...)

2. определить конфигурацию системы.

По первому вопросу все просто: пропускная способность подсистемы HDD должна быть не менее 56 Мбайт/с (28МГц х 16 бит). Время доступа здесь особого значения не имеет, посколь данные буферизируются как в ОЗУ (Bus-master), таки в самом HDD. С такой задачей справится RAID-0 с использованием HDD на интерфейсах IDE и SATA (реально была получена скорость ввода данных около 70 мБайт/с - Windows XP).

Второй вопрос несколко сложнее и касается архитектуры ЭВМ, в которую вы будете устанавливать свою плату: если слоты PCI и конроллер HDD располагаются на одном и том же канале PCI, то они совместно используют проупускную способность канала и нагрузка возрастет до 112 Мбайт/с (и это без учета накладных расходов на арбитраж, установку адресов и т.д.). Такая нагрузка для одного канала PCI (обычный слот 33МГц/32бита) - явный перебор, т.е. в записи будут разрывы (пропуск данных и переполнение буферов), потому что реальная пропускная способность не превышает 100 Мбайт/с (Latency Timer = 32).

Выход один - искать ЭВМ с архитектурой, где шина слоты PCI и контроллер HDD находятся на разных каналах. Этому условию удовлетворяют все современные серверные платформы, где есть слоты PCI 64/66 или PCI-X,

включая достаточно недорогие однопроцессорные системы с использованием обычного P4 (не Xeon). Что касается обычных ПЭВМ, то они точно не подойдут для этой задачи. Слотов PCI 66/64 и PCI-X бояться не надо - они в обязательном порядке поддерживают режим PCI 33МГц/32 бита, единственное что плата должна уметь работать в сигнальном окружении 3.3В (иметь ключ 3.3 В).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.... Время доступа здесь особого значения не имеет, посколь данные буферизируются как в ОЗУ (Bus-master), таки в самом HDD. С такой задачей справится RAID-0 с использованием HDD на интерфейсах IDE и SATA (реально была получена скорость ввода данных около 70 мБайт/с - Windows XP).

 

Время доступа начинает играть свою роль, как только объем записываемых данных начинает превышать объем как системного (Windows) так и дискового кеша. Попробуте создать на диске файл размером в несколько GB и замерьте время. 70 MB/сек Вы точно не получите. Не зря супостаты на платах скоростного сбора ставят гигабайты памяти, доводя стоимость таких плат до десятков K$ (см. например http://www.gage-applied.com)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.... Время доступа здесь особого значения не имеет, посколь данные буферизируются как в ОЗУ (Bus-master), таки в самом HDD. С такой задачей справится RAID-0 с использованием HDD на интерфейсах IDE и SATA (реально была получена скорость ввода данных около 70 мБайт/с - Windows XP).

 

Время доступа начинает играть свою роль, как только объем записываемых данных начинает превышать объем как системного (Windows) так и дискового кеша. Попробуте создать на диске файл размером в несколько GB и замерьте время. 70 MB/сек Вы точно не получите. Не зря супостаты на платах скоростного сбора ставят гигабайты памяти, доводя стоимость таких плат до десятков K$ (см. например http://www.gage-applied.com)

 

 

Поскольку есть неясность, попробую ответить.

 

1.Время доступа (время доступа объявляемое производителем) является "синтетическим" параметром, зависящим от методики измерения, и его величина напрямую зависит от этой методики. Но в любом случае оно напрямую зависит от скорости позиционирования головок, причем доступ осуществляется в физически разнесенные участки диска. При последовательной записи в файл этот параметр актуален только в начале процесса, когда головка позиционируется на кластер начала файла, а затем при переходе на соседние участки(!) этот параметр на скорость записи (последовательной !) определяющего влияния не оказывает (конечно если диск не сильно фрагментирован). Для процесса чтения все аналогично.

 

2.Постановка задачи - регистрация непрерывного потока данных, т.е. практически никакого параллельного доступа к HDD, на котором производится запись, нет.

Для такой постановки задачи предложенная мной конфигурация является достаточной. Реально такая скорость была получена в конфигурации: сервер 2 х Xeon DP 2.4GHz / 2xHDD Seagate Barracuda 120GB SATA - RAID 0, хотя для получения этого результата в двухпроцессорном сервере не было необходимости (просто ничего другого не было).

Что касается Вашего замечания, то оно было бы справедливым, если бы стояла задача по организации большой корпаративной БД с большим количеством запросов и задачей обеспечения заданной пропускной способности при их обработке. В этом случае, действительно время доступа играет определяющую роль в быстродействии и скорости обработки данных, где и применяются платы за десятки к$. Далее все понятно..

Как пример для можно привести копирование файла размером 8,35Gb (образ DVD) с одного HDD (WD 7200 rpm) на другой HDD (Seagate 7200 rpm), никакго RAIDа нет, винчестеры подключены к разным каналам IDE, файловая система NTFS (кластер 4096), CPU - AthlonXP2500+. Время копирования составило 4 мин. 15с. Нетрудно посчитать, что скорость превысила 30 Мб/с (в конфигурации SATA RAID-0 она увеличится не менее, чем в два раза). Такую проверку я произвел непосредственно перед ответом (дефрагментации дисков не производил).

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже провел тест. Создание файла 1 GB на сервере 2 шт Xeon 3 GHz аппаратный RAID-5 (4 шт Maxtor Atlas 10000 оборотов 73 GB, SCSI) 139 секунд - то есть 7 мбайт в секунду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже провел тест. Создание файла 1 GB на сервере 2 шт Xeon 3 GHz аппаратный RAID-5 (4 шт Maxtor Atlas 10000 оборотов 73 GB, SCSI) 139 секунд  - то есть 7 мбайт в секунду.

 

Что касается Вашего результата, то могу сказать следующее: он действительно мог получиться таким из-за следующих причин:

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

У нас в конфигурации 2 x Xeon DP 3 GHz, SCSI RAID 0 -> 2 x HDD Seagate 73GB(15000 rpm) скорость ввода достигала 100 МБ/с при регистрации непрерывного потока данных при объемах более 1ГБ (при использовании Windows XP prof.)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже провел тест. Создание файла 1 GB на сервере 2 шт Xeon 3 GHz аппаратный RAID-5 (4 шт Maxtor Atlas 10000 оборотов 73 GB, SCSI) 139 секунд  - то есть 7 мбайт в секунду.

 

Скорее всего проблема здесь в RAID-5, тк у него скорость записи намного меньше скорости считывания.

Лучше использовать RAID-0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...