Если писать код через задницу, его ни в одном языке нет. В хаскеле для производительности требуется писать код с использованием определенных идиом и расставлять восклицательные знаки в стратегических местах, да, но это не так сложно.
> Разница по лейтенси и в 4 раза по скорости это тьфу же. Написать софт чуть-чуть по другому и все хорошо будет.
Если вкратце, там и так софт пишут так, чтобы по минимуму интерконнект задействовать. И все равно в него регулярно упираются. И нет, пишут не идиоты, это специальная область науки, в которую вкладываются серьезные усилия.
В качестве примера можете покопаться в scalapack, узнаете много нового.
Потому что разбираетесь, поэтому пользуетесь термином не так как это принято в IT среде? Ну что поделать.
HPC в понимании "массо-параллельные вычисления на плавучке 64+ бит с широким интерконнектом" - это вообще не из массового IT, потому что там это практически не нужно. Это из околонаучных и инженерных применений и за их пределами встречается крайне редко, навскидку разве что в GIS и то не факт. Я вообще плохо понимаю, как в x86 попал высокопроизводительный тракт широкой плавучки, потому что в 90+ применениях из 100 он глубоко избыточен.
Именно поэтому top500 не про IT в целом и тащить его терминологию в IT неразумно, железячные компании типа оракла и гугла трактуют HPC в расширенном смысле, а для суперкомпьютерных вычислений нужно использовать какие-то уточнения.
Чип я привел как опровержение конкретного утверждения что в сетевом оборудование все, что не в железе, делается на процессоре общего назначения. Это не так. Бывает там и DSP и железячное ускорение look-up tables, и интегрированные FPGA и много всякого.
Имею привычку пользоваться адекватными источниками и читать целиком. Серьезно, не надо меня учить, что такое HPC, уж в этом я разбираюсь точно не хуже вас.
В сетевом оборудовании специализированный ASIC и процессор общего назначения для всего что не реализовано в железе
Давайте вы будете говорить в общепринятых терминах
HPC, согласно общепринятым терминам, про вычислительные системы, намного превосходящие по мощности обычный ПК. Я специально поискал, прежде чем писать. Системы из top500 - это лишь один из вариантов, научная разновидность. Это не единственно возможный вариант.
А в ДЦ найти их будет крайне сложно.
Смотря в каком. Посмотрите на линейку серверных продуктов Xilinx, для начала.
>Вы определитесь, Вы про мультимедия или HPC. Если про HPC то top500 ровно про них.
Я про HPC на целочисленных данных. Куда, в том числе, входят различные методы обработки картинок.
> В остальном - какие-то совсем специализированные задачи.
В каждом мобильном телефоне есть как минимум один DSP. Хотя если речь о современных, то скорее несколько, под разные задачи. В датацентрах - зависит от датацентра.
> А что касается ускорителей мультимедия - популярные алгоритмы все таки предпочитают реализовывать в железе
Железные реализации очень негибкие. Сейчас везде стараются засунуть если не процессор, то хотя бы FPGA.
top500 - он не про мультимедиа, а про научные вычисления. Это, в основном, плавучка. Мультимедиа - это целочисленные вычисления. Серверные ускорители для этого самого есть у, например, Xilinx и Intel. Правда, это сочетанные DSP+FPGA решения, афаик.
Плюс есть много разных чудес, где требуется большая пропускная способность, типа высокопроизводительного Data Acquisition. Например, в церне еще в конце нулевых, афаик, речь шла о десяткаях терабайтов сырой информации с детекторов в секунду - и эти терабайты нужно прожевать и отфильтровать мусор еще до того, как их отправят в хранение и реальную обработку. Надо бы поискать, как там выходили из положения, емнип, там до ASICов дело доходило.
HPC - это далеко не только серверный рынок в общем-то. Задач, упирающихся в числодробление, хватает в, например, мульмедиа и всяческой цифровой фотографии. И эти задачи обычно решают специализированным VLIW DSP. В приложении к военным задачам речь идет о работе с большими архивами спутниковых фото, например.
Если ваш workflow укладывается в стандартные сценарии или вы готовы посношаться и написать свой шаблон - lxd не то чтобы проще, а быстрее и легче автоматизируется. В чистом lxc проще с инкрементальной донастройкой и проще собрать все с нуля, если готовых заведомо не существует. В т.ч. и потому, что lxd не подразумевает прямого доступа к файлам конфигураций, все параметры правятся только через консольные команды.
>Хорошая книга обеспечивает 20, 30 часов высококачественного чтения — и может стоить как «AAA-игра».
Если книжка стоит как ААА-игра, то потенциальный читатель с высокой вероятностью купит именно ААА-игру. Более того, если книга стоит как игра категори Б, то тоже есть смысл приглядеться именно к игре — там хватает вкусных явлений, способных занять на десятки и сотни часов.
Собственно, проблема рынка коммерческих художественных книг именно в этом — в сегменте целенаправленного времяпрепровождения на вечер книги конкурируют с дотой, CS и прочими WoWами. И проигрывают с треском. В сегменте «потупить в автобусе» книги конкурируют с ютубом, вконтактиками да candy saga'ми, и тоже проигрывают с треском.
При этом даже если хочется именно почитать, есть огромный массив бесплатно доступных текстов без всяких пиратов. А платить сколь-либо большие деньги за электронку у нас ох как нелюбят, так что многие предпочтут пойти на фикбук, чем отдать денежку на АТ. Как говорил Дивов, всегда найдутся другие писатели. А вот других читателей у меня для вас нет.
Если писать код через задницу, его ни в одном языке нет. В хаскеле для производительности требуется писать код с использованием определенных идиом и расставлять восклицательные знаки в стратегических местах, да, но это не так сложно.
БОльшая часть раздела "Процессы, потоки, GIL и GC" и изрядная часть в разделах после.
Если честно, не понял, в чем смысл статьи. Текст проговаривает самоочевидные вещи, но при этом объяснение им дается переупрощенное до неправильности.
AFAIK, серверные процессоры с таким количеством ядер существуют не ради ядер, а ради линий PCIe.
> Разница по лейтенси и в 4 раза по скорости это тьфу же. Написать софт чуть-чуть по другому и все хорошо будет.
Если вкратце, там и так софт пишут так, чтобы по минимуму интерконнект задействовать. И все равно в него регулярно упираются. И нет, пишут не идиоты, это специальная область науки, в которую вкладываются серьезные усилия.
В качестве примера можете покопаться в scalapack, узнаете много нового.
HPC в понимании "массо-параллельные вычисления на плавучке 64+ бит с широким интерконнектом" - это вообще не из массового IT, потому что там это практически не нужно. Это из околонаучных и инженерных применений и за их пределами встречается крайне редко, навскидку разве что в GIS и то не факт. Я вообще плохо понимаю, как в x86 попал высокопроизводительный тракт широкой плавучки, потому что в 90+ применениях из 100 он глубоко избыточен.
Именно поэтому top500 не про IT в целом и тащить его терминологию в IT неразумно, железячные компании типа оракла и гугла трактуют HPC в расширенном смысле, а для суперкомпьютерных вычислений нужно использовать какие-то уточнения.
Чип я привел как опровержение конкретного утверждения что в сетевом оборудование все, что не в железе, делается на процессоре общего назначения. Это не так. Бывает там и DSP и железячное ускорение look-up tables, и интегрированные FPGA и много всякого.
Вот из-за того, что разбираюсь, и пользуюсь термином так, как пользуюсь.
*тяжелый вздох* Там стоит честный программируемый DSP. То, что у него программа задается на стадии сборки устройства, не меняет ситуации.
Судя по вашему тексту, надежды на дальнейшей продуктивный разговор я не имею, поэтому разговор сворачиваю.
Имею привычку пользоваться адекватными источниками и читать целиком. Серьезно, не надо меня учить, что такое HPC, уж в этом я разбираюсь точно не хуже вас.
https://docs.broadcom.com/doc/87842-PB
Я не имею привычки пользоваться википедией в поиске определений.
В типичном датацентре DSP и прочая экзотика может быть в сетевом оборудовании. Там много любопытных гитик.
HPC, согласно общепринятым терминам, про вычислительные системы, намного превосходящие по мощности обычный ПК. Я специально поискал, прежде чем писать. Системы из top500 - это лишь один из вариантов, научная разновидность. Это не единственно возможный вариант.
Смотря в каком. Посмотрите на линейку серверных продуктов Xilinx, для начала.
>Вы определитесь, Вы про мультимедия или HPC. Если про HPC то top500 ровно про них.
Я про HPC на целочисленных данных. Куда, в том числе, входят различные методы обработки картинок.
> В остальном - какие-то совсем специализированные задачи.
В каждом мобильном телефоне есть как минимум один DSP. Хотя если речь о современных, то скорее несколько, под разные задачи. В датацентрах - зависит от датацентра.
> А что касается ускорителей мультимедия - популярные алгоритмы все таки предпочитают реализовывать в железе
Железные реализации очень негибкие. Сейчас везде стараются засунуть если не процессор, то хотя бы FPGA.
top500 - он не про мультимедиа, а про научные вычисления. Это, в основном, плавучка. Мультимедиа - это целочисленные вычисления. Серверные ускорители для этого самого есть у, например, Xilinx и Intel. Правда, это сочетанные DSP+FPGA решения, афаик.
Плюс есть много разных чудес, где требуется большая пропускная способность, типа высокопроизводительного Data Acquisition. Например, в церне еще в конце нулевых, афаик, речь шла о десяткаях терабайтов сырой информации с детекторов в секунду - и эти терабайты нужно прожевать и отфильтровать мусор еще до того, как их отправят в хранение и реальную обработку. Надо бы поискать, как там выходили из положения, емнип, там до ASICов дело доходило.
HPC - это далеко не только серверный рынок в общем-то. Задач, упирающихся в числодробление, хватает в, например, мульмедиа и всяческой цифровой фотографии. И эти задачи обычно решают специализированным VLIW DSP. В приложении к военным задачам речь идет о работе с большими архивами спутниковых фото, например.
По личному опыту
Если ваш workflow укладывается в стандартные сценарии или вы готовы посношаться и написать свой шаблон - lxd не то чтобы проще, а быстрее и легче автоматизируется. В чистом lxc проще с инкрементальной донастройкой и проще собрать все с нуля, если готовых заведомо не существует. В т.ч. и потому, что lxd не подразумевает прямого доступа к файлам конфигураций, все параметры правятся только через консольные команды.
Если книжка стоит как ААА-игра, то потенциальный читатель с высокой вероятностью купит именно ААА-игру. Более того, если книга стоит как игра категори Б, то тоже есть смысл приглядеться именно к игре — там хватает вкусных явлений, способных занять на десятки и сотни часов.
Собственно, проблема рынка коммерческих художественных книг именно в этом — в сегменте целенаправленного времяпрепровождения на вечер книги конкурируют с дотой, CS и прочими WoWами. И проигрывают с треском. В сегменте «потупить в автобусе» книги конкурируют с ютубом, вконтактиками да candy saga'ми, и тоже проигрывают с треском.
При этом даже если хочется именно почитать, есть огромный массив бесплатно доступных текстов без всяких пиратов. А платить сколь-либо большие деньги за электронку у нас ох как нелюбят, так что многие предпочтут пойти на фикбук, чем отдать денежку на АТ. Как говорил Дивов, всегда найдутся другие писатели. А вот других читателей у меня для вас нет.