Я запускаю большой сервер minecraft, сторона сервера minecraft однопоточная. Все делается в основном игровом цикле. Если Mojang сделает серверную часть Minecraft многопоточной, серверы Minecraft сэкономят 2 миллиона долларов в год за счет аренды меньшего количества оборудования.
Во всяком случае, я слышал об этих слухах и теориях. Мне никогда не удавалось найти это в Google и понять это.
Есть ли способ взять многоядерный процессор и преобразовать его в одноядерный, однопоточный?
Я предполагал, что программное обеспечение гипервизора будет работать в многопоточном режиме и, если его можно настроить на одно ядро, оно преобразует несколько ядер в одно ядро.
Я подошел к моему другу программисту Java с этой идеей. И он сказал мне, что это невозможно, потому что каждый отдельный поток не может знать, что делать. Я не помню, что именно он сказал, но он в основном сказал, что это невозможно.
Серверы Minecraft тратят более 700 долларов в месяц на аренду оборудования, разогнанного до 4,5 ГГц. Почему? потому что серверы по умолчанию стоят 100-150 и стоят от 3,8 до 4,5.
Разогнанный сервер увеличит производительность одного потока на 1/8. Это заставит сервер удерживать больше игроков. Чем больше игроков может вместить сервер, тем больше денег он может заработать.
Таким образом, вместо того, чтобы покупать разогнанные серверы по завышенной цене, было бы гораздо эффективнее купить серверы quad proq E5 и подключить их к одному потоку, побив все рекорды по производительности и количеству игроков.
Я понимаю, что для mojang наиболее эффективным было бы просто сделать майнкрафт многопоточным. Для этого потребуется полностью переписать весь код.
Они не хотят этого делать. Аккаунт в майнкрафте стоит 26 долларов. Они продали 20 миллионов. Они катаются в грязно-богатом тесте, делая глупые обновления контента вместо того, чтобы исправлять многопоточность серверов Minecraft.
даже игровой клиент minecraft не является многопоточным.
Итак, вопрос в том, можно ли объединить несколько ядер процессора для достижения благочестивой производительности одного потока? если да, то как?
Я слышал, что это можно сделать, но накладные расходы были бы безумными.
Во всяком случае, из расчета накладных расходов?