Голые машинные вычисления - Bare machine computing

Голые машинные вычисления (BMC) - парадигма программирования, основанная на голые машины. В парадигме BMC приложения работают без поддержки каких-либо Операционная система (ОС) или централизованное ядро, то есть на голую машину не загружается промежуточное программное обеспечение до запуска приложений. Приложения, которые называются «голыми машинными» приложениями или просто BMC-приложениями, не используют какое-либо постоянное хранилище или жесткий диск, а вместо этого хранятся на съемном запоминающем устройстве, таком как USB-накопитель. Программа BMC состоит из одного приложения или небольшого набора приложений (набора приложений), которые работают как один исполняемый файл в одном адресном пространстве. Приложения BMC имеют прямой доступ к необходимым аппаратным ресурсам. Это автономные, самоуправляемые и самоуправляемые объекты, которые загружаются, загружаются и запускаются без использования каких-либо других программных компонентов или внешнего программного обеспечения. Приложения BMC обладают неотъемлемой безопасностью благодаря своей конструкции. Уязвимости, связанные с ОС, отсутствуют, и каждое приложение содержит только необходимый (минимальный) функционал. В системе BMC нет привилегированного режима, поскольку приложения работают только в пользовательском режиме. Кроме того, код приложения компилируется статически - нет средств для динамического изменения потока программы BMC во время выполнения.

История

На заре компьютерных технологий компьютерные приложения напрямую связывались с оборудованием. По мере роста приложений, охватывающих различные области, были изобретены операционные системы. Они служили в качестве промежуточного программного обеспечения, обеспечивающего аппаратные абстракции для приложений. Операционные системы значительно выросли по размеру и сложности, что привело к попыткам снизить накладные расходы ОС и повысить производительность, включая Микроядро, Exokernel , Крошечная ОС, OS-Kit,[1] Паласиос и Котенок,[2] IO_Lite,[3] чистый Linux, IBM-Libra и другие нежирные ядра. Помимо вышеперечисленных подходов, в встроенные системы например, смартфоны, небольшая выделенная часть ОС и определенный набор приложений тесно интегрированы с оборудованием. Существует также множество промышленных и игровых приложений, работающих непосредственно на оборудовании. В большинстве этих систем оборудование закрыто для запуска приложений общего назначения.

Простые машинные вычисления возникли на основе концепции объекта приложения (AO), изобретенной Карне из Университета Таусона.[4] Со временем он превратился в рассредоточенные операционные системы (DOSC),[5] и, в конечном итоге, в парадигму BMC.

По сравнению с обычными вычислениями

Парадигма BMC во многом отличается от традиционных вычислений. Во время выполнения приложений BMC не работает централизованное ядро ​​или ОС. Кроме того, голая машина в парадигме BMC не имеет права собственности или хранения ценных ресурсов; и его можно использовать для запуска вычислительных приложений общего назначения. Такие характеристики не встречаются в обычных вычислительных системах, включая встроенные системы и система на чипе (SOC). Кроме того, концепция BMC - это минималистичный подход к достижению простоты, меньшего размера кода и безопасности.[6]

Приложения и исследования

Парадигма BMC использовалась для реализации веб-серверов,[7] сплит-серверы,[8][9] VoIP,[10] SIP сервер,[11] электронное письмо,[12] электронная почта[13] Текстовый браузер,[14] протоколы безопасности,[15][16] файловые системы,[17][18][19] RAID,[20] преобразовал голый SQLite.,[21][22] промежуточное ПО для интерфейсов сетевых карт (NICS),[23] и подключение к сети Ethernet на веб-сервере BMC с двумя сетевыми адаптерами,[24] Успех в преобразовании обычных приложений Windows или Linux для работы в качестве приложений BMC откроет путь для новых применений парадигмы BMC.[25]

Рекомендации

  1. ^ "Проект OS Kit". Солт-Лейк, штат Юта: Школа вычислительной техники Университета штата Юта. Июнь 2002 г.
  2. ^ Дж. Ланге и др., «Паласиос и Киттен: Новые высокопроизводительные операционные системы для масштабируемых виртуализированных и собственных суперкомпьютеров», 24-й Международный симпозиум по параллельной и распределенной обработке данных (IPDPS) IEEE, 2010, стр. 1–12
  3. ^ Пай, В. С .; Druschel, P .; Zwaenepoel, W. (февраль 2000 г.). «IO-Lite: унифицированная система буферизации и кэширования ввода-вывода» (PDF). ACM-транзакции в компьютерных системах. 18 (1): 37–66. Дои:10.1145/332799.332895. S2CID  5280787.
  4. ^ Карне, Р. К. (декабрь 1995 г.). "Объектно-ориентированные компьютерные архитектуры для нового поколения приложений, Новости компьютерной архитектуры". 23 (5): 8–19. Дои:10.1145/218328.218332. S2CID  880971. Цитировать журнал требует | журнал = (помощь)
  5. ^ Карне, Р.К., Венкатасами, К. (Картик Джаганатан), Ахмед, Т. Распределенные вычисления операционной системы (DOSC), Onward Track, OOPSLA 2005, Сан-Диего, Калифорния, октябрь 2005 г.
  6. ^ Soumya, S .; Guerin, R .; Хосанагар, К. (сентябрь 2011 г.). «Платформы с богатой функциональностью и минималистские: двусторонний анализ рынка». Обзор компьютерных коммуникаций ACM. 41 (5): 36–43. Дои:10.1145/2043165.2043171. S2CID  890141.
  7. ^ Он, Л., Карне, Р. К., Виджесинья, А. Л., и Эмдади, А. Дизайн и производительность веб-сервера для ПК без операционной системы, Международный журнал компьютеров и их приложений (IJCA), июнь 2008 г.
  8. ^ Б. Равал, Р. К. Карне и А. Л. Виджесинья. Разделение HTTP-запросов на двух серверах, Третья международная конференция по коммуникационным системам и сетям: COMSNETS 2011, январь 2011 г., Бангалор, Индия.
  9. ^ Б. Равал, Р. К. Карне и А. Л. Виджесинья. «Кластеры мини-веб-серверов для разделения HTTP-запросов», Международная конференция IEEE по высокопроизводительным вычислениям и коммуникациям (HPCC), стр. 94–100.
  10. ^ Г. Хаксари, А. Л. Виджесинха, Р. К. Карне, Л. Хе и С. Гирумала, «» Одноранговое приложение VoIP для ПК без покрытия », 4-я конференция IEEE Consumer Communications and Networking Conference (CCNC), 2007, стр. 803-807 .
  11. ^ А. Александр, Р. Ясиновский, А. Виджесинья и Р. Карне, «Внедрение и производительность SIP-сервера на чистом ПК», Международный журнал достижений в области телекоммуникаций, вып. 4, вып. 1 и 2, 2011 г.
  12. ^ Форд, Г. Х., Карне, Р. К., Виджесинья, А. Л. и Аппиа-Куби, П. Проектирование и реализация почтового сервера для ПК, 33-я ежегодная международная конференция по компьютерному программному обеспечению и приложениям IEEE (COMPSAC 2009), Сиэтл, Вашингтон, июль 2009 г. , с480-485.
  13. ^ П. Аппиа-куби, Р. К. Карне и А. Л. Виджесинья. Дизайн и производительность сервера веб-почты без ПК, 12-я Международная конференция IEEE по высокопроизводительным вычислениям и коммуникациям, AHPCC 2010, 1-3 сентября 2010 г., Мельбурн, Австралия, стр. 521-526.
  14. ^ С.Алмаутаири, Р.К. Карне и А.Л. Виджесинья, Браузер на основе текста для ПК, Семинар 2019 г. по вычислениям, сетям и коммуникациям (CNC), Гонолулу, Гавайи, февраль 2019 г.
  15. ^ Н. Каземи, А. Л. Виджесинья и Р. Карне. Разработка и внедрение IPsec на «голом» ПК, 2-я Международная конференция по информатике и ее приложениям (CSA), 2009 г.
  16. ^ А. Эмдади, Р. К. Карне и А. Л. Виджесинья. Внедрение протокола TLS на голом ПК, ICCRD2010, 2-я Международная конференция по компьютерным исследованиям и разработкам, Каула-Лумпур, Малайзия, май 2010 г.
  17. ^ У. В. Томпсон, Х. Алабси, Р. К. Карне, С. Линаг, А. Л. Виджесинья, Р. Альмаджед и Х. Чанг, Система хранения данных для простых приложений ПК с использованием USB, Международный журнал достижений в области Интернет-технологий, том 9, № 3 и 4, 2016 год. стр. 63-74.
  18. ^ У. Томпсон, Р. Карне, А. Виджесинья, Х. Алабси и Х. Чанг, Внедрение файловой системы USB для простых приложений для ПК, ICIW 2016: Одиннадцатая международная конференция по Интернету и веб-приложениям и службам, стр. 58-63.
  19. ^ С.Лян, Р.К. Карне и А.Л. Виджесинья., Экономичная файловая система USB для приложений на голых машинах, Труды 21-й Международной конференции по разработке программного обеспечения и инженерии данных, ISCA, июнь 2012 г., стр. 191-196.
  20. ^ Х. З. Алабси, В. В. Томпсон, Р. К. Карне, А. Л. Виджесинха, Р. Алмаджед, Ф. Альмансур, Файловая система RAID на чистом компьютере для USB, SEDE 2017: 26-я Международная конференция по разработке программного обеспечения и инженерии данных, стр 113-118.
  21. ^ У. Томпсон, Р. К. Карне и А.Л. Виджесинья, Совместимость SQLite для «чистого» ПК, 13-я Международная конференция «За пределами архитектуры и структур баз данных» (BDAS'17), 2017 г., стр. 177-188.
  22. ^ У. Окафор, Р. К. Карне, А. Л. Виджесинья и Б. Равал «Преобразование SQLITE для работы на голом ПК», в материалах 7-й Международной конференции по тенденциям в парадигме программного обеспечения, страницы 311-314, Рим, Италия, июль 2012 г.
  23. ^ Ф. Альмансур, Р. К. Карне, А. Л. Виджесинья, Х. Алабси и Р. Альмаджед, Промежуточное программное обеспечение для сетевых карт в приложениях для ПК, 26-я Международная конференция по компьютерным коммуникациям и сетям (стендовый доклад), ICCCN2017, Ванкувер, Канада, 2017.
  24. ^ Ф. Альмансур, Р. К. Карне, А. Л. Виджесинья, Б. С. Равал «Связывание Ethernet на голом веб-сервере ПК с двумя сетевыми картами», 33-й симпозиум ACM по прикладным вычислениям SAC 2018, апрель 2018 г., По, Франция.
  25. ^ Питер, А .; Karne, R .; Wijesinha, A .; Аппиа-Куби, П. (4–7 апреля 2013 г.). Преобразование простого приложения для ПК для работы на устройстве ARM. IEEE SoutheastCon. Джексонвилл, Флорида.