Перейти к содержимому


Фотография

Реальная "Многопоточность"!

[OC]

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 52

#1 Оффлайн   MeXaN1cK

MeXaN1cK
  • Пользователи
  • Сообщений: 42
  • Уровень сигнала: 8,31%
  • В игре: 62 час. 48 мин.

Награды

              

Отправлено 08 Март 2017 - 20:23

Всем привет! Собственно вот какая идейка пришла нам, товарищам из IRC, а что если связать несколько компов и заставить их обрабатывать 1 задачу, тем самым добиться многопоточности.

Собственно задача - Написать либу для связки компов между собой и разделение задачи на составные части с их последующей обработкой и выведением результата.

P.S Большая просьба - не флудить не по делу и не писать сообщения типа "связать через модемы и заставить считать". Предлагайте готовые участки кода, если таковые имеются.Будем очень благодарны. Если есть желания присоединиться к команде разработки - заходите в IRC, там и скооперируемся.


  • Totoro это нравится

#2 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 08 Март 2017 - 20:29

Я как соавтор идеи поддерживаю её и может даже поучаствую в разработке.  :)

 

Основная идея пока такова:

Делаем всё просто. Как с Zn. Реализуем небольшую либу для распределённых вычислений. Этакий Supercomputer API.

 

Его задача будет

- собрать компьютеры-ноды в один кластер

- получать от юзера фрагменты задачи (самое простое в виде строки-кода)

- распределять между свободными нодами кластера

- получать результаты от нод, которые завершили вычисление

- мерджить результат (по алгоритму предоставленному юзером) либо организовывать общение с нодами кластера в реальном времени

 

Самый главный плюс всей идеи - реальная многопоточность. Все вычисления будут происходить параллельно, в реальном времени на разных компьютерах кластера.

Наша задача - придумать максимально простую и удобную в использовании библиотеку под это дело.


Сообщение отредактировал Totoro: 08 Март 2017 - 20:33


#3 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 08 Март 2017 - 20:54

Что вы там собрались делать? Для каких целей вам многопоточность понадобилась?

 

У меня кстати есть рабочая идея, как ускорить отображение изображений. Например нам нужно одновременно, чтобы несколько игроков бегали по экрану и чтобы экран не тормозил при отображении. Решение - подключить к одному монитору с клавой несколько компов, распределить задачи для каждого компа. Один отображает первого игрока, второй комп второго, третий третьего. В итоге скорость прорисовки заметно возрастёт. Так как каждый комп подключён к одному монитору и способен спокойно с ним работать, позволяя монитору работать выше своих возможностей.

Можно так мультиплеерные игры спокойно делать. Как в старых играх делить экран на 2 или 4 части и каждую часть использовать под экран для одного игрока.



#4 Оффлайн   ivan52945

ivan52945
  • Пользователи
  • Сообщений: 150
  • Уровень сигнала: 61,4%
  • В игре: 463 час. 53 мин.

Награды

                       

Отправлено 08 Март 2017 - 21:00

Что вы там собрались делать? Для каких целей вам многопоточность понадобилась?

 

У меня кстати есть рабочая идея, как ускорить отображение изображений. Например нам нужно одновременно, чтобы несколько игроков бегали по экрану и чтобы экран не тормозил при отображении. Решение - подключить к одному монитору с клавой несколько компов, распределить задачи для каждого компа. Один отображает первого игрока, второй комп второго, третий третьего. В итоге скорость прорисовки заметно возрастёт. Так как каждый комп подключён к одному монитору и способен спокойно с ним работать, позволяя монитору работать выше своих возможностей.

Можно так мультиплеерные игры спокойно делать. Как в старых играх делить экран на 2 или 4 части и каждую часть использовать под экран для одного игрока.

1)Просили же не флудить
2)Зачем это надо?

  а)интересно
  б)почему бы  и нет
  в)ещё не известно, что может пригодиться в будущем


Сообщение отредактировал ivan52945: 08 Март 2017 - 21:01


#5 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 08 Март 2017 - 21:03

Ну это не флуд, а дельная идея.

Я вот предлагал Лёхе попробовать рендер 3D графики распределить через кластер.

 

Но в любом случае, сначала надо спроектировать библиотеку.

 

 

2)Зачем это надо?

 

Для прикола. Это крутая идея, и будет прикольно её увидеть работающей.


Сообщение отредактировал Totoro: 08 Март 2017 - 21:04


#6 Оффлайн   Quant

Quant
  • Пользователи
  • Сообщений: 537
  • Уровень сигнала: 0,01%
  • В игре: 0 час. 4 мин.
  • Городinterface IQuant

Награды

     

Отправлено 08 Март 2017 - 21:35

Идея как это запилить:

 вся программа делится на максимально маленькие функции, которые выполняются на любом из компов, и один главный комп, который соединяет функции в вычислительную цепочку, а затем её выполняют.

function sum(a, b)
return a + b
end

function sub(a, b)
return a - b
end

sumres = sum(value1, value2) --функция не считается, но припопытке получить значение,
subres = sub(sumres, value3) --происходит вычисление, со всеми переменными, которые функции требуют

value1 = 1
value2 = 2
value3 = 0.1 

print(subres) -- 2.9

P. S. Чисто концепт


Сообщение отредактировал Quant: 08 Март 2017 - 21:37


#7 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 207
  • Уровень сигнала: 15,49%
  • В игре: 117 час. 1 мин.
  • ГородЛуна

Награды

                       

Отправлено 08 Март 2017 - 21:48

...
 
Ты изобрел ленивые вычисления


#8 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 08 Март 2017 - 21:50

Я думаю вопрос разделения задачи на составные части нас вообще не должен волновать.

Мы - чисто исполнители.

 

Юзер сам думает, как ему разделить задачу.

Например юзеру надо перемножить числа от 1 до 400. (Это не слишком сложная задача, но для примера сойдёт.)

Он может юзать нашу либу так (псевдокод):

-- подключаем либы
local event = require('event')
local cluster = require('supercomputer')

-- инициализируем кластер
cluster.init()

-- тут генерим строки-программки, для нашей задачи
function step(x)
  return "local n = " .. tostring(x) .. "; for i = n, n+100 do n = n * i end; return n"
end

-- задаём кластеру несколько параллельных задач
cluster.setup("process1", step(1))
cluster.setup("process2", step(101))
cluster.setup("process3", step(201))
cluster.setup("process4", step(301))

-- запускаем на выполнение
cluster.run()

-- сюда будем складывать результаты
local result = 1

while true do
  -- слушаем эвенты от кластера
  local name, address, action, x = event.pull('cluster')

  if name == 'cluster' then
    -- если получили очередное вычисленное значение - добавляем к результату
    if action == 'result' then
      result = result * x
    -- если все "процессы" закончили работу - сворачиваемся
    else if action = 'done' then
      break
    end
  end
end

-- сбрасываем все задачи кластера, или "гасим" его или ещё что-то
cluster.reset()

-- выводим результат
print("Произведение чисел от 1 до 400 = " + result)

Тут мы раздали задачи кластеру, запустили, собрали ответы и получили результат. Вычисление заняло в 4 раза меньше времени (потенциально), чем если бы мы считали на одном процессоре.

Разумеется для мелких задач результат будет почти не заметен. Но на достаточно сложных вычислениях он должен проявляться сильнее.

 

Здесь программа очень проста. Нет отображениия промежуточных этапов и т.п.

Но идею иллюстрирует.


  • Ingr это нравится

#9 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 207
  • Уровень сигнала: 15,49%
  • В игре: 117 час. 1 мин.
  • ГородЛуна

Награды

                       

Отправлено 08 Март 2017 - 21:59

Например юзеру надо перемножить числа от 1 до 400. (Это не слишком сложная задача, но для примера сойдёт.)

 

Для такой задачи нужна библиотека-помощник для хранения таких огромных чисел. Будет 869 цифр.



#10 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 08 Март 2017 - 22:00

Для такой задачи нужна библиотека-помощник для хранения таких огромных чисел. Будет 869 цифр.

 

Да, тут надо продумать вопрос с тем, как поднять в кластере нужное окружение.

Можно скрипт для HPM замутить. =) Который будет окружение разворачивать.



#11 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 08 Март 2017 - 22:08

Что-то вы разбираете лёгкие примеры, а как насчёт более сложных алгоритмов, как их разбивать собираетесь?

Например как разбить алгоритм нахождения и заноса в таблицу простых чисел. Без многопоточности алгоритм используя таблицу с первыми простыми числами самозаполняет себя. А вот как разбить подобный алгоритм я вообще не в курсе, это реально?

Или вот пример, нужно рассчитывать и заносить числа Фибоначчи в таблицу. Как этот алгоритм собираетесь разбивать?

 

Для каких целей вообще собираетесь свою многопоточность использовать? Чтобы детские задачи решать???


  • HixOff это нравится

#12 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 08 Март 2017 - 22:10

Что-то вы разбираете лёгкие примеры, а как насчёт более сложных алгоритмов, как их разбивать собираетесь?

Например как разбить алгоритм нахождения и заноса в таблицу простых чисел. Без многопоточности алгоритм используя таблицу с первыми простыми числами самозаполняет себя. А вот как разбить подобный алгоритм я вообще не в курсе, это реально?

Или вот пример, нужно рассчитывать и заносить числа Фибоначчи в таблицу. Как этот алгоритм собираетесь разбивать?

 

Для каких целей вообще собираетесь свою многопоточность использовать? Чтобы детские задачи решать???

 

Очевидно что нереально разбить на потоки алгоритм, который разбить на потоки нереально.

Но это проблема юзера. Я не говорю, что либа будет панацеей.

 

Либа будет решать те задачи, какие потребуется выполнить пользователю. Не важно, детские или нет.



#13 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 207
  • Уровень сигнала: 15,49%
  • В игре: 117 час. 1 мин.
  • ГородЛуна

Награды

                       

Отправлено 08 Март 2017 - 22:10

Что-то вы разбираете лёгкие примеры, а как насчёт более сложных алгоритмов, как их разбивать собираетесь?

Например как разбить алгоритм нахождения и заноса в таблицу простых чисел. Без многопоточности алгоритм используя таблицу с первыми простыми числами самозаполняет себя. А вот как разбить подобный алгоритм я вообще не в курсе, это реально?

Или вот пример, нужно рассчитывать и заносить числа Фибоначчи в таблицу. Как этот алгоритм собираетесь разбивать?

 

Для каких целей вообще собираетесь свою многопоточность использовать? Чтобы детские задачи решать???

 

Распараллелить можно все почти, если руки прямые.


  • Totoro и Kartze это нравится

#14 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 08 Март 2017 - 22:35

Распараллелить можно все почти, если руки прямые.

Вот только дело в том, что задачи которые долго решаются, такого типа как я описал, судя по всему нельзя распараллелить. А это очень плохо.

И я всё ровно не понял, какая область применений у вашего распараллеливания. Он то по сути в майне то и не нужен. Может быть он поможет турели быстрее реагировать на цель? Или свинокоптеру летать быстрее (хотя стоит похоронить уже этот свинокоптер с приходом новой версии майна)

А может распараллеливание позволит роботу сканировать руды быстрее? Хм, вроде бы нет. Тогда зачем оно в майне?

 

Я бы понял, если бы вы как ECS стремились оптимизировать и улучшить графику, которую имеет смысл улучшать для создания видеоигр и лучшей работы отображения обычных программ. Но вы хотите сделать такую систему, которая будет давать преимущества не понятно для кого.

 

Сейчас по сути события в библиотеки event отлично справляются с частью задачей, которые вы собираетесь сделать. А именно они позволяют обрабатывать псевдоодновременно несколько задач.

А другая часть задач - решения более быстрее задач вообще никому не нужна.


Сообщение отредактировал qwertyMAN: 08 Март 2017 - 22:42

  • NEO и HixOff это нравится

#15 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 207
  • Уровень сигнала: 15,49%
  • В игре: 117 час. 1 мин.
  • ГородЛуна

Награды

                       

Отправлено 08 Март 2017 - 22:48

...

 

Хватит флудить не по делу, многопоточность это просто развлечение, как и сам майн


  • Totoro это нравится

#16 Оффлайн   PandaDoddo

PandaDoddo
  • Пользователи
  • Сообщений: 8
  • Уровень сигнала: 0,78%
  • В игре: 5 час. 53 мин.

Награды

     

Отправлено 08 Март 2017 - 23:04

Ребят , я так понимаю вы хотите делить задачу на куски а потом обратно собирать для увеличения скорости обработки? 


Сообщение отредактировал PandaDoddo: 08 Март 2017 - 23:05


#17 Оффлайн   Quant

Quant
  • Пользователи
  • Сообщений: 537
  • Уровень сигнала: 0,01%
  • В игре: 0 час. 4 мин.
  • Городinterface IQuant

Награды

     

Отправлено 08 Март 2017 - 23:06

Ребят , я так понимаю вы хотите делить задачу на куски а потом обратно собирать для увеличения скорости обработки? 

Да, разбивать задачу на куски и запускать на нескольких компах



#18 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 19,35%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 09 Март 2017 - 05:23

Я как-то занялся распараллеливанием вычислений через интернет, хотел связать несколько сотен компов/роботов на нескольких серверах, чтобы считать генетические алгоритмы, даже был алгоритм перераспределения задач при изменяющимся количестве компов (который придумали лет эдак за 60 до меня). Теоретически, результат можно было бы получать на порядки быстрей, но дело не дошло даже до пробного запуска, т. к. комп не тянет перегруженные модами сборки и меня закидали навозом всякие умники, обвиняя в нерациональном использовании ресурсов серверов.

 

Разбить на фрагменты можно любую задачу, но тут нужен баланс, некоторые задачи придется формулировать очень громоздко, как это делают на реальных суперкомпьютерах. Было-бы эффективней, если был бы транслятор, разбивающий любой алгоритм без участия пользователя, для этого надо изучить алгоритмы готовых распределенных вычислений. А связать это все вместе не составит большого труда.

 

Надо Квертику ограничить количество сообщений в день, т. к. он по любому вопросу ни в зуб ногой, но очень любит высказаться не подумав.



#19 Онлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 880
  • Уровень сигнала: 6,36%
  • В игре: 48 час. 1 мин.

Награды

                          

Отправлено 09 Март 2017 - 09:07

Теоретически, результат можно было бы получать на порядки быстрей, но дело не дошло даже до пробного запуска, т. к. комп не тянет перегруженные модами сборки и меня закидали навозом всякие умники, обвиняя в нерациональном использовании ресурсов серверов.

Нерациональное использование ресурсов серверов в большинстве случаев как раз и получится, OpenComputers не создавался для масштабных вычислений. Для вычислений гораздо эффективнее использовать внешние для Майнкрафта сервера.

Польза от такой библиотеки проявится не столько в вычислениях, сколько при обращениях ко всякого рода медленной периферии вроде отладочной платы.Но для этого есть средства попроще.

Сообщение отредактировал eu_tomat: 09 Март 2017 - 09:09

  • 1Ridav это нравится

#20 Оффлайн   Kartze

Kartze
  • Пользователи
  • Сообщений: 435
  • Уровень сигнала: 40,56%
  • В игре: 306 час. 24 мин.

Награды

              

Отправлено 09 Март 2017 - 10:26

Хм. Для каких конкретно вычислений можно будет задействовать данную... ээ... вещь? Возможно ли прикрутить эту опенкомпьютерную систему к реальной, типа BOINC?


  • HixOff это нравится

#21 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 09 Март 2017 - 11:16

Хм. Для каких конкретно вычислений можно будет задействовать данную... ээ... вещь? Возможно ли прикрутить эту опенкомпьютерную систему к реальной, типа BOINC?

 

А хрен его знает. Надо придумать.

Можно читать что-то с интернета в несколько потоков. Можно просчитывать буфферы для 3D графики. Можно мониторить табуны дронов.

 

Что касается BOINC - лучше подключи свой домашний комп. Нет смысла отдавать процессорные ресурсы нашего серва, да ещё таким хитровывернутым способом.



#22 Оффлайн   Seryoga

Seryoga
  • Пользователи
  • Сообщений: 108
  • Уровень сигнала: 0,34%
  • В игре: 2 час. 33 мин.
  • ГородSaint-Petersburg

Награды

        

Отправлено 09 Март 2017 - 11:16

Божечки кошечки. Да это же попытка #1000001 по созданию ОС для OpenComputers.
 

  1. Можете провести для меня эксперимент: "На сколько медленее работают N процессов на нескольких OC компах, чем на одном?"
    Просто у меня такое ощущение, что все компы в opencomputers исполняются в одном процессе
  2. Если вдруг будете пилить не забудьте сделать shared memory и system signals (SIGKILL, SIGINT, SIGSEGV и тп)
  3. КОД:
    supercomputer = require('supercomputer')
    Process = supercomputer.Process
    Pool = supercomputer.Pool
    Manager = supercomputer.Manager
    
    function handle(arg1, arg2, argN):
        variable = Process.share("variable", {1, 2, 3})
        sleep(5)
        lock = variable.get_lock()
        lock.close()
        variable.value = {1, 2, 8, 9}
        variable.value[3] = 12
        lock.open()
        sleep(3)
        lock = variable.get_lock()
        lock.close()
        variable.value[1] = 10
        variable.value[2] = 3
        lock.open()
        sleep(100)
        print(variable.value)
    end
    
    function mapper(datum)
        print(datum)
        return datum * 2
    end
    
    function main()
        manager = Manager()
    
        process = Process("process_1", handle, arg1, arg2, argN)
        process.start()
    
        variable = manager.get_shared(process, "variable")
        for i = 1, 10, 1
            print(i, variable.value)
            sleep(1)
    
        lock = variable.get_lock()
        lock.close()
        pool = Pool(10)
        variable.value = pool.map(variable.value, mapper, arg1, arg2, argN)
        lock.open()
        process.join()
    end
    
    main()
    
  4. ВЫВОД:
    1    1, 2, 3
    2    1, 2, 3
    3    1, 2, 3
    4    1, 2, 3
    5    1, 2, 3
    6    1, 2, 3
    7    1, 2, 12, 9
    8    1, 2, 12, 9
    9    10, 3, 12, 9
    10   10, 3, 12, 9
    3
    9
    10
    12
    20, 6, 24, 18

  • Doob это нравится

#23 Оффлайн   Kartze

Kartze
  • Пользователи
  • Сообщений: 435
  • Уровень сигнала: 40,56%
  • В игре: 306 час. 24 мин.

Награды

              

Отправлено 09 Март 2017 - 11:22

@Totoro, фракталы рисовать. Генетику Forestry, думаю, тоже можно прицепить, пусть я даже не знаю, как она работает :P 



#24 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 09 Март 2017 - 11:28

Божечки кошечки. Да это же попытка #1000001 по созданию ОС для OpenComputers.

 

WUT? Какая ОС, Серёга, ты о чём?

 

  1. Можете провести для меня эксперимент: "На сколько медленее работают N процессов на нескольких OC компах, чем на одном?"
    Просто у меня такое ощущение, что все компы в opencomputers исполняются в одном процессе

 

Официальная дока говорит, что не в одном, а в нескольких.

OpenComputers uses a fixed number of low-priority threads for coroutines to cause as little delay on the server tick as possible



#25 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 09 Март 2017 - 11:47

@Totoro, фракталы рисовать. Генетику Forestry, думаю, тоже можно прицепить, пусть я даже не знаю, как она работает :P 

Что?

Генетика Forestry основана на законе Менделя и своём внутриигровом шансе мутации. Там то по сути ничего просчитывать и не нужно. Можно просто на монитор допустим выдать характеристики с шансами их появления и отображать риски мутации. Но это может один комп запросто делать. Тут абсолютно не нужна многопоточность. Это элементарная задача.

Про Фракталы тебе уже ответил Лёха:

 

Хватит флудить не по делу, многопоточность это просто развлечение, как и сам майн

Как видишь, многопоточность придумана для детских вычислений по типу 2x2. А всякие сложные задачи на нахождения простых чисел, Фракталов и прочего им не под силам.   ;)

В этой теме тебе не дадут ответа, как решить сложную задачу. Можешь и не задать тут таких вопросов.


Сообщение отредактировал qwertyMAN: 09 Март 2017 - 11:50

  • HixOff это нравится

#26 Оффлайн   Kartze

Kartze
  • Пользователи
  • Сообщений: 435
  • Уровень сигнала: 40,56%
  • В игре: 306 час. 24 мин.

Награды

              

Отправлено 09 Март 2017 - 12:33

Потоки внутри потоков, которые находятся внутри потоков... Ой, борщииии...



#27 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 09 Март 2017 - 12:35

Вчера делали наброски в Кобре, но кто-то увел исходники. ivan52945 сделал нам бекап (http://pastebin.com/8HLqrPNa) за что ему спасибо  :)

 

Чтобы придать этому делу основательности, я зафигачил репозиторий на Github:

https://github.com/cc-ru/cluster

 

Там набросок ридмишки, лицензия и файлик с инструкциями для тех, кто захочет присоединиться (contributing).

Говорите ваши акки на Github, всех подключу.

Отдельные фичи пилим в отдельных ветках, чтобы не ломать ветку master, которая долна оставаться рабочей.

 

Как видишь, многопоточность придумана для детских вычислений по типу 2x2.

 

Я вот хз что ты пытаешься доказать. Что многопоточность в принципе ненужная штука? Тебя не смущает, что операционная система

в которой ты работаешь, сейчас поддерживает десятки активных потоков, которые обеспечивают тебе комфортную работу?



#28 Оффлайн   Kartze

Kartze
  • Пользователи
  • Сообщений: 435
  • Уровень сигнала: 40,56%
  • В игре: 306 час. 24 мин.

Награды

              

Отправлено 09 Март 2017 - 14:49

Нет смысла отдавать процессорные ресурсы нашего серва, да ещё таким хитровывернутым способом.

 

Как так нет смысла?!!1 А как же инопланетян искать??7?

Хотя... У сервера не так много мощности...)


Сообщение отредактировал Saintmare: 09 Март 2017 - 14:49


#29 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 09 Март 2017 - 14:57

Я вот хз что ты пытаешься доказать. Что многопоточность в принципе ненужная штука? Тебя не смущает, что операционная система в которой ты работаешь, сейчас поддерживает десятки активных потоков, которые обеспечивают тебе комфортную работу?

Вот только это работа моего компа в полную его мощь, а не какие-то грабли на скриптовом языке lua, который сам по себе не поддерживает многопоточность и работает медленнее других языков, так ещё и в моде на майнкрафт, который ещё больше урезает возможности lua.

Но и это не всё! В добавок ситуацию осложняет то, что в этом самом майне даже без многопоточности никто толком не использует не роботов, не голограммы, не дронов. А как вы уже писали выше, ваша многопоточность создана лишь для развлечения и ничем в игре итак помочь не способна.

 

По этому я "пытаюсь" доказать лишь то, что выше уже говорилось вашей командой раработчиков:

многопоточность это просто развлечение, как и сам майн

(в контексте именно многопоточности в ОС, а не многопоточности в целом)


Сообщение отредактировал qwertyMAN: 09 Март 2017 - 14:58

  • HixOff это нравится

#30 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 09 Март 2017 - 15:11

А если задача накроет ноду? :D Нода умрёт и её нужно будет в ручную запускать.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных