Исследователи из Массачусетского технологического института (МТИ) разработали сервер, в котором вместо оперативной памяти используется флэш-память.
Оперативная память (ОЗУ или DRAM) — это память, в которой хранятся данные во время их обработки. Процессор способен читать и записывать в нее данные в тысячи раз быстрее, чем на диск. Но в эру больших данных оперативной памяти даже в самых мощных серверах оказывается недостаточно. Например, для того чтобы поместить в ОЗУ человеческий геном (около 78 тыс. ТБ), потребуется память 40-100 серверов.
Инженеры из МТИ предложили конструкцию сервера, в котором процессор общается с дисковым накопителем, роль которого играет флэш-память. ОЗУ при этом не предусмотрено.
При поддержке Quanta Computer, Samsung Electronics и Xilinx команда исследователей построила прототип сети с 20 серверами. Каждый сервер был подключен к программируемой вентильной матрице (FPGA) — специальной микросхеме, позволяющей эмулировать различные электрические цепи. Каждая микросхема FPGA, в свою очередь, была подключена к блоку флэш-памяти емкостью 500 ГБ и двум соседним FPGA в серверной стойке.
Благодаря тому, что FPGA были подключены друг к другу, любой сервер смог мгновенно получать доступ к данным на любых блоках флэш-памяти. Кроме того, FPGA отвечали за управление флэш-памятью. Это непростая задача — обычный серверный SSD-накопитель содержит около восьми процессоров и 1 ГБ оперативной памяти только лишь для исполнения функции управления.
Наконец, FPGA выполняли предварительную обработку данных, хранящихся во флэш-памяти. Исследователи разработали три отдельных алгоритма предварительной обработки для трех сфер применения: поиск похожих изображений по шаблону, оценка релевантности веб-страниц и онлайн база-данных.