Мультиархитектурная OS
Netsu 28 ноября, 2015 - 21:13
Странная идея (в стиле "на поболтать") посетила мою голову, и не хочет её покидать, потому решил создать тему, может кто компетентный интересной инфой поделится.
Суть: существуют ли аппаратные решения на базе процессоров различной архитектуры и можно ли собрать Linux умеющий использовать эти ресурсы по необходимости.
Как я это вижу: например, гаджет, использующий полноценный десктопный или серверный CPU при питании от сети, и переключающийся на ARM при работе от аккомулятора.
Плюс возможность запускать собственнический софт собранный под другие CPU без потерь на эмуляцию.
Я не слышал о таких решениях, но подход кажется весьма перспективным. Хотя и не сильно компетентен, может упускаю какие-то очевидные проблемы.
»
- Для комментирования войдите или зарегистрируйтесь
Классик тебе уже ответил:
Классик тебе уже ответил: "...В одну телегу впрячь не можно коня и трепетную лань!.."
И таки да - ты не только "сильно некомпетентен", но еще и со здравым смыслом не в ладах!
А конкретнее, или только
А конкретнее, или только поэзия и переход на личности, в лучших традициях :)
Гугл подсказывает, что гетерогенный мультипроцессинг используется на мобильных платформах в комбинации с ARM, но нет ничего про комбинацию ARM и десктопной x86.
А вот, кстати, интересное.
Ладно, в 2х словах...
Ладно, нарушим "традицию"! :) В 2х словах для тех, кто в танке:
1. Почему твоя идея "абсурд
by design
": разнородные процессоры потребуют соответствующую обвязку, т.е. n-кратное разрастание железа и, соответственно, стоимости. Усложнение подключения к шине (из-за необходимости дополнительного мониторинга состояния), снизит производительность. Надёжность упадёт из-за общего усложнения конструкции.2. Зачем? Экономия энергии? Дома на фоне общей нагрузки практически ничего не даст, а из-за n-кратной стоимости никто не купит. На производстве вообще неактуально. К тому же основными потребителями энергии являются, кстати, совсем не процессор, а память, диски, графика. Как быть с ними?!.. :)
3. Отказ от эмуляторов? Ну тут как бы тоже все очевидно - все типы и архитектуры процессоров все равно не засунешь в одну корзинку, что-то все равно так или иначе придётся эмулировать. А для разработки встроенных систем все равно реально нужен будет отдельный аппаратный макет с соответствующими периферийными устройствами.
P.S. Надеюсь хоть теперь понятно, почему пришлось "переходить на личности" в первом моем посте... А ведь все выше сказанное довольно очевидно, если просто подумать... и для этого достаточно общего школьного образования.
P.P.S. Твоя ссылка не совсем в тему, - там пытаются объединить разнородные модули в одном чипе:
integrate circuitry between two systems on a chip (SoC)
. К тому же все это имеет смысл только если эти разнородные подсистемы имеют пересекающиеся подмножества системы команд, но тут весьма возможна потеря производительности из-за использования ограниченного подмножества команд и т.д. и т.п.... Также вероятно, что придётся переписывать компиляторы, сам софт и пр. Т.е. теоретически в Линуксе сделать поддержку такой системы конечно можно, и относительно просто, но прежде нужно основательно перелопатить всю имеющуюся аппаратную и программную инфраструктуру. Для примера взгляните на историю IPv6 - до сих пор он полуживой, хотя уже давно есть реальная необходимость в расширении адресного пространства! А тут и реальная потребность выглядит весьма сомнительной...P.P.P.S. Несколько лет назад я уже выиграл ящик коньяка в пари о сроках появления "живых" квантовых процессоров. Но это так, к слову... ;)
Звучит разумно. Но тенденция
Звучит разумно. Но тенденция рынка может диктовать свои условия. Об этом и задумался. Налицо сближение портативных и настольных систем: Google, Apple, MS, даже Canonical -- пилят оси под что-то среднее между лаптопом и планшетом. Есть груда софта под ARM, есть груда софта под x86. Но на ящик коньяка спорить не готов: так уже чуть было ящик пива не проспорил из-за ubuntu-телефонов, но они таки появились, хоть и сильно позже и почти ниочём.
За аргументы спасибо.
>>пилят оси под что-то
>>пилят оси под что-то среднее
ИМХО не соответсвует действительности. Ось ВСЕГДА пилится под конкретный процессор (либо совместимое семейство процессоров). При этом кроссплатформенность линя определяется его открытыми сурсами и наличием си-компиляторов, кроссплатформенность винды опрежеляется желанием и возможностями фирмы майкрософт.
Юзерспейс может быть вполне кроссплатформенным если ось поддерживает виртуальную машину и вся прикладуха на нем (тот же гуглевый андроид, или майкрософтовский дотнет, ява опять жеж). В опенсурс держать прослойку в виде виртуальной машины ради кроссплатформенности в большинстве случаев смысла особого нет, ибо наличие сурсов и компилятора теоретически позволяет собрать приложение не под некую (пусть даже и очень хорошую) виртуальную среду, а под конкретное железо.
Массовое же изменение нешнего вида приложений (тот же оффис от майкрософт, к примеру) объясняется (в основном) широким распространением тачскринов. Понятно что тачскрин требует больших кнопок и несколько иной заточки интерфейса, нежели (тепер уже, о ужас!!!, традиционный) клавиатурно-мышевой ввод, а писать интерфейс отдельно под мышь и под тач - накладно