В фокусе
Читать...
ГлавнаяРубрикиПрограммное обеспечениеПрограммно определяемое всё
03.07.2019

Программно определяемое всё

Классики киберпанка рассматривали человека как компьютер. Что важнее – «железо» или софт? «Железо» не будет работать без софта, софт – без «железа». Аппаратная часть у всех примерно одинаковая, а вот дух, софт, «заливаемый» в память в процессе воспитания, – совершенно разный. Одного программируют на продавца, другого – на охранника. 
Впрочем, как показывает практика, люди могут перепрограммироваться. Охранник становится продавцом, продавец -- охранником. Учебные курсы, телевизор, социальные сети, СМИ. Новый софт, новые мифы, новые цели, новая история. Перепрограммируются не только отдельные люди, но и целые страны.
Вполне логично, что этот подход используется для компьютеров. «Железо» можно объединять, разъединять, заставлять работать по-новому, перейдя на работу с ним на более высоком уровне, на уровне виртуализации, «духа». Делая программно определяемым всё.
 
Что такое SDx?
Термин «программно определяемое всё» (Software-Defined Everything, SDx) еще не устоялся и понимается по-разному. SDxCentral, медиа- и аналитическая компания, занимающаяся программно определяемыми решениями, рассматривает SDx как «любой физический элемент или функцию, которые могут быть реализованы или автоматизированы с помощью программного обеспечения». Под такое определение попадают и аппаратные средства, и программы, и даже бизнес-процессы. Так, Uber можно считать программно определяемой функцией перевозки. 
В этой статье мы в основном будем придерживаться более узкой трактовки, близкой к понятию программно определяемой инфраструктуры (Software Defined Infrastructure, SDI), которая подразумевает абстрагирование (виртуализацию) представления аппаратных средств от их физической реализации с целью упрощения управления и оптимизации использования. 
Сначала -- компьютеры
История ИТ – это борьба со сложностью. Программирование для первых ЭВМ на языке низкого уровня требовало отличного знания конкретного процессора. Появившийся в конце 50-х первый язык высокого уровня Fortran не требовал знания «железа» и был машинонезависимым. Конечно, в процессор по-прежнему загружался зависимый от архитектуры машинный код, но преобразование в него с языка высокого уровня уже делали компиляторы, т.е. программу (машинный код) начали генерировать программы (компиляторы). 

Стабильно растущий спрос на динамически конфигурируемую ИТ-инфраструктуру обусловлен желанием сохранить инвестиции в ИТ. Сложно предугадать, «выстрелит» тот или иной проект либо нет. Закупать для него классическую инфраструктуру нецелесообразно, тем более что даже успешный проект после резкого взлета часто забывается через год-два.

Денис Дубинин, менеджер по развитию бизнеса, IT-решения, Huawei Enterprise в России
Для того чтобы не заниматься постоянно написанием кодов контроллеров ввода-вывода и программированием других рутинных операций, стали использоваться операционные системы (ОС), автоматизирующие процессы взаимодействия компьютера и пользователя. В ядро ОС вошли: управляющие оборудованием драйверы устройств, планировщик заданий, оболочка с утилитами и системные библиотеки. Для того чтобы «оторвать» ОС от жесткой привязки к аппаратной части компьютера, по аналогии с компиляторами создавались программные «прослойки», абстрагирующие аппаратное обеспечение компьютера.
Пионером в использовании виртуализации можно считать проект департамента электротехники Университета Манчестера под названием Atlas, в котором задействовалась виртуальная память. Следующий шаг сделала корпорация IBM, разработавшая концепцию виртуальной машины. В 1963 г. ученые Массачусетского технологического института совместно с компанией Bell Labs создали мейнфрейм CP-40, в 1968 г. переработанный в CP-67 – первый коммерческий мейнфрейм с поддержкой виртуализации. В 1972 г. IBM создала многопользовательскую операционную среду на компьютерах IBM System 370. 
Рынок хотел большего – запуска любых операционных систем на любом «железе». В 1988 г. компания Insignia Solutions предложила программное обеспечение SoftPC для запуска приложений DOS на рабочих станциях Unix. А в 1997 г. Apple создала программу Virtual PC для запуска на своей аппаратной платформе ОС Windows. 
Настоящим прорывом стал выход на корпоративный рынок в 2001 г. компании VMware с гипервизором первого типа ESX Server, не требующим наличия домашней операционной системы для запуска виртуальных машин, и гипервизором второго типа GSX Server, запускающим виртуальные машины внутри операционных систем вроде Microsoft Windows. Благодаря ESX Server компания VMware захватила корпоративный рынок, конкуренцию ей составили Microsoft, выпустившая в 2005 г. Microsoft Virtual Server, и Сitrix, купившая в 2007 г. open source-платформу для виртуализации Xensource, впоследствии переименованную в Citrix XenServer.

Технологии SDS нужно еще немного времени для нормальной отказоустойчивой работы.

Сергей Самоукин, руководитель отдела облачных решений, Softline
На первых порах в виртуальной среде программы работали медленно, вычислительных ресурсов на полезную нагрузку и слой виртуализации не хватало. Стремительное увеличение производительности компьютеров позволило сгладить этот недостаток. В начале десятых годов нашего века стали популярны корзины с серверными «лезвиями» – блейд-серверы, на которые устанавливалась система виртуализации. Виртуальные машины выделялись для контроллеров домена, Active Directory, файл-серверов, серверов отчетов и приложений. 
Виртуализация требует ресурсов компьютера, но с ростом производительности процессоров потери на нее становятся все менее заметными. В апреле 2019 г. компания Intel анонсировала новое поколение процессоров Xeon – сердца серверной платформы. По сравнению с топовыми процессорами двух-трехлетней давности производительность выросла в два раза, в облачных средах -- даже в четыре. Закон Мура по-прежнему работает. В процессоре 8086 было 28 тыс. транзисторов, в процессоре Xeon -- уже 3 млрд.
Программно определяемыми могут быть и сами микросхемы. В программируемых пользователем вентильных матрицах (Field-Programmable Gate Array, FPGA) схема конфигурируется не на заводе, а уже после изготовления. FPGA позволяет перенести специализированный алгоритм в «железо» и реализовать в аппаратной архитектуре, получив значительный рост производительности. Например, как утверждает директор Intel по развитию облачных проектов в России Игорь Рудым, аппаратная реализация поиска слова в базе данных ускоряет процесс в шесть раз. 

При использовании SDS в составе гиперконвергентного решения заказчики отмечают значительное увеличение времени доступности информационных систем, снижение затрат на обслуживание, повышение надежности и быстродействия. Единственный недостаток этих систем -- невозможность работы с единичными высоконагруженными СУБД объемом более 10--15 Тбайт. 

Дмитрий Хороших, менеджер по развитию бизнеса ЦОД, Cisco
Программно определяемые системы хранения
Параллельно виртуализации серверов шли работы по виртуализации дисков. Прообразом программно определяемых систем хранения (Software-Defined Storage, SDS) можно считать появившиеся еще в 1987 г. RAID-массивы, объединяющие диски в логические элементы, с которыми и работали операционные системы. В сегодняшних SDS виртуализация функции хранения отделила аппаратный слой от программного, объединив накопители в пулы для последующего выделения томов.
SDS, объединяющие в пулы дисковые массивы серверных узлов архитектуры x86, получили достаточно широкое распространение благодаря резкому росту скорости передачи данных по сети. В частности, на российском рынке программно определяемых систем хранения присутствуют решения как отечественных («Рэйдикс», Aerodisk), так и зарубежных (Microsoft, Nexenta, Datacore, Open-E) компаний, а также целый ряд open source-систем – Ceph, GlusterFS и Lustre.
Несмотря на значительный прогресс, применение SDS для высоконагруженных приложений не всегда оказывается успешным. Так, по словам Сергея Самоукина, руководителя отдела облачных решений компании Softline, в ходе ряда тестирований задействованная в публичном облаке SDS показала себя не с лучшей стороны: при большой нагрузке она не справлялась и выдавала ошибки. Пришлось переключить работу облака на классический вариант с использованием СХД. 
Следующим шагом развития архитектуры ИТ-систем стала гиперконвергенция – совмещение слоя хранения и слоя вычислений на горизонтально масштабируемом и относительно типовом «железе», совмещение узла SDS и гипервизора на одном физическом хосте. К плюсам гиперконвергентных решений относятся сокращение расходов на ИТ, легкая масштабируемость, упрощение управления и высвобождение человеческих ресурсов. 
В то же время ряд экспертов считает, что гиперконвергенция – нишевый продукт для однородных легких нагрузок типа виртуальных рабочих мест (Virtual Desktop Infrastructure, VDI), когда создается большое количество одинаковых образов рабочих машин пользователей. Если шаблоны, из которых идут основные запросы на чтение, «размазаны» по хостам, так что копия есть локально на каждом гипервизоре, то задержки минимальны и скорость чтения хранилища приемлема. Однако для виртуализированного ЦОДа более типична ситуация работы множества разных машин с различающимися нагрузками. В этом случае лучше выделить в отдельные группы серверы (хосты) для СХД (SDS, SAN или NAS) и виртуальных машин, а такая архитектура уже не может рассматриваться как гиперконвергентная.
Обратная виртуализация

Для высоконагруженных приложений компания TidalScale предложила системы «обратной виртуализации». Как пояснил советник по технологическому и стратегическому развитию BCC Виталий Кузьмичев, в отличие от обычной виртуализации с установкой гипервизора на каждый хост с последующим объединением ресурсов в общий виртуальный пул, с которым работают приложения, используется обратный подход – объединение ресурсов отдельных стандартных серверов в единый программно определяемый сервер (ПОС), количественные показатели которого могут легко модифицироваться в зависимости от нагрузки. Такой ПОС может сам определять вычислительные мощности, которые нужны для работы приложения, а потом динамически выделять под них вычислительные ресурсы.

Из однородных двух- или четырехпроцессорных серверов с архитектурой х86 с предустановленными программными компонентами создается программно определяемый сервер с общим пулом процессорных ресурсов, единой оперативной и дисковой памятью, устройствами ввода-вывода, на который уже из образа устанавливается операционная система. В качестве такой ОС TidalScale использует Oracle Linux. На ПОС можно запускать высоконагруженные приложения типа SAP и Oracle с неравномерной нагрузкой – требуемые ресурсы выделяются автоматически за счет использования «умных» алгоритмов оркестрации. Подобные системы уже находятся в промышленной эксплуатации за рубежом и проходят тестовые испытания в России.
 
Виртуализация рабочих мест
Программно определяемым может стать и рабочее место – вместо громоздкого системного блока на столе остается монитор с маленькой коробочкой для тонкого клиента, и пользователь работает с виртуальной машиной прямо на сервере. Можно работать и с планшета или смартфона, главное -- наличие доступа в интернет. Для пользователя почти ничего не меняется, а вот для компании выгода налицо. Такие рабочие места проще и дешевле обслуживать, их можно сразу развернуть в любом месте и что еще важнее – обеспечивается безопасность. 
За счет централизации управления рабочими данными снижается риск утечек конфиденциальной корпоративной информации. Флешку в свое устройство пользователь, может быть, сумеет вставить, а вот без разрешения компании сбросить на нее данные с сервера -- уже нет.
Существует контейнерная виртуальная инфраструктура рабочих мест, примером которой служит Parallels Containers для Windows. Главное преимущество этого варианта – высокая плотность размещения пользователей на сервере. Да и на лицензиях Windows можно сэкономить. Но все же наиболее распространенной остается гипервизорная VDI, с развертыванием виртуальных машин для каждого пользователя. 

Сегодня никто не будет хранить на SDS свой процессинг или биллинг.

Григорий Никонов, системный инженер, Western Digital
Преимущества VDI хорошо почувствует крупный бизнес, готовый платить за стабильность работы и безопасность. Для малого и среднего бизнеса дешевле будет использовать терминальный доступ. Впрочем, с падением цен на СХД и для таких клиентов VDI будет становиться все привлекательней.
Периферийные устройства
У производителей платформ виртуализации количество поддерживаемого аппаратного обеспечения стремительно растет. Помимо основных устройств компьютера, уже реализуются программными средствами сетевые адаптеры, аудиоконтроллеры, контроллеры USB 2.0, портов COM и LPT и приводы CD-ROM. 
Хуже обстоят дела с виртуализацией видеоадаптеров и поддержкой функций аппаратного ускорения трехмерной графики, но и здесь в последние годы удалось добиться прорыва. Компания Citrix реализовала виртуализацию графики разных производителей и выделение части реального графического ядра в рамках платформы XenServer, а в рамках XenServer 7.4 компания совместно с NVIDIA предложила возможность переноса работающих машин с виртуальной графической картой с одного сервера на другой.
«Перенос GPU-ресурсов в виртуальные машины и контейнеры всегда считался сложной задачей, -- признает координатор открытого сообщества Big Big Data Group Олег Фатеев и добавляет: -- Но сейчас на уровне отдельных технологий такие задачи уже решаются, что позволяет создавать облачные стриминговые сервисы для игр и повышает гибкость в системах машинного обучения на базе GPU в случаях массивного распараллеливания».

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

Александр Хвостов, директор департамента внедрения интеграционных решений, «РТК-ЦОД» 

Программно определяемые сети
В программно определяемой сети (Software-Defined Networking, SDN) функционал управления абстрагирован от нижнего уровня пересылки пакетов. Планирование сети и управление трафиком происходят программным путем.
Главные плюсы SDN – автоматизация процессов конфигурирования большого числа сетевых устройств. Причем конфигурации могут динамично меняться в зависимости от текущих задач и потребностей конкретных приложений и бизнес-процессов. SDN обеспечивает возможность контроля трафика на уровне портов для каждой виртуальной машины, применения корпоративных политик, что при большом числе устройств крайне сложно реализовать в ручном режиме. 
SDN дополняет виртуализация физических сетевых элементов телекоммуникационной сети (Network Functions Virtualization, NFV), когда сетевые функции исполняются программными модулями, работающими на стандартных серверах (чаще всего х86) и виртуальных машинах. Модули NFV могут взаимодействовать между собой для предоставления услуг связи, что раньше осуществлялось аппаратными средствами, использоваться для обеспечения информационной безопасности.
Получая по сервисной модели NFV, пользователь строит и сопровождает в облаке свою SDN, причем программно определяемая сеть может включать в себя несколько ЦОДов на географически распределенных площадках.
В сетевых коммутаторах разделены уровень управления (control plane) и передающий уровень (data plane). Уровень управления, с которым взаимодействует SDN, реализован на базе процессора общего назначения, а передающий уровень -- на специальных микросхемах (ASIC), оптимизированных для быстрой передачи данных. Причем микросхемы специального назначения тоже стали программировать, например, в ASIC UADP компании Cisco есть позволяющая добавлять новый функционал программируемая часть. 
Решения для программно конфигурируемой сети входят в состав Microsoft Windows Server 2016 и Nuage Networks Virtualized Services Platform. Программным образом предоставляет службы сети и безопасности платформа для программно определяемого ЦОДа VMware NSX Data Center. По данным Forrester, на рынке аппаратных средств для SDN лидируют Arista Networks, Juniper Networks, Huawei и Cisco. 
Arista предлагает использовать еще один уровень абстракции для упрощения работы администраторов -- решение для автоматизации управления физическими и виртуальными устройствами сети Cloud Vision, являющееся точкой интеграции со сторонними решениями: платформами оркестрации, такими как Open Stack, виртуализации сети VMware NSX и решениями сетевых служб, такими как Palo Alto Networks, F5 или ServiceNow. «Если устройство появляется в сети, то автоматически появляется и в графическом представлении Cloud Vision. После того, как устройство перетащили в нужный контейнер, оно начинает выполнять ту или иную роль, например коммутатора доступа или пограничного маршрутизатора», – поясняет директор по развитию бизнеса компании Arista Networks Дмитрий Юферов.
Программно определяемая WAN
Администрирование каналов связи – непростая задача. При большом количестве территориально разнесенных филиалов компании, разветвленной топологии, нескольких дата-центрах задача администрирования сети становится крайне сложной. На помощь приходит программно определяемая WAN (Software-Defined WAN, SD-WAN), которая представляет собой управляемый сервис, маршрутизирующий трафик приложений по различным линиям доступа глобальной сети (MPLS, интернет, 3G/4G) в соответствии с бизнес-политикой компании. По сути это глобальный сетевой коммутатор, который динамически на основании прописанных правил, учитывающих приоритет конкретного приложения, время суток, текущие тарифы на связь, даже погоду (если один из каналов – беспроводной) и т.п., принимает решения, какую линию доступа выбрать для того или иного приложения и как распределить нагрузку по каналам.
Примером реализации концепции SD-WAN может служить сервис управления каналами связи всех типов, представленный компанией GTT на конференции Cloud & Digital Transformation 2019. В каждом офисе своих клиентов GTT устанавливает WAN-маршрутизаторы. С помощью оркестратора в них загружаются бизнес-политики приложений. Маршрутизаторы устанавливают защищенное соединение с облаком, контролируют производительность приложений и сети и отправляют эту информацию на оркестратор. Если производительность канала падает, происходят потери пакетов, то маршрутизатор переводит трафик на другую линию связи. Для приложений разного типа используется разная топология сети. Например, для приложений реального времени -- полносвязная ячеистая топология (Full Mesh), а для SaaS-приложений – «звезда».

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

Григорий Прялухин, заместитель руководителя отдела виртуализации, «Инфосистемы Джет»
Программно определяемый ЦОД
Виртуализация машин, систем хранения данных (SDS) и сетей (SDN) позволила абстрагироваться от аппаратной части дата-центра и перейти к концепции программно определяемого ЦОДа (Software Defined Data Center, SDDC). Виртуализация компьютера дала возможность легко перебрасывать вычислительные нагрузки с одной машины на другую и работать с пулом компьютеров как с одним устройством, выделяя из него ресурсы по требованию. Точно так же виртуализация дата-центров дает возможность пользователю работать с пулом ЦОДов, не задумываясь об их географическом расположении и физической реализации. 
Конечно, физику не обманешь и до близко расположенного ЦОДа данные дойдут быстрее, но тут на помощь приходят оркестрация нагрузки – выполнение вычислений как можно ближе к источнику данных и «умные» сети, обеспечивающие оптимальный выбор каналов связи и топологии соединений. 
По наблюдению Григория Прялухина, заместителя руководителя отдела виртуализации компании «Инфосистемы Джет», отечественные заказчики предпочитают строить собственные SDDC, в то время как на западном рынке пользователи часто применяют гибридные инфраструктуры или полностью уходят в облачные. Отличием российского рынка по-прежнему является страх использования публичных облачных сервисов, базирующихся за рубежом (Amazon, Google, Microsoft). 


Сеть SDN позволяет в автоматическом режиме оптимизировать трафик виртуальных машин при их переезде из одного ЦОДа в другой. Например, можно использовать SDN-решение для централизованного управления всеми коммутаторами, расположенными в географически разнесенных ЦОДах, как если бы это был один большой коммутатор.

Сергей Гусаров, консультант по сетевым решениям, Dell EMС
Блеск и нищета SDI

О преимуществах программно определяемой инфраструктуры сказано уже немало. Благодаря повышению эффективности использования оборудования уменьшается совокупная стоимость владения инфраструктурой. SDI снижает требования к персоналу, обеспечивает возможность централизованного управления географически распределенной инфраструктурой. За счет стандартных API уменьшается вендорозависимость. Структура становится прозрачной, гибкой и масштабируемой.
 

Однако радужные перспективы использования SDI не мешают видеть проблемы. Производительность компьютеров растет, но растут и запросы со стороны программного обеспечения. В 80-е годы советская ЭВМ М-6000 с 32К ОЗУ управляла ядерным реактором, сейчас такого объема оперативной памяти не хватит даже для запуска компьютера. За все надо платить, в том числе и за упрощение администрирования и за эффективность использования аппаратных средств, причем платить вычислительными ресурсами. Прогресс есть, но для «тяжелых» решений по-прежнему предпочтительней bare-metal.
Другая проблема связана со стандартами. Аппаратные средства имеют разную архитектуру, опираются на конкурирующие технологии. Не все сетевые функции адаптированы для работы в облаке, платформы виртуализации пока не поддерживают полную виртуализацию всего аппаратного обеспечения и интерфейсов. 

Потребности заказчиков в гибких и легко масштабируемых средах растут на фоне популяризации новых подходов к разработке и управлению продуктами (контейнеризация, микросервисы, DevOps). В таких случаях программно определяемые инфраструктуры более эффективны и выгодны, чем классические. 

Александр Тугов, директор по развитию услуг, Selectel
Помочь могут open source-решения. «В рамках ряда open source-проектов, которые можно объединить понятием Open Infrastructure, интегрируется большое количество систем, поддерживающих SDх-возможности различных аппаратных решений. Соответствующие API впоследствии становятся стандартом де-факто», – поясняет амбассадор OpenStack Илья Алексеев.
Это хорошо понимают и вендоры, активно использующие стандарты интеграции из open source или, как компания SUSE, полностью строящие свои SDI-решения на открытом ПО. 
Барьеры на пути «программной определяемости» часто носят организационный характер. В числе таких барьеров технический директор Selectel Кирилл Малеванов называет наличие сертификации, соответствие особым требованиям к безопасности и регламентам провайдера. Определенные ограничения на SDI накладывает и законодательство, например в области защиты персональных данных. 
Существует и проблема человеческого фактора – на новые технологии переходят тяжело. Дмитрий Хороших, менеджер по развитию бизнеса ЦОД компании Cisco, считает, что все зависит от того, кто является драйвером перехода: идет ли он «снизу» от ИТ-специалистов или продвигается как стратегия с уровня ИТ-директора. Как правило, технические специалисты пытаются решить задачу «на коленке» подручными средствами, подешевле, в частности, используют ПО без оптимизации аппаратной инфраструктуры. В результате компания не получает никаких преимуществ, так как технические специалисты редко мыслят категориями бизнеса.

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

Что было, что будет
Программно определяемый подход находит применение в новых областях и развивается в старых. Системы безопасности SDN анализируют трафик, выявляют вредоносные программы и подстраиваются под новые угрозы. Сервисно определяемые межсетевые экраны обеспечивают важную для ИБ задачу фрагментации сети, в том числе в мультиоблачных средах.
SDx уверенно вошел в телеком, а теперь осваивает инженерную инфраструктуру дата-центров, которая стала программируемой. Появилось понятие программно определяемого электропитания. Современные решения SD-Power позволяют задействовать все доступные источники электричества (от аккумуляторов и маховиков до солнечных батарей и ветрогенераторов) в зависимости от текущих запросов потребителей. В частности, такие решения позволяют в периоды пиковых нагрузок использовать энергию, накопленную в АКБ или маховиках.
Развиваются программно определяемые радиосистемы (Software-Defined Radio, SDR), в которых программно конфигурируются радиочастотные параметры приемопередающих устройств (диапазоны частот, мощность, тип модуляции). Пока с ними чаще работают военные, но у технологии есть потенциал для развития и в гражданской сфере.
Трудно представить без SDx часто обсуждаемую на конференциях концепцию Edge Computing. Для удаленного конфигурирования из центра расположенного на границе сети устройства удобно использовать виртуализацию. 
Стремительно набирает популярность новый вид виртуализации – контейнерная. Если виртуальные машины работают с виртуализированной инфраструктурой (процессоры, память), то контейнеры – с виртуализированной операционной системой. При этом снижается нагрузка на аппаратные ресурсы, сокращается дублирование кода в памяти, снижаются расходы на лицензии, ведь стоимость лицензии ОС делится на число владельцев использующих ее контейнеров.
Контейнеры хорошо подходят для упаковки слабосвязанных программ (служб), выполняющих простейшие функции, которые называют микросервисами. 
Организация взаимодействия контейнеров – непростая задача, решаемая с помощью оркестратора (Kubernetes). Некоторые разработчики идут еще дальше и предлагают проводить оптимизацию работы контейнеров в зависимости от упакованных в них служб с помощью алгоритмов машинного обучения. 
Использование искусственного интеллекта -- новый тренд развития SDx. Не просто брать из общего виртуализированного пула ресурсы, а выбирать оптимальный вариант, исходя из конкретной задачи, как это уже делается, в частности, в решениях обратной виртуализации с использованием машинного обучения.

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

Источник.

Версия для печати1711 просмотров.
Оцените статью по: