Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
1

Как распределить ПО изначально таким не являющееся распределенным?

12.01.2016, 15:59. Показов 411. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется программа под Линукс, которая работает на одном компе, как сделать ее распределенной по n компам?
Может существуют какие-нибудь виртуальные машины.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2016, 15:59
Ответы с готовыми решениями:

Распределить числа от 1 до n по трем коробкам A, B, C, таким образом, чтобы выполнялись следующие условия
Распределить числа от 1 до n по трем коробкам A, B, C, таким образом, чтобы выполнялись следующие...

Распределить задачи для проверки учителем по дням таким образом, что количество затраченных дней было минимально
Подскажите пожалуйста решение! Хочу пройти в следующий тур Условие задачи В рамках подготовки к...

Создать static таким образом, чтобы его цвет был таким же, как у окна
Нужно создать метку таким образом чтобы цвет метки был таким же как у окна. HWND hLabelFrom =...

Как сохранить изображение являющееся application/octet-stream
Добра всем! Подскажите, плз, как сохранить на диск png- картинку, которую сервер возвращает как...

13
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
12.01.2016, 16:51 2
Программа рисует картинку, и нужно чтобы на каждом из компов она нарисовала часть картинки?
1
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
12.01.2016, 18:00  [ТС] 3
Программа производит математические вычисления и отображает результат и нужно, что бы между компами распределялись мат. вычисления и на каждом выводился результат.
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
12.01.2016, 20:30 4
Возможно, Вам нужно что-то типа MPI.
0
1824 / 732 / 99
Регистрация: 01.10.2012
Сообщений: 3,744
13.01.2016, 10:24 5
Для каких-то частных, специализированных случаев возможно и существуют накатанные решения, но в общем случае нет. Нужно передать "ноду" часть задачи (разумеется выделив ее), дождаться завершения (мониторинг) и забрать рез-т. Часто также добавляется работа: предусмотреть отказ нода и перераспределить нагрузку.

В общем, желание "проскочить на шару" вполне понятно - но вряд ли удастся
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
13.01.2016, 11:20 6
Knjagskij, грид или кластер?
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
13.01.2016, 11:59  [ТС] 7
Несколько обычных компьютеров (обычных рабочих мест) соединенных Ethernet. Если я правильно понял, что ЭВМы в гриде имеют большую степень связанности чем в кластере, то грид. Хотя , честно говоря, для меня различие между ними все-равно туманно...

Добавлено через 2 минуты
Цитата Сообщение от Shamil1 Посмотреть сообщение
Возможно, Вам нужно что-то типа MPI.
Как я понимаю таким способом на шару не прокатит?) Нужно сделать такую систему, что бы она работала, как один супер-компьютер из нескольких, и все ПО запускалось, как на обычном компе.
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
13.01.2016, 12:47 8
Цитата Сообщение от Knjagskij Посмотреть сообщение
Как я понимаю таким способом на шару не прокатит?) Нужно сделать такую систему, что бы она работала, как один супер-компьютер из нескольких, и все ПО запускалось, как на обычном компе.
Если написать программу (консольное приложение, выполняющие вычисления) на обычном языке программирования и запустить её на обычном компе, то она будет выполнятся в одном потоке одного процессора. На кластере (или в гриде) у Вас "на шару" будет такое же поведение.
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
13.01.2016, 14:58  [ТС] 9
Ведь, если я пишу однопоточное приложение, а у меня на компьютере много ядер, то ОС, как-то распределяет нагрузку между ядрами сама, вроде как. Можно ли сделать также на нескольких компьютерах какими-нибудь средствами?
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
13.01.2016, 16:37 10
Цитата Сообщение от Knjagskij Посмотреть сообщение
Ведь, если я пишу однопоточное приложение, а у меня на компьютере много ядер, то ОС, как-то распределяет нагрузку между ядрами сама, вроде как.
Нет. ОС грузит одно ядро, а остальные простаивают.

Добавлено через 7 минут
Задача распараллеливания не решается в общем виде. В некоторых случаях она вообще не решается. Например, если задача разбивается на мелкие шаги, каждый из которых требует на вход результат предыдущего шага, то задачу нельзя распараллелить.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
13.01.2016, 16:42 11
Цитата Сообщение от Knjagskij Посмотреть сообщение
как сделать ее распределенной по n компам?
Переписать исходник. По другому никак
0
1824 / 732 / 99
Регистрация: 01.10.2012
Сообщений: 3,744
14.01.2016, 08:58 12
Цитата Сообщение от Knjagskij Посмотреть сообщение
Ведь, если я пишу однопоточное приложение, а у меня на компьютере много ядер, то ОС, как-то распределяет нагрузку между ядрами сама, вроде как.
ОС распределяет нагрузку для нескольких/многих запущенных ниток. Но это Вы должны создать, запустить эти нитки и дать им работу. А по умолчанию за Вас это никто делать не будет, приложение выполняется в одной (главной) нитке.

Цитата Сообщение от Knjagskij Посмотреть сообщение
Можно ли сделать также на нескольких компьютерах какими-нибудь средствами?
Распараллеливание и распределенность - совершенно разные задачи. В конкретном случае обе могут оказаться нереализуемыми - ну вот не удается разбить задачу на части.

Поэтому вместо поисков "чудесного философского камня" лучше подумать как разбить, т.е. выделить часть вычислений скармливаемых одному ноду.
0
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
14.01.2016, 12:59 13
В двух словах что считать? Просто интересно.
1)гугл “параллельные вычисления Mathematica”
https://ru.wikipedia.org/wiki/GridMathematica
И поиск аналогов возможно в Mathcad и т.д.
2)неграфические на спец видеокарте быстрей грида?
3) Самодельный аппаратный решатель задачи на ПЛИС и подобном. Жесть и экзотика =).
0
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
15.01.2016, 10:21  [ТС] 14
Excalibur921, просто гипотетическая задача)
0
15.01.2016, 10:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2016, 10:21
Помогаю со студенческими работами здесь

Как записать данные в поле структуры, являющееся массивом?
Доброго времени суток! Есть задача: записать данные в поле структуры, являющееся массивом. Понимаю,...

Как сделать requiredfieldvalidator видимым изначально?
Привет! как сделать requiredfieldvalidato видимым изначально, а не только после того, как он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru