реклама на сайте
подробности

 
 
> FPGA + NOSQL
Jumboframe
сообщение Mar 5 2012, 09:47
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 4-03-12
Пользователь №: 70 602



Добрый день, коллеги

Помогите, пожалуйста, внести ясность в вопрос, хотя бы на концептуальном уровне - насколько это реально и вобще целесообразно.
Итак, имеется сеть с нескольками тысяч устройств, все эти устройства, постоянно обращаются по протоколу TCP/IP к комплексу серверов БД с простыми nosql запросами типа "хеш=значение". Этот комплекс работает софтово на интеловских CPU, на каждый запрос отдается ответ размером от нескольких Кб до нескольких МБ информации. По сути это некий большооой и мощный NoSQL сервер. Данный в таком NoSQL сервере практически статичны и меняются всего несколько раз в час. Все вроде бы работает прекрасно. Однако такое решение тяжело и дорого масштабировать с учетом роста количства назгрузки. Поэтому пришла идея как-то все соптимизировать, например на FPGA.
В интернете удалось найти решения алалогичные вот этому http://netfpga.org/foswiki/NetFPGA/TenGig/...10gInitInfoSite , обеспечивающие огромную пропускную способность. Идея в том, что бы заставить плис помимо аппаратной обработки сетвого стека, еще и работать в качестве простейшего nosql сервера на скоростях близких к 10Gbit/s, для этого достаточно брать прилетевший пакет, находить по в нем самый хэш nosql-запроса, и выдергивать напрямую значение хэша из оперативной памяти, обходя при этом центральный процессор сервера. В оперативную память данные будут заранее загружены силами сервера.
У меня пока первым вопросом является насколько стек lwIP virtex'a подходит для десятков (а в перспективе и под сотню) тысяч одновременных tcp соединений и больших нагрузок? Насколько вообще описанная мною схема имеет право на существование? Быть может стоит взглянуть в какую-то другую сторону?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AsJohnAs
сообщение Mar 5 2012, 11:39
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 14-07-05
Из: Санкт-Петербург
Пользователь №: 6 793



Ну для начала надо посчитать какое количество IPсессий все-же необходимо. Затем прикинуть какой размер IP сессии возможен.
Далее рассматривается 10Гбит/c то какую скорость должна обеспечить память.

Если сессий не очень много - ну допустим ~100 то может можно поставить небольшие 8ми битные процессоры, но много - по одному на IP сессию.

Вообщем при расчете как я понимаю самая большая проблема будет в количестве блочной памяти внутри ПЛИС
Go to the top of the page
 
+Quote Post
Jumboframe
сообщение Mar 5 2012, 11:50
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 4-03-12
Пользователь №: 70 602



Цитата(AsJohnAs @ Mar 5 2012, 14:39) *
Ну для начала надо посчитать какое количество IPсессий все-же необходимо. Затем прикинуть какой размер IP сессии возможен.
Далее рассматривается 10Гбит/c то какую скорость должна обеспечить память.

Если сессий не очень много - ну допустим ~100 то может можно поставить небольшие 8ми битные процессоры, но много - по одному на IP сессию.

Вообщем при расчете как я понимаю самая большая проблема будет в количестве блочной памяти внутри ПЛИС


Спасибо за ответ. Сессий в перспективе, особенно при флуктуациях и отваливании сети может быть от 100 тыс и больше, ввиду того что каждое устройство может делать в SQL кластер до нескольких десятков запросов одновременно, причем каждый запрос - отдельная tcp сессия - это архитектурное ограничение софта исправить которе можно только полность переписав ПО, что на данный момент нереально. Отсюда и приходится плясать.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 15:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016