Эм, если не касаться вопроса доверия владельцам счетчиков, то про магистральных провайдеров вы все же загнули. Ну заходите в онлайн банки по http и узнайте как можно доверять магистральным провайдерам. Для этого же https и придумали, а банки уже давно http не используют.
Ну касательно самих этих тем да, если просто гуглить скорее всего на оффлайн попадешь, но я гуглил сразу с для GPU. И с заточкой под GPU статьи тоже есть, одно из самых лучших что я находил вот от этих ребят http://casual-effects.com/, именно по этой теме делают публикации, вот пример, видео.
Со старыми играми проблема, что все что нравятся, уже играны все, или почти все. А эта в стиле хексен (который мне нравится) и новая. Я вот horizon zero dawn недавно прошел, а на компе у меня gtx980, но я бы вполне поиграл и в такое. Была бы под линукс выложена, было бы вообще шикарно.
В ядре какой системы? POSIX и pthreads же не привязан к одному линуксу, а речь про них. В терминах ядра линукса вы абсолютно правы, но речь не про ядро линукса.
Вопрос терминологии, можно сказать что clone() c флагами CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SYSVSEM | CLONE_SIGHAND | CLONE_THREAD | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID — метод создать тред в терминах сисколов ядра линукса. Здесь же речь про pthreads, а в нем это тред называется.
Для arm у аппла еще синтаксис свой, большие проекты вроде x264 и ffmpeg используют тулзу конвертации gas-preprocessor.pl и перегоняют gas в appl синтаксис.
Нет, не сохраняется, x86 тут скорее всего имеется ввиду не ARM компилятор, который у msvc теперь тоже есть. Я это видел своими глазами, Custom calling convention работает, так же как и в llvm. При этом и при инлайне оно произвольные регистры использует (это и используется когда интринзики не внутри компилятора, а в h файлах, состоящие из одноасмовых инструкций, или комплексный интринзик из нескольких одноасмовых), и при генерации внутренней функции. В любом случае прямым текстом написано что компилер умеет понимать что нашел все точки вызова фкнкции, соответственно дальше он делает лучшее на что способен, если бы llvm не умел Custom calling convention, этого бы небыло что в си что в rust. Так что все же с ABI пример плохой.
На форточках это появилось раньше чем в gcc (в llvm было изначально). Просто компилируйте с WPO\PGO, это в любом случае полезно и включает массу других оптимизаций, вот например описания что включают WPO и PGO.
То про что вы говорите это:
If the compiler can identify all of the call sites of a function, the compiler ignores explicit calling-convention modifiers on a function and tries to optimize the function's calling convention:
И это только один из пунктов. Собственно rust использует абсолютно те же механизмы llvm что и си.
Для интерфейсных функций что торчат наружу — не будут, как и раст не будет. Для внутренних — как угодно в каких угодно регистрах, есть даже ключи компиляции (-fvisibility=hidden) чтобы скрыть все функции по дефолту аля раст, а интерфейсные придется помечать __attribute__((visibility(«default»))). И скрипотм линкера тоже можно скрыть все кроме того что указано (-Wl,--version-script=$(TARGET_EXE).exports). И тогда компилер для внутренних функций ABI не соблюдает, я проверял, даже баг постил на это тему в gold/ld линкер.
Это давно умеет и llvm (-flto) и msvc (/GL) и gcc (-flto). Так что не будет, я под всеми этими компиляторами это проделывал и специально смотрел асм что все как надо оптимизировалось. Так же это давно используют крупные проекты как firefox, chrome итд.
Я пытался использовать rust для производительного кода, увы, пока не все так гладко. Вот вам обратный пример, нету alloca.
Пример что вы привели правильно говорит что некоторые случаи в расте для оптимизитора лучше, но это не значит что на си нельзя оптимизировать чтобы было так же.
Такую же функцию, чтобы получилась 1 асм инструкция легко сделать и на си, более того многие inrinsic функции так и сделаны в системных инклудах, и принимать они могут на вход и выход любые регистры, несмотря на ABI.
Дело вот в чем, в расте просто все функции fn foo() по дефолту скрытые и не имеют привязки к ABI. Как только вы делаете функцию публичной pub extern «C» fn foo() и доступной извне, она приобретает ABI. В си же не имеют привязки статические функции, инлайновые и при использовании whole programm optimization(или и использованием профайловой оптимизации), которые не экспортируются (соответственно ABI им не нужен). Соответственно точно так же можно промаркировать интерфейсные функции торчащие наружу, а остальные скрыть и они будут оптимизироваться как угодно. Так что с ABI пример плохой.
У меня изначально был LAN, видимо в этом и было отличие. RFX это как я понял не панацея, это кодек на основе jpeg2000 и дает чуть более большое сжатие ценой небольшого увеличения загрузки CPU (GPU тут возможно использовать, но кардинального ускорения не будет, на трансфер данных уйдет много, а мелкие блоки вообще не выгодно). Для видео куда важнее чтобы h264 задействовался, хотя при большом сетевом канале можно и так.
Так оно и есть внутри, сначала своя реализация, потом интеграция с VMware HA cluster. Не понимаю что вы имеете ввиду, оно умеет реплицироваться в другой ЦОД и автоматически восстанавливаться. В том числе и мастер-мастер с 8 версии.
Я читал что RFX на WS может включить аппаратное ускорение и рендер на сервере, по идее тогда и dx и gl должны заработать. Но на деле у меня это не получалось сделать, даже opencl/CUDA контекст не создается, там то ли платная лицензия нужна на TS толи еще что. Здесь же у меня получилось включить ускорение и даже игры запускаются, навряд ли дело в этом, в обычном кейсе кодек на винде тоже явно софтовый или покрайней мере затык не в этом (на моих тестах лучше чем обычная десктопная винда в качестве сервера). Думаю дело в другом, чтобы включить 32bpp и нормально смотреть видео — нужен проброс видео через h264 кодек. Как я понял для этого в плеерах есть поддержка отдельного канала для видео. Здесь по коду поддержка тоже есть в xrdpvr, и есть некий vrplayer. Пока не до конца разобрался с этим.
Физическая, с nvidia картой, может быть в этом дело, да. Но nvidia GLX под XRDP не используется, если пути переключить на софтварный mesa, gl работает и тормозов тоже нет (в пределах на что способен софтварынй gl, сам rdp не тормозит). Так же можно запустить хардварный gl, если постараться.
Zimbra integrates with the VMware HA cluster infrastructure to heartbeat Zimbra application services and provide automated recover in the event of a service failure.
По поводу пункта 1, отказоустойчивость по документации присутствует, используется отказоустойчивый кластер, тык. То есть до 8.0 у них был свой кластер, а в 8 перешли на VMware HA cluster.
По 2 — опять же судя по описаниям и роликам на youtube — экосистема тоже присутствует, вопрос что в ней не хватает.
Остальные пункты пока не знаю.
Для arm у аппла еще синтаксис свой, большие проекты вроде x264 и ffmpeg используют тулзу конвертации gas-preprocessor.pl и перегоняют gas в appl синтаксис.
То про что вы говорите это:
И это только один из пунктов. Собственно rust использует абсолютно те же механизмы llvm что и си.
Пример что вы привели правильно говорит что некоторые случаи в расте для оптимизитора лучше, но это не значит что на си нельзя оптимизировать чтобы было так же.
Такую же функцию, чтобы получилась 1 асм инструкция легко сделать и на си, более того многие inrinsic функции так и сделаны в системных инклудах, и принимать они могут на вход и выход любые регистры, несмотря на ABI.
Дело вот в чем, в расте просто все функции fn foo() по дефолту скрытые и не имеют привязки к ABI. Как только вы делаете функцию публичной pub extern «C» fn foo() и доступной извне, она приобретает ABI. В си же не имеют привязки статические функции, инлайновые и при использовании whole programm optimization(или и использованием профайловой оптимизации), которые не экспортируются (соответственно ABI им не нужен). Соответственно точно так же можно промаркировать интерфейсные функции торчащие наружу, а остальные скрыть и они будут оптимизироваться как угодно. Так что с ABI пример плохой.
По 2 — опять же судя по описаниям и роликам на youtube — экосистема тоже присутствует, вопрос что в ней не хватает.
Остальные пункты пока не знаю.