2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 При проектировании DataFlow процессора сделано предположение
Сообщение12.09.2022, 05:18 
При проектировании DataFlow процессора сделано предположение (сформулирован алгоритм)
и его очень хочется доказать, но моих знаний в математике мало.

Для процессора основанного на потоках данных требуется сеть, которая эти потоки создаст и доставит.
Пакетные сети слабо подходят для этой задачи по причине свой асинхронной природы.
Достаточно полное описание можно прочитать здесь : ссылка удалена
Рядом лежат статьи по построению распределенной виртуальной памяти суперкомпьютера.

Есть физический канал передачи данных, он разбит на большое число виртуальных каналов.
Скорости передачи данных в различны, но их сумма не превышает скорости физического канала.
Нужно вычислить максимальный размер буфера для синхронного виртуального канала передачи данных для следующего алгоритма чередования:

Мультиплексирование (разделение) канала связи (2)
(Алгоритм симметричен, одинаков для приемника и передатчика)


1. Создаем по одному счетчику для каждого приемника и передатчика физического канала (примерно как в «ССИ_Синхронный поток_Эффект проскальзывания (1)»), с помощью служебных символов синхронизируем их относительно потока символов в данном физическом канале. Для выбранного примера счетчик от 0 до 1М-1 (счетчик 20 разрядов с периодом в 1 секунду).
2. При обращении к коммутатору преобразовываем содержимое счетчика в адрес (номер) FIFO.

Алгоритм преобразования — Счетчик <:> Адрес FIFO:

1. Диапазон значений в 1М, по сути является номерами тайм-слотов в передаваемой периодической структуре. Остается только распределить эти тайм-слоты максимально равномерно и пропорционально скорости каждого виртуального канала.
2. Каждому адресу FIFO соответствует несколько значений счетчика. Ноль если канал не создан и единица если канал имеет скорость один символ в секунду.
3. Представим весь диапазон значений счетчика как некоторое адресное пространство и присвоим каждому каналу непрерывный диапазон значений равный символьной скорости виртуального канала. Выглядит как выделение памяти в современных вычислительных системах.
4. Каждый модуль FIFO откликается на любое значение в пределах этого диапазона, выдавая или записывая символ.
5. Просто подавать счетчик на адресные входы FIFO нельзя, данные будут передаваться непрерывными последовательностями раз в секунду. Для равномерного распределения опросов FIFO нужно «перевернуть» значение счетчика (поменять местами старшие разряды с младшими).
6. FIFO также должно сравнивать этот «перевернутый» счетчик с перевернутым диапазоном значений (или повторно перевернуть адрес).

 
 
 
 Re: При проектировании DataFlow процессора сделано предположение
Сообщение12.09.2022, 09:27 
 !  Не стоит давать ссылки на ресурсы сомнительного содержания, тем более что материал по ссылке в основном повторяет текст сообщения.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group