Честно говоря, надоели уже статьи на тему «что будет, если прилетит супермен».
Пока не будет создано механизмов обработки и понимания входящих данных, таких как речи и изображения — об искусственном интеллекте можно просто забыть. Разве мегакорпорации уже научили свои Siri отличать «Окей гугл» от «Отлей в угол»? Леопардовый диван на статической картинке уже побороли? Ну так о чем тогда может быть речь?
Зачем называть гибриды парсеров и калькуляторов, искусственным интеллектом? Да, эта штука считает комбинации быстрее. Даже находить оптимальное решение может быстрее. Но это не делает ее интеллектуальной. О чем вообще эта статья, если авторы считают развитие ИИ — это «сделать робота-строителя, быстрее всех укладывающего кирпичи»?
И напоследок, если бы автор статьи внимательно смотрел Железного Человека, он бы знал что Тони Старк никогда не позиционировал JARVISа как искусственный интеллект :)
Так вы определитесь, либо конфиг предпоследнего поколения, либо наличие легаси типа D-SUB :)
NUC не нужен. Когда-то я писал здесь статью про убийцу Intel NUC. Сейчас я его апгрейднул на другой, на процессоре i5-5257U c Iris 6100. Обзор на другом ресурсе, если хотите, в л.с. дам линку почитать.
Цена на момент покупки 260 уев, сейчас немного подорожало (265-270 уев).
А покупать ЭТО, шумящее, с непонятными портами — нет смысла.
Вот именно поэтому, SSD и совместим с любыми конфигурациями, и любыми ОС. NCQ не крут. Но он стар.
Не совсем понимаю, что в вашем понимании «soft-SSD», и зачем оно.
SSD — это УЖЕ мини-компьютер, содержащий свои внутренние блочные устройства, подключенные по своей шине, и взаимодействующий с внешним миром через систему ATA-команд. Ну иногда содержащий на себе ATA-контроллер на шине PCI, что вовсе не отменяет факта взаимодействия через ATA. Можете даже светодиодиком поморгать, не подключая его к компьютеру.
А софтовый SSD у нас уже есть — это NAND-память любого девайса, будь то планшета, или недокомпьютера вроде Cubietruck. Она подключена с помощью выделенной шины процессора, и управляется более-менее программно. Используется тот же самый физический носитель, что и в классических SSD.
Но несмотря на это, работает намного медленнее этих самых классических SSD, и очень быстро деградирует. И именно потому что работа этой штуки — на совести драйвера, который в случае OpenSource, работает как «не нравится, вас никто не заставляет этим пользоваться, пользуйтесь другой реализацией».
Я вам больше скажу, вы можете взять Raspberry PI, и эмулировать с помощью ее GPIO подключение к SATA-порту компьютера. А если на компьютере есть SPI, то можете и SPI'ем побаловаться. Это не сложно. Но незачем. И медленно.
Вам на закусь: https://pp.vk.me/c633226/v633226443/1d66e/v2h62C2z_JY.jpg
Ну скажем так, аппаратные решения от NetApp не тормозят. И стоят соответственно.
Решение приведенное по ссылке — не совсем «честный» программный рейд, поскольку он построен на отдельном девайсе, еще и нефиговой такой конфигурации. Я бы назвал его скорее «навороченным аппаратным RAID».
Так или иначе, они взяли за основу готовую ОС не реального времени, с готовым ядром и его вызовами, а чтобы нивелировать высокую латентность и простои системы IO из-за планировщика задач — используют 10-тиядерный х86 с 25 Мб кеша.
Наверное 75% того, что делает прошивка в аппаратных массивах, они возложили на плечи готового софта.
Знаете, это как неудачная логистика транспортной компании, которая вместо того чтобы оптимизировать пути следования своих грузовых автомобилей — решила нанимать самолет, в 100 раз дороже, зато быстрее и эффективнее.
Ребята молодцы, если нашли способ впаривать ЭТО, но поймите, что вы не доказали что ПРОГРАММНЫЙ RAID БЫСТРЕЕ, вы всего лишь привели пример линейной зависимости быстродействия программного RAID от скорости ПК на котором он работает ;)
Кстати хороший пример вы воткнули в процессе сарказма.
Майнинг (по сути рендер) биткоинов на специализированной платформе (которая жуть какая тормознутая в повседневных задачах) не зря работает намного эффективнее, чем на ПК ;)
Дрова оверхеда может и не дадут (хотя тут можно поспорить, ибо у процессора инструкций поболее будет).
А вот с процессорным временем будет посложнее. Микроконтроллеры не зря работают в жестком реалтайме, при чем иногда даже этого недостаточно, и приходится добавлять некоторые высокоскоростные буферы на несколько десятков кадров, дабы информация не потерялась если лагает микроконтроллер.
Не совсем понятно, как процессор заставить обрабатывать ЭТО в многозадачной среде. Простите, но у вас либо IO будет жутко лагать, или отзывчивость системы будет падать в моменты чтения\записи (а это почти всегда).
Это вы так думаете. Вы говорите «стандартные дрова» а подразумеваете «дрова под Windows», и это не есть «стандарт», это есть монополия.
Спецификации здесь не помогут. Ну сделаете вы принтер, ну выложите вы спеки, и молодцы. Никто не купит у вас этот принтер, пока вы сами не выложите под него драйверы. Сделаете только под Linux, и покупать его будут только линуксятники. Сделаете под популярные ОС — и обеспечите этому принтеру популярность.
Есть базовые методы, которые в принципе придуманы давно, на которых основана работа всех популярных девайсов: Ethernet, ATA, UVC и многие другие. Ваша GTX260 под DOS тоже будет показывать видео. А вот как только шаг вправо-шаг влево — появляются нестандартные решения, пропихнуть которые в мейнстрим может и не получиться. Даже при условии если спеки на них будут в открытом доступе.
Программная реализация принципов работы SSD — просто не имеет смысла, хоть и очень легка в реализации, cпеки ATA — в открытом доступе, его запросто можно программно эмулировать. Спеки шин — тоже.
Только тормозить эта хрень будет нереально (кстати так же как и Winмодемы тормозили сами, и тормозили ПК). Вы сами можете воочию увидеть как «реализация RTM через жопу» мешает работе — на примере Raspberry PI — попробуйте комфортно поработать, если что-то копируете по сети. А ведь это еще даже не софтовая реализация, это всего лишь «Ethernet over USB».
А главное, что овчинка выделки не стоит. Прошивка — одна на все устройства. Сам микроконтроллер стоит копейки. Впаять его можно за минуту, даже в домашних условиях при наличии паяльной станции. И можно отнести поломанное ЭТО — продавцу по гарантии, и не услышать в ответ «Почистите куки / Поменяйте браузер / Переустановите Windows итд».
Имхо, программная реализация SSD — НЕ НУЖНА.
Не переплевывают.
Впрочем давайте определимся, что такое «программный» RAID? Так или иначе запросы обрабатываются программой. Но имея в виду «аппаратный RAID» мы подразумеваем, маленькую программу на килобайты, которая находится в маленьком ПЗУ маленького микроконтроллера, и заточена на вполне определенные действия, и практически неспособна «повеситься».
Программный RAID обрабатывается на уровне ОС, соответственно нигде кроме нее не работает, привязан к фичам этой ОС (и багам кстати тоже), соответственно работает медленнее, поскольку реализовывается при помощи того же CPU который помимо всего, обрабатывает ваши вкладочки в Google Chrome, рендер в 3dMax, да и в принципе неспособен загружать эту ОС без дополнительных костылей.
С SSD — то же самое. Гораздо проще, быстрее, надежнее, подать NCQ-очередь в интерфейс и забыть о ней. В свою очередь, контроллеру проще настроиться только на обработку очереди и выдачи ответа, чем заниматься не нужной фигней, из-за которой он часто будет во фризе, да и вообще зависнуть может.
Они произвели фурор до тех пор, пока их не потрогали ручками, и не начали плеваться. Эвон какая невидаль, мой Windows 98 нашел неизвестное устройство, требует драйвер, и предлагает мне выйти в интернет, чтобы поискать этот драйвер. С Линуксами тех годов все еще хуже было.
Плюс ко всему, на нестабильных телефонных линиях (а таких наверное 90% на планете Земля), связь постоянно обрывалась, сказывалось отсутствие аппаратного реалтаймового DSP.
Программный рейд, сами понимаете, работает как говно, и крашится так же само безвозвратно.
Так что мне страшно представить что будет с SSD, если их сделать программными.
Да и незачем. При современной стоимости микроконтроллеров в 1-2 бакса, особо SSD-шник это не удешевит, зато снизит скорость, убьет совместимость, упростит работу вирусне.
Гораздо более лучшая идея, научиться делать очень очень энергоэффективную ОЗУ (уже вроде есть наработки) и рядом с банками памяти размещать небольшой аккумулятор (а лучше два, взаимозаменяемых), которого хватит скажем, на 2 года сохранности данных.
Убьем одним выстрелом двух зайцев — забудем о лимите перезаписи, увеличим скорость на много, и сделаем диск динамическим, поскольку при добавлении модуля памяти (если железка будет позволять это делать) — контроллер будет рапортовать реальные данные по объему, а не зашитые в него заранее. Ляпота в общем.
Скажем так, SSD — это не только скорость и отсутствие движущихся частей.
Это еще и ATA-интерфейс с поддержкой набора NCQ-команд, поэтому собственно эта железка будет работать и на суперсовременном компьютере, вчера сошедшем с конвейера, и на древнем i386 DX под управлением MSDOS (если конечно найдем PCI-переходник на SATA, но это уже сопутствующие затраты).
***
В вашем суждении есть одна неточность:
> Кэш в ОС,
В какой такой, простите, ОС ?) У нас еще нет ОС, у нас есть железка, и установочная флешка с Windows 7 (которая насколько мне не изменяет память — даже на другую USB-флешку отказывается ставиться).
Да. Тут при чем — детские болезни контроллеров, таких как у вышеупомянутого SF2281, когда он: а) может сам себе выстрелить в ногу, убив прошивку без стороннего вмешательства; б) может уйти в sleep и не выйти оттуда даже после ребута. У HDD таких болезней нет уже очень давно.
Было бы здорово, если бы чипы памяти были легко-съемными, например на микросхемных площадках, и в случае выхода чего-то из строя, контроллер бы сигнализировал где именно сбой, и что нужно поменять. Я уверен что такое возможно, и относительно просто сделать.
Впрочем о чем это я? Маркетинг же. Клиента надо заставить вернуться в магазин Kingston'а с сотней баксов, а не на рынок за микрухой Micron за бакс :)
Вы правильно понимаете. Лишь с той разницей, что нейросеть — это скорее способ сортировки информации, а не ее восприятия. Добавить регулярку в парсер всегда можно, но для этого ее нужно заранее выловить. А ведь мы говорим только за парсер текстовой информации :)
А если «террористы»/«педофилы» будут обмениваться не текстовыми сообщениями, а голосовыми или ни дай бог визуальными сообщениями? Тут не до парсинга, тут научиться бы отличать «Окей, гуголь» от «Отлей в угол» :)
А как вы определите критерии защиты?
Понятно, что базовые истины определить можно (условно говоря, следуя десяти заповедям), но как быть с субъективными мнениями, которые меняются раз в №-тилетие? Как обучить ИИ принятию человеческих двойных стандартов?
Да этот ИИ вызовет division by zero при первой же попытке разложить истину на составляющие. Банальный пример:
— ИИ, Гитлер и нацизм — это плохо.
— Учитель, а почему?
— Он нападал на другие страны, и под его руководством были убиты многие люди.
— Учитель, я нашло еще полторы тысячи человек, которые сделали то же самое, и должны быть запрещены к упоминанию, среди них: Александр Македонский, Юлий Цезарь, Мухаммед, Екатерина Медичи, Богдан Хмельницкий, Наполеон Бонапарт, Вильгельм Гогенцоллерн, Йосиф Сталин, Гарри Трумэн, Владимир Путин, Петр Порошенко, Барак Обама.
— ИИ, они хорошие!
Segmentation fault. Division by zero. The end.
Как вы прикажете этому ИИ, отсекать «Гитлера» и пропускать остальных, если их поступки в принципе идентичны?
***
И это только один из примеров. Как бы вы языком алгоритмов определили, чему можно учиться, а чему нельзя?
Не помог бы. Дело не в объеме данных, а в их реляциях. Они могут быть зависимы друг от друга, по контекстным словам, предложениям, могут быть завуалированными, в общем такими, с чем человеческий разум справится в два счета, а ИИ понадобится несколько лет, чтобы понять что «Show me your kitty, my pretty» в обращении в письме к «I'm your 11-old kitty» — создано педофилом к 11-летней девочке, а не любителем котов к ушастому питомцу.
***
Да и искусственным интеллектом ЭТО назвать будет трудно, а скорее так… навороченным парсером. ИМХО.
***
Честно говоря, надоели уже статьи на тему «что будет, если прилетит супермен».
Пока не будет создано механизмов обработки и понимания входящих данных, таких как речи и изображения — об искусственном интеллекте можно просто забыть. Разве мегакорпорации уже научили свои Siri отличать «Окей гугл» от «Отлей в угол»? Леопардовый диван на статической картинке уже побороли? Ну так о чем тогда может быть речь?
Зачем называть гибриды парсеров и калькуляторов, искусственным интеллектом? Да, эта штука считает комбинации быстрее. Даже находить оптимальное решение может быстрее. Но это не делает ее интеллектуальной. О чем вообще эта статья, если авторы считают развитие ИИ — это «сделать робота-строителя, быстрее всех укладывающего кирпичи»?
И напоследок, если бы автор статьи внимательно смотрел Железного Человека, он бы знал что Тони Старк никогда не позиционировал JARVISа как искусственный интеллект :)
По поводу наушников — юзайте USB-звуковую карту. Дешево. Зато сердито. И 5.1 сможете.
Так или иначе, в случае Intel NUC мы переплачиваем за имя, дизайн и вроде как гарантию. Еще и неплохо так переплачиваем.
NUC не нужен. Когда-то я писал здесь статью про убийцу Intel NUC. Сейчас я его апгрейднул на другой, на процессоре i5-5257U c Iris 6100. Обзор на другом ресурсе, если хотите, в л.с. дам линку почитать.
Цена на момент покупки 260 уев, сейчас немного подорожало (265-270 уев).
А покупать ЭТО, шумящее, с непонятными портами — нет смысла.
Не совсем понимаю, что в вашем понимании «soft-SSD», и зачем оно.
SSD — это УЖЕ мини-компьютер, содержащий свои внутренние блочные устройства, подключенные по своей шине, и взаимодействующий с внешним миром через систему ATA-команд. Ну иногда содержащий на себе ATA-контроллер на шине PCI, что вовсе не отменяет факта взаимодействия через ATA. Можете даже светодиодиком поморгать, не подключая его к компьютеру.
А софтовый SSD у нас уже есть — это NAND-память любого девайса, будь то планшета, или недокомпьютера вроде Cubietruck. Она подключена с помощью выделенной шины процессора, и управляется более-менее программно. Используется тот же самый физический носитель, что и в классических SSD.
Но несмотря на это, работает намного медленнее этих самых классических SSD, и очень быстро деградирует. И именно потому что работа этой штуки — на совести драйвера, который в случае OpenSource, работает как «не нравится, вас никто не заставляет этим пользоваться, пользуйтесь другой реализацией».
Я вам больше скажу, вы можете взять Raspberry PI, и эмулировать с помощью ее GPIO подключение к SATA-порту компьютера. А если на компьютере есть SPI, то можете и SPI'ем побаловаться. Это не сложно. Но незачем. И медленно.
Вам на закусь: https://pp.vk.me/c633226/v633226443/1d66e/v2h62C2z_JY.jpg
Решение приведенное по ссылке — не совсем «честный» программный рейд, поскольку он построен на отдельном девайсе, еще и нефиговой такой конфигурации. Я бы назвал его скорее «навороченным аппаратным RAID».
Так или иначе, они взяли за основу готовую ОС не реального времени, с готовым ядром и его вызовами, а чтобы нивелировать высокую латентность и простои системы IO из-за планировщика задач — используют 10-тиядерный х86 с 25 Мб кеша.
Наверное 75% того, что делает прошивка в аппаратных массивах, они возложили на плечи готового софта.
Знаете, это как неудачная логистика транспортной компании, которая вместо того чтобы оптимизировать пути следования своих грузовых автомобилей — решила нанимать самолет, в 100 раз дороже, зато быстрее и эффективнее.
Ребята молодцы, если нашли способ впаривать ЭТО, но поймите, что вы не доказали что ПРОГРАММНЫЙ RAID БЫСТРЕЕ, вы всего лишь привели пример линейной зависимости быстродействия программного RAID от скорости ПК на котором он работает ;)
> Intel Xeon E5-2660v2, 24 Гб памяти + контроллеры LSI SAS HBA 9207-8i
> 77,4 (MBps, запись 4к блоков)
Они там реализацию на bash писали что ли?
А если без шуток, то они не переплюнули хардварные решения. Расширили — да. Ценой цены.
Майнинг (по сути рендер) биткоинов на специализированной платформе (которая жуть какая тормознутая в повседневных задачах) не зря работает намного эффективнее, чем на ПК ;)
А вот с процессорным временем будет посложнее. Микроконтроллеры не зря работают в жестком реалтайме, при чем иногда даже этого недостаточно, и приходится добавлять некоторые высокоскоростные буферы на несколько десятков кадров, дабы информация не потерялась если лагает микроконтроллер.
Не совсем понятно, как процессор заставить обрабатывать ЭТО в многозадачной среде. Простите, но у вас либо IO будет жутко лагать, или отзывчивость системы будет падать в моменты чтения\записи (а это почти всегда).
Спецификации здесь не помогут. Ну сделаете вы принтер, ну выложите вы спеки, и молодцы. Никто не купит у вас этот принтер, пока вы сами не выложите под него драйверы. Сделаете только под Linux, и покупать его будут только линуксятники. Сделаете под популярные ОС — и обеспечите этому принтеру популярность.
Есть базовые методы, которые в принципе придуманы давно, на которых основана работа всех популярных девайсов: Ethernet, ATA, UVC и многие другие. Ваша GTX260 под DOS тоже будет показывать видео. А вот как только шаг вправо-шаг влево — появляются нестандартные решения, пропихнуть которые в мейнстрим может и не получиться. Даже при условии если спеки на них будут в открытом доступе.
Программная реализация принципов работы SSD — просто не имеет смысла, хоть и очень легка в реализации, cпеки ATA — в открытом доступе, его запросто можно программно эмулировать. Спеки шин — тоже.
Только тормозить эта хрень будет нереально (кстати так же как и Winмодемы тормозили сами, и тормозили ПК). Вы сами можете воочию увидеть как «реализация RTM через жопу» мешает работе — на примере Raspberry PI — попробуйте комфортно поработать, если что-то копируете по сети. А ведь это еще даже не софтовая реализация, это всего лишь «Ethernet over USB».
А главное, что овчинка выделки не стоит. Прошивка — одна на все устройства. Сам микроконтроллер стоит копейки. Впаять его можно за минуту, даже в домашних условиях при наличии паяльной станции. И можно отнести поломанное ЭТО — продавцу по гарантии, и не услышать в ответ «Почистите куки / Поменяйте браузер / Переустановите Windows итд».
Имхо, программная реализация SSD — НЕ НУЖНА.
Впрочем давайте определимся, что такое «программный» RAID? Так или иначе запросы обрабатываются программой. Но имея в виду «аппаратный RAID» мы подразумеваем, маленькую программу на килобайты, которая находится в маленьком ПЗУ маленького микроконтроллера, и заточена на вполне определенные действия, и практически неспособна «повеситься».
Программный RAID обрабатывается на уровне ОС, соответственно нигде кроме нее не работает, привязан к фичам этой ОС (и багам кстати тоже), соответственно работает медленнее, поскольку реализовывается при помощи того же CPU который помимо всего, обрабатывает ваши вкладочки в Google Chrome, рендер в 3dMax, да и в принципе неспособен загружать эту ОС без дополнительных костылей.
С SSD — то же самое. Гораздо проще, быстрее, надежнее, подать NCQ-очередь в интерфейс и забыть о ней. В свою очередь, контроллеру проще настроиться только на обработку очереди и выдачи ответа, чем заниматься не нужной фигней, из-за которой он часто будет во фризе, да и вообще зависнуть может.
Плюс ко всему, на нестабильных телефонных линиях (а таких наверное 90% на планете Земля), связь постоянно обрывалась, сказывалось отсутствие аппаратного реалтаймового DSP.
Программный рейд, сами понимаете, работает как говно, и крашится так же само безвозвратно.
Так что мне страшно представить что будет с SSD, если их сделать программными.
Да и незачем. При современной стоимости микроконтроллеров в 1-2 бакса, особо SSD-шник это не удешевит, зато снизит скорость, убьет совместимость, упростит работу вирусне.
Гораздо более лучшая идея, научиться делать очень очень энергоэффективную ОЗУ (уже вроде есть наработки) и рядом с банками памяти размещать небольшой аккумулятор (а лучше два, взаимозаменяемых), которого хватит скажем, на 2 года сохранности данных.
Убьем одним выстрелом двух зайцев — забудем о лимите перезаписи, увеличим скорость на много, и сделаем диск динамическим, поскольку при добавлении модуля памяти (если железка будет позволять это делать) — контроллер будет рапортовать реальные данные по объему, а не зашитые в него заранее. Ляпота в общем.
Это еще и ATA-интерфейс с поддержкой набора NCQ-команд, поэтому собственно эта железка будет работать и на суперсовременном компьютере, вчера сошедшем с конвейера, и на древнем i386 DX под управлением MSDOS (если конечно найдем PCI-переходник на SATA, но это уже сопутствующие затраты).
***
В вашем суждении есть одна неточность:
> Кэш в ОС,
В какой такой, простите, ОС ?) У нас еще нет ОС, у нас есть железка, и установочная флешка с Windows 7 (которая насколько мне не изменяет память — даже на другую USB-флешку отказывается ставиться).
Впрочем о чем это я? Маркетинг же. Клиента надо заставить вернуться в магазин Kingston'а с сотней баксов, а не на рынок за микрухой Micron за бакс :)
А если «террористы»/«педофилы» будут обмениваться не текстовыми сообщениями, а голосовыми или ни дай бог визуальными сообщениями? Тут не до парсинга, тут научиться бы отличать «Окей, гуголь» от «Отлей в угол» :)
Понятно, что базовые истины определить можно (условно говоря, следуя десяти заповедям), но как быть с субъективными мнениями, которые меняются раз в №-тилетие? Как обучить ИИ принятию человеческих двойных стандартов?
Да этот ИИ вызовет division by zero при первой же попытке разложить истину на составляющие. Банальный пример:
— ИИ, Гитлер и нацизм — это плохо.
— Учитель, а почему?
— Он нападал на другие страны, и под его руководством были убиты многие люди.
— Учитель, я нашло еще полторы тысячи человек, которые сделали то же самое, и должны быть запрещены к упоминанию, среди них: Александр Македонский, Юлий Цезарь, Мухаммед, Екатерина Медичи, Богдан Хмельницкий, Наполеон Бонапарт, Вильгельм Гогенцоллерн, Йосиф Сталин, Гарри Трумэн, Владимир Путин, Петр Порошенко, Барак Обама.
— ИИ, они хорошие!
Segmentation fault. Division by zero. The end.
Как вы прикажете этому ИИ, отсекать «Гитлера» и пропускать остальных, если их поступки в принципе идентичны?
***
И это только один из примеров. Как бы вы языком алгоритмов определили, чему можно учиться, а чему нельзя?
***
Да и искусственным интеллектом ЭТО назвать будет трудно, а скорее так… навороченным парсером. ИМХО.
Значит скоро возможно и у местного населения появится на столах сахар к чаю, и селитра для удобрений :)