Lua Lanes и поддержка многоядерных процессоров: можно ли это сделать? - PullRequest
2 голосов
/ 28 января 2011

Lua Lanes говорит, что он обеспечивает поддержку многоядерности через многопоточность.Разве это не неправильно?Вам не нужно использовать несколько процессов, чтобы использовать преимущества нескольких ядер?Луа Лэйнс делает это?

Возможно, я неправильно понимаю, что они говорят.Вот отрывок с их сайта:

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

Спасибо

Ответы [ 2 ]

10 голосов
/ 28 января 2011

Это зависит от операционной системы, но большинство современных операционных систем (Windows, Linux / * nix, ...) распределяют задачи по ядрам / процессорам по потокам, а не по процессам.Таким образом, один процесс с несколькими потоками может быть запущен на нескольких ядрах.

Lanes использует реальные потоки ОС, а не легкие потоки Lua - сопрограммы, поэтому планировщик может фактически распределить его на несколько ядер.

2 голосов
/ 28 января 2011

Насколько я могу судить, они запускают несколько компьютеров Lua в рамках одного многопоточного процесса ОС.Они используют Lindas для общих данных Lua и IPC, но это не связано с IPC на уровне ОС и другими многопроцессорными издержками.

Обратите внимание, что я делаю вывод после просмотра вашей ссылки, а не после попытки запуска линий и т. Д.Я могу быть совершенно неправ.

...