The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Открыт код системы распределённой памяти Galaxy"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от opennews on 12-Июл-12, 05:47 
Компания Parallel Universe объявила (http://blog.paralleluniverse.co/post/26909672264/on-distribu...) об открытии под лицензией LGPLv3 системы распределённой памяти Galaxy (http://puniverse.github.com/galaxy/) (in-memory data-grid), предназначенной для создания распределённых приложений, выполняемых на нескольких узлах, обрабатывающих единый массив данных. Galaxy берёт на себя функции распределения объектов данных, хранимых в виде байтового массива, между различными узлами кластера, создавая для запущенного на нескольких узлах приложения иллюзию, что работа ведётся с монолитной областью памяти.


При организации работы распределённой памяти возникает необходимость решения трёх проблем: выбор на каком узле потребуется та или иная порция данных, в ситуации когда все данные не умещаются в памяти одного узла; обеспечение непротиворечивости данных, при том, что один и тот же блок может одновременно обрабатываться и дублироваться на нескольких узлах; защита от потери/повреждения данных в случае сбоя узла кластера или возникновении сетевых проблем.


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

Для оптимизации производительности каждый объект данных ассоциируется с определённым узлом-владельцем, который выбирается по степени интенсивности работы с объектом данных. Когда с объектом работает узел владелец данные обрабатываются локально с минимальными задержками, при обращении к данному блоку с другого узла выполняются дополнительные действия по синхронизации состояния между узлами. В пределах всего кластера гарантируется согласованность всех данных, например, если блок Б изменён после изменения блока А, то гарантируется, что ни на одном узле не может оказаться новый блок А и старый Б. Для обеспечения отказоустойчивости, данные могут дублироваться на дополнительных узлах.

Galaxy не является традиционным хранилищем данных в формате ключ/значения, но при желании может быть использован в качестве низкоуровневого базиса для создания подобных систем и произвольных распределённых структур данных. Кроме того, Galaxy предоставляет средства для обмена сообщениями с гарантированной доставкой и сохранением порядка следования, а также обеспечивает работу сервиса по управлению конфигурацией кластера. Для управления кластером поддерживается интеграция с системами ZooKeeper и JGroups. Для обеспечения постоянного хранения содержимого распределённой памяти может быть использована БД BerkeleyDB и любые SQL СУБД. Код компонентов Galaxy написан (https://github.com/puniverse/galaxy) на языке Java.

URL: http://blog.paralleluniverse.co/post/26909672264/on-distribu...
Новость: http://www.opennet.me/opennews/art.shtml?num=34313

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Открыт код системы распределённой памяти Galaxy"  +6 +/
Сообщение от MaMoHT on 12-Июл-12, 05:47 
> Код компонентов Galaxy написан на языке Java.

Последнее предложение перечекнула всю статью. Хоть с конца текст новости читай. Обидно...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от DV (ok) on 12-Июл-12, 06:25 
Автор, в чём проблема-то? "Потому что здесь так принято"? Всякий раз когда  на opennet упоминается Java находятся желающие поплеваться в неё. Чем Вам Java не угодила, замечательный и простой язык, который легко выучить, а людей, знающих СИ от и до, в мире всего несколько человек. Превосходные библиотеки классов, переносимость, встроенные средства параллельного программирования, туевы хучи библиотек. Медленно работает, ест память? Лекарство от криворукости — умные книжки, особливо Джошуа Блоха. У каждого языка свои особенности и чтобы не гадить в память и не занимать процессор нужно их знать и понимать.
У меня знакомая — аспирант кафедры системного программирования — пишет в цикле:
String s = new String();
s = "data # " + arg[0] + " " + arg[1];
потом ругается, что ей Java не нравится из-за тормознутости.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 07:04 
Ой, «набигут» сейчас толпы хелловурлдщиков и скрипт-кидди, разбрасывая слюну, рассказывать какая Java плохая…
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

17. "Открыт код системы распределённой памяти Galaxy"  –3 +/
Сообщение от Аноним (??) on 12-Июл-12, 11:44 
>  Ой, «набигут» сейчас толпы хелловурлдщиков и скрипт-кидди, разбрасывая слюну, рассказывать какая Java плохая…

Эти как раз жабу любят, потому что ничего кроме нее осилить не смогли.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Открыт код системы распределённой памяти Galaxy"  +8 +/
Сообщение от Аноним (??) on 12-Июл-12, 08:24 
> Медленно работает, ест память? Лекарство от криворукости — умные книжки, особливо Джошуа Блоха.

Где я возьму столько умных книжек, в том числе и Джошуа Блоха, чтобы послать их каждому криворукому жабакодеру, с поделиями которого приходится работать?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Открыт код системы распределённой памяти Galaxy"  +4 +/
Сообщение от rshadow (ok) on 12-Июл-12, 08:52 
Все правильно сказал. Легкий в освоении, красивый язык -> низкий порог вхождения -> толпы говнокодеров -> проектов много а толку мало. Профи обижаются...
И это не считая тормозов и кушанья памяти... с этим все профи уже смерились и забываются иногда до того что начинают с пеной у рта доказывать что это не так :-)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

50. "Открыт код системы распределённой памяти Galaxy"  –2 +/
Сообщение от Аноним (??) on 12-Июл-12, 15:30 
> Все правильно сказал. Легкий в освоении, красивый язык -> низкий порог вхождения
> -> толпы гoвнокодеров -> проектов много а толку мало. Профи обижаются...

По сути дела, java - это нишевый аналог PHP.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

54. "Открыт код системы распределённой памяти Galaxy"  +4 +/
Сообщение от edwin3d email on 12-Июл-12, 15:38 
>> Все правильно сказал. Легкий в освоении, красивый язык -> низкий порог вхождения
>> -> толпы гoвнокодеров -> проектов много а толку мало. Профи обижаются...
> По сути дела, java - это нишевый аналог PHP.

Гхм .... вообще-то сравнивать Java и PHP некорректно.
PHP - вообще говоря собранная на коленке скриптомолотилка, а Java - полноценный язык, который если и сравнивать, то уже явно не с PHP
К слову если брать Web приложения. то PHP даже со всеми акселераторами медленне (особенно это заметно на сложных приложениях) контейнера сервлетов аля TomCat.


Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

61. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Аноним (??) on 12-Июл-12, 15:45 
> Гхм .... вообще-то сравнивать Java и PHP некорректно.
> PHP - вообще говоря собранная на коленке скриптомолотилка, а Java - полноценный язык, который если и сравнивать, то уже явно не с PHP

С тем же успехом можно утверждать, что
> Java - вообще говоря собранная на коленке скриптомолотилка, а PHP - полноценный язык, который если и сравнивать, то уже явно не с Java

Суть утверждения от этого не изменится =)

> К слову если брать Web приложения. то PHP даже со всеми акселераторами медленне (особенно это заметно на сложных приложениях) контейнера сервлетов аля TomCat.

Очень сложно работать медленнее томката. Пых с этим обычно не справляется. Даже на питоне это порой бывает трудно обеспечить.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

66. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от edwin3d email on 12-Июл-12, 16:04 
> Очень сложно работать медленнее томката. Пых с этим обычно не справляется. Даже
> на питоне это порой бывает трудно обеспечить.

Спасибо, посмелся от души.
А Вы осильте программирование сервлетов да настройку TomCat и сравните .. если руки не растут из пятой точки, то получите быстрее даже, чем с eaccelerator.
Также задам простой вопрос: если PHP так хорош, то зачем тод-же Facebook вложит кучу сил и денег в разработку конвертера PHP -> C++ ?


Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

89. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Fomalhaut on 14-Июл-12, 21:44 
Обратите внимание: не в PHP -> Java
Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

59. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 12-Июл-12, 15:42 
:-D Вот это уже реально смешно.
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

83. "Открыт код системы распределённой памяти Galaxy"  –1 +/
Сообщение от Аноним (??) on 13-Июл-12, 02:24 
По сути дела, Java - это Cobol.
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

6. "Открыт код системы распределённой памяти Galaxy"  –1 +/
Сообщение от myc on 12-Июл-12, 08:58 
Код, написанный на C, можно заюзать в проектах на других языках программирования, код на Java - увы, только в Java проектах.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

79. "Открыт код системы распределённой памяти Galaxy"  +5 +/
Сообщение от umbr (ok) on 12-Июл-12, 21:35 
Зато в Java-проекте можно заюзать код написанный на любом языке :)
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

90. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Fomalhaut on 14-Июл-12, 21:45 
Это !=
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

7. "Открыт код системы распределённой памяти Galaxy"  –2 +/
Сообщение от kurokaze (ok) on 12-Июл-12, 09:38 
>а людей, знающих СИ от и до, в мире всего несколько человек

спасибо, посмеялся с утра.
тото подавляющее число пакетов в репе дистра на сях и плюсах написана. наверное их все 2-3 человека пишут, гггг, "суперкодер" и "человек-страуструп"

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

14. "Открыт код системы распределённой памяти Galaxy"  –2 +/
Сообщение от anonymous (??) on 12-Июл-12, 11:32 
Он просто не отличает чистый си от плюсов. Или я слишком хорошего мнения о людях.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Открыт код системы распределённой памяти Galaxy"  –5 +/
Сообщение от Аноним (??) on 12-Июл-12, 10:03 
> s = "data # " + arg[0] + " " + arg[1];

Конкретно тут на современной яве быстроты не особо достигнешь.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

16. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от piteri (ok) on 12-Июл-12, 11:38 
Вот и живой пример.
Читать надо было сюды:
>...пишет в цикле:
>String s = new String();

.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

23. "Открыт код системы распределённой памяти Galaxy"  –3 +/
Сообщение от Аноним (??) on 12-Июл-12, 11:56 
Вот и живой пример, незнающий что оператор + медленнее метода append()
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

30. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от piteri (ok) on 12-Июл-12, 13:15 
Если не разбираетесь в вопросе лучше помолчать - умнее казаться будете.
Пройдя по этой ссылке http://docs.oracle.com/javase/6/docs/api/java/lang/String.html любой легко убедиться что класс String не содержит метода append
Предположим что вы имели в виду StringBuilder, он действительно содержит метод append, но только в данном случае его лучше не использовать, производительность просядет в разы.

Основная ошибка в приведённом коде - бесполезная инициализация строковой переменной, т.е. написать следовало
либо так
String string;
for (...) {
    ...
    string = "data # " + arg[0] + " " + arg[1];
    ...
}

либо так

for (...) {
    ...
    String string = "data # " + arg[0] + " " + arg[1];
    ...
}

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

36. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Stocker on 12-Июл-12, 14:16 
>Если не разбираетесь в вопросе лучше помолчать - умнее казаться будете.

Вот это в первую очередь к Вам и относится :)
А StringBuilder вообще зачем по - вашему нужен?

А теперь внимание, ВНЕЗАПНО, внутри JVM конструкция вида str1 + str2 преобразуется в new StringBuilder(str1).append(str2).toString()
"+" это только лишь синтактический сахар.
Именно поэтому конкатенация двух строк плюсом это нормально, а в цикле будет создан миллион ненужных StringBuilder'ов.

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

38. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от Аноним (??) on 12-Июл-12, 14:35 
Ну что с него взять, вероятно преподаватель.))) Отожгли оба но аноним ошибся больше. И так Аноним 2 бала. piteri 3 с плюсом (за все же поверхностное знание о чем идет речь).
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

51. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от piteri (ok) on 12-Июл-12, 15:31 
> Ну что с него взять, вероятно преподаватель.))) Отожгли оба но аноним ошибся
> больше. И так Аноним 2 бала. piteri 3 с плюсом (за
> все же поверхностное знание о чем идет речь).

Где именно я показал "поверхностные знания", разрешите уточнить?

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

58. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от piteri (ok) on 12-Июл-12, 15:40 
перечитал свой пост, вопрос снят.

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

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

65. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 16:03 
+ Если оптимизация действительно нужна и цикл предположительно выполняется не малое количество итераций, то существенно ускорить процесс можно вынеся StringBuilder (по факту после компиляции он будет создаваться в каждой итерации) за цикл:

StringBuilder sb = new StringBuiler();

for (...) {
    ...
    sb.append("data # ").append(arg[0]).append(" ").append(arg[1]);
    string = sb.toString();
    sb.setLength(0);
    ...
}

Таким образом мы как минимум уберем создание одного промежуточного массива внутри sb на каждую итерацию и вероятно очень существенно сократим количество расширение этого массива в процессе добавления туда данных + на каждую итерацию мы убираем создание StringBuilder. В идеале, возможно в схожих ситуациях вообще можно отказаться от типа String. Так как при каждом sb.toString() будет создаваться копия массива с символами, что в самом конечном итоге приводит к лишнему использованию кэша процессора, не говоря об дополнительных операциях копирования.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

31. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 13:21 
Ну не оправдывайтесь, тест провалили. Касательно операторов, все зависит от компилятора, в байт-коде подобных операторов нет. Домашнее задание: сравните с помощью дизассемблера код полученный в результате компиляции ECJ (Eclipse compiler for java) и с помощью javac.

Отступ. На C++ можно тоже очень медленную программу написать если на каждый чих создавать/уничтожать объект оператором new/delete. В Java такой подход работает очень шустро в C++ очень медленно (в зависимости еще от компиляторов конечно). Но в общем это сказывается на отзывчивости. Так в Java объекты на практике возможно (в зависимости от примера) будут удалены в момент простоя (я так вообщем, понятно, вариантов множество как и вариантов реализаций виртуальных машин и т.п., но тут лекцию не устроишь), тогда как в C++ вероятно удаление объектов будет отрабатывать в основном потоке выполнения. Не холивара ради, C++ прекрасный язык, если что и у него как и Java есть свои особенности.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

33. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Анонимъ on 12-Июл-12, 13:35 

> Отступ. На C++ можно тоже очень медленную программу написать если на каждый
> чих создавать/уничтожать объект оператором new/delete. В Java такой подход работает очень
> шустро в C++ очень медленно (в зависимости еще от компиляторов конечно).

Если у Вас система создает\уничтожает много объектов - напишите свою собственную реализацию new\delete использовав slab аллокацию объектов и Ваша медленная программа станет настолько быстрой, что никакая жаба не угонится.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

35. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 13:47 
То что я пытался донести, Вы не поняли.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

42. "Открыт код системы распределённой памяти Galaxy"  +3 +/
Сообщение от ДяДя on 12-Июл-12, 15:16 
>Не холивара ради, C++ прекрасный язык, если что и у него как и Java есть свои особенности.

Главная особенность C++ :

«Я придумал термин „объектно-ориентированный“, но я вовсе не имел в виду C++.»
Alan Kay. Создатель Smalltalk

:-D

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

11. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от edwin3d email on 12-Июл-12, 10:23 
> потом ругается, что ей Java не нравится из-за тормознутости.

К слову почему-то о том, что якобы java де "тормозит" в основном приходится слышать от тех, что серьзно с ней не работал и пользоватся не умеет ...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

15. "Открыт код системы распределённой памяти Galaxy"  +7 +/
Сообщение от anonymous (??) on 12-Июл-12, 11:34 
>> потом ругается, что ей Java не нравится из-за тормознутости.
> К слову почему-то о том, что якобы java де "тормозит" в основном
> приходится слышать от тех, что серьзно с ней не работал и
> пользоватся не умеет ...

Java is high performance. By high performance we mean adequate. By adequate we mean slow.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от Аноним (??) on 12-Июл-12, 11:46 
> К слову почему-то о том, что якобы java де "тормозит" в основном
> приходится слышать от тех, что серьзно с ней не работал и
> пользоватся не умеет ...

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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

25. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от edwin3d email on 12-Июл-12, 12:18 
>> К слову почему-то о том, что якобы java де "тормозит" в основном
>> приходится слышать от тех, что серьзно с ней не работал и
>> пользоватся не умеет ...
> Потому что опытные пользователи жабы уже давно привыкли и смирились.
> Для них скорость - уже не главное.

Пример:
Отрасль: Телекоммуникации и связь.
Объект: Программные коммутаторы (читай телефонные станции с соот. требованиями к как надежности так и производительности).
Так очень многие их них написаны на Java.
Вот к примеру - продукты компании VocalTec (далеко не лузер) написаны на Java.
  


Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

47. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Аноним (??) on 12-Июл-12, 15:24 
> Объект: Программные коммутаторы (читай телефонные станции с соот. требованиями к как надежности так и производительности).
> Так очень многие их них написаны на Java.

 
> Java
> производительности

Одна из черепашек явно звездит.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

82. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Michael Shigorin email(ok) on 13-Июл-12, 00:57 
> Отрасль: Телекоммуникации и связь.
> Объект: Программные коммутаторы

Писать на Java то, что лучше писать на Erlang -- это, безусловно, яркий пример.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

84. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от тень_pavel_simple on 13-Июл-12, 07:43 
>> Отрасль: Телекоммуникации и связь.
>> Объект: Программные коммутаторы
> Писать на Java то, что лучше писать на Erlang -- это, безусловно,
> яркий пример.

только один момент, для java чаще всего есть Весь необходимый инструментарий от IDE до множества биндингов а у Erlang'а окрjмя заявленых мегафич нет ничего.

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

87. "Открыт код системы распределённой памяти Galaxy"  –1 +/
Сообщение от Michael Shigorin email(ok) on 13-Июл-12, 18:26 
>>> Отрасль: Телекоммуникации и связь.
>>> Объект: Программные коммутаторы
>> Писать на Java то, что лучше писать на Erlang -- это, безусловно,
>> яркий пример.
> только один момент

...erlang и создавался для магистральных коммутаторов.  Вместо общих слов смотрите хоть иногда, что с чем сравниваете.

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

93. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от тень_pavel_simple on 16-Июл-12, 18:55 
> ...erlang и создавался для магистральных коммутаторов.  Вместо общих слов смотрите хоть
> иногда, что с чем сравниваете.

именно

Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

94. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Michael Shigorin email(ok) on 16-Июл-12, 20:09 
Вот и подумайте, что лучше -- теплоход со всеми удобствами в пустыне или "корабль пустыни" без штурвала, зато ходкий. :)

Из занятного: Армстронг со товарищи одним из первых нашумевших в узких кругах примеров реализовали на таком маршрутизаторе эрланговый httpd, сходу выдавший какие-то дикие количества одновременно поддерживаемых соединений...

Ответить | Правка | ^ к родителю #93 | Наверх | Cообщить модератору

96. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 17-Июл-12, 02:26 
При этом Erlang - это виртуальная машина. На одном потоке примерно в два раза медленнее Java.
Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

97. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Michael Shigorin email(ok) on 17-Июл-12, 02:32 
> На одном потоке

Чего именно?

Ответить | Правка | ^ к родителю #96 | Наверх | Cообщить модератору

98. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от тень_pavel_simple on 18-Июл-12, 18:01 
>> На одном потоке
> Чего именно?

я правда не хочу объяснять глубины глубин, особенно приведённые аналогии .... вооообще телеком ничем в данном случае не отличается от других направлений в программировании, т.е. параметры выбора платформы :
1. наличие возможности реализовать задуманное (можно сильно развернуть)
2. наличие кадров
3. наличие средств разработки и инструментария
4. возможность поддержки и развития продукта сторонними (не изначальным разработчиком) силами
5. бабки

раставте плюсики.
точка.

Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

99. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Michael Shigorin email(ok) on 18-Июл-12, 19:33 
> я правда не хочу объяснять глубины глубин, особенно приведённые аналогии

Спросил к тому, что поток потоку рознь.  В том числе важно то, _что_ крутится в глубоких циклах, а также количество этих самых потоков.

> .... вооообще телеком ничем в данном случае не отличается от других направлений
> в программировании, т.е. параметры выбора платформы :

Ну да, конечно.  Отказ в обслуживании миллиону-другому абонентов совершенно ничем не отличается от GPF отдельно взятой винды, а звонки раскладывать можно и итерируя где-нибудь в байт-коде.

Одни мыслящие подобно запихали J2ME в управляющую систему АЭС, вот только garbage collection никуда не делся -- и чем при инциденте помогло наличие IDE?

> 1. наличие возможности реализовать задуманное (можно сильно развернуть)
> 2. наличие кадров
> 3. наличие средств разработки и инструментария

См., к примеру, http://ftp.linux.kiev.ua/pub/Linux/xpandrx/highload_2011.pdf (слайд 6).

> 4. возможность поддержки и развития продукта сторонними (не изначальным разработчиком)
> силами

Это относительно ортогонально в случае сколь-нибудь распространённой технологии (по которой не два спеца на всю планету).

> 5. бабки

Это ортогонально почти совсем.

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

100. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от тень_pavel_simple on 18-Июл-12, 21:03 
>> я правда не хочу объяснять глубины глубин, особенно приведённые аналогии
> Спросил к тому, что поток потоку рознь.  В том числе важно
> то, _что_ крутится в глубоких циклах, а также количество этих самых
> потоков.
>> .... вооообще телеком ничем в данном случае не отличается от других направлений
>> в программировании, т.е. параметры выбора платформы :
> Ну да, конечно.  Отказ в обслуживании миллиону-другому абонентов совершенно ничем не
> отличается от GPF отдельно взятой винды, а звонки раскладывать можно и
> итерируя где-нибудь в байт-коде.

Практика -- критерий истины, ну нету ничего для телекома интересного в этой специфичной платформе, телеком и многие другие уже выбрали Java/python/perl и конечно-же це в зависимости от специфики решаемых задач. Те же сип коммутаторы, начиная от asterisk, ser с отпрысками, заканчивая менее известными yate сплошником на сях писаны, и не чего маштабируются в ширь, и да может не так как хотелось-бы но...
Но гугол говорит что на ерланге например ничего путного для вышеупомянотого sip или того-же h323 с собратьями вообще ничего открытого нет, а от попыток реализовать, сквозь смех слезы провываются
> Одни мыслящие подобно запихали J2ME в управляющую систему АЭС, вот только garbage
> collection никуда не делся -- и чем при инциденте помогло наличие
> IDE?

Михаил, вы меня таки удивляете, например тем, что технически грамотный человек может сравнивать j2me со стантартной VM, притятутая за уши несчастная АЭС ...
>> 1. наличие возможности реализовать задуманное (можно сильно развернуть)
>> 2. наличие кадров
>> 3. наличие средств разработки и инструментария
> См., к примеру, http://ftp.linux.kiev.ua/pub/Linux/xpandrx/highload_2011.pdf (слайд
> 6).
>> 4. возможность поддержки и развития продукта сторонними (не изначальным разработчиком)
>> силами
> Это относительно ортогонально в случае сколь-нибудь распространённой технологии (по которой
> не два спеца на всю планету).

Нет, это крайне важно иметь прямо в зоне непосредственной видимости человека, понимать его плюсы и минусы а не сферического кодера с ЧСВ over9000
>> 5. бабки
> Это ортогонально почти совсем.

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

Хотелось-бы прамой ответ на слндующий вопрс , вы правда считаете что такая маргинальная платформа как ерланг расматривалась-бы вами в качестве подходящей для постриения программного продукта?

Заз обшибки прошу простить, таблетка плюс кривые руки.

Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

101. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Michael Shigorin email(ok) on 18-Июл-12, 21:52 
> ну нету ничего для телекома интересного в этой специфичной платформе,
> телеком и многие другие уже выбрали Java/python/perl и конечно-же
> це в зависимости от специфики решаемых задач.

Даже не смешно (хотя и жаба, и P/P/P, и тикль, и C/C++ по знакомым телекомам вовсю используются).

> Те же сип коммутаторы, начиная от asterisk, ser с отпрысками, заканчивая менее
> известными yate сплошником на сях писаны, и не чего маштабируются в ширь

Особенно хорошо астериски масштабировались с теми digium'овскими же карточками, которые на PCI устраивали передачу данных bit banging'ом... ладно, это опять про другое, хотя железячники оценят.

> Но гугол говорит что на ерланге например ничего путного для вышеупомянотого sip

Он в чуточку другой нише вообще-то, см. хотя бы #87. :)  А конкретно по SIP лучше бы спросить Dear Netch.

>> Одни мыслящие подобно запихали J2ME в управляющую систему АЭС, вот только garbage
>> collection никуда не делся -- и чем при инциденте помогло наличие IDE?
> Михаил, вы меня таки удивляете, например тем, что технически грамотный человек
> может сравнивать j2me со стантартной VM

ME полегче по части GC, на что и пронадеялись.

> притятутая за уши несчастная АЭС ...

Два ошпаренных радиоактивной водой человека в том случае -- пример последствий выбора платформы по цвету IDE вместо ТТХ на местности.

>>> 4. возможность поддержки и развития продукта сторонними
>>> (не изначальным разработчиком) силами
>> Это относительно ортогонально в случае сколь-нибудь распространённой технологии
> Нет, это крайне важно иметь прямо в зоне непосредственной видимости человека,
> понимать его плюсы и минусы а не сферического кодера с ЧСВ over9000

В качестве сторонних сил или изначального разработчика? (не уловил)

> Хотелось-бы прамой ответ на слндующий вопрс , вы правда считаете что такая
> маргинальная платформа как ерланг расматривалась-бы вами в качестве подходящей
> для постриения программного продукта?

Здрасьте, мы на ней управляющую ферму "Ломоносова" в МГУ и поднимали.  Ссылку на презентацию дал -- гляньте при возможности, там циферки есть.

Ответить | Правка | ^ к родителю #100 | Наверх | Cообщить модератору

102. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от тень_pavel_simple on 18-Июл-12, 22:27 
>> ну нету ничего для телекома интересного в этой специфичной платформе,
>> телеком и многие другие уже выбрали Java/python/perl и конечно-же
>> це в зависимости от специфики решаемых задач.
> Даже не смешно (хотя и жаба, и P/P/P, и тикль, и C/C++
> по знакомым телекомам вовсю используются).

Т.е. я правильно понял что в вам лично знакомых телекомах ерлангом успешно пользуются, можно если не секрет спросить в каких именно задачах?
>> Те же сип коммутаторы, начиная от asterisk, ser с отпрысками, заканчивая менее
>> известными yate сплошником на сях писаны, и не чего маштабируются в ширь
> Особенно хорошо астериски масштабировались с теми digium'овскими же карточками, которые
> на PCI устраивали передачу данных bit banging'ом... ладно, это опять про
> другое, хотя железячники оценят.

Вот именно, у меня начинает складывается что вы целеноправленно передергиваете, потому как тема была исключительно о программных коммутаторах и использовании в этих целях ерланга
>> Но гугол говорит что на ерланге например ничего путного для вышеупомянотого sip
> Он в чуточку другой нише вообще-то, см. хотя бы #87. :)  
> А конкретно по SIP лучше бы спросить Dear Netch.

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

>>> Одни мыслящие подобно запихали J2ME в управляющую систему АЭС, вот только garbage
>>> collection никуда не делся -- и чем при инциденте помогло наличие IDE?
>> Михаил, вы меня таки удивляете, например тем, что технически грамотный человек
>> может сравнивать j2me со стантартной VM
> ME полегче по части GC, на что и пронадеялись.

Михаил , ваши знания относительно Java а точнее jvm + Java язык в каком-то месте сильно перепутаны, потому как javame это собственно совершенно другая платформа, и упамянать её собственно не имело никакого смысла
>> притятутая за уши несчастная АЭС ...
> Два ошпаренных радиоактивной водой человека в том случае -- пример последствий выбора
> платформы по цвету IDE вместо ТТХ на местности.

Про эту грустную историю тоже, ибо выше
>>>> 4. возможность поддержки и развития продукта сторонними
>>>> (не изначальным разработчиком) силами
>>> Это относительно ортогонально в случае сколь-нибудь распространённой технологии
>> Нет, это крайне важно иметь прямо в зоне непосредственной видимости человека,
>> понимать его плюсы и минусы а не сферического кодера с ЧСВ over9000
> В качестве сторонних сил или изначального разработчика? (не уловил)

Берём hh.ru как пример, хотя свет клином на нём именно не сошелся, можно и кого другого, и ищем себе под задачу кадры, и не важно начинаем мы только иль необходима поддержка.


>> Хотелось-бы прамой ответ на слндующий вопрс , вы правда считаете что такая
>> маргинальная платформа как ерланг расматривалась-бы вами в качестве подходящей
>> для постриения программного продукта?
> Здрасьте, мы на ней управляющую ферму "Ломоносова" в МГУ и поднимали.  
> Ссылку на презентацию дал -- гляньте при возможности, там циферки есть.

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

Ответить | Правка | ^ к родителю #101 | Наверх | Cообщить модератору

103. "(offtopic) адекватность технологий задачам"  +/
Сообщение от Michael Shigorin email(ok) on 19-Июл-12, 01:04 
> Т.е. я правильно понял что в вам лично знакомых телекомах ерлангом успешно
> пользуются, можно если не секрет спросить в каких именно задачах?

Сказано же -- эрикссоновские магистральные свичи.  Если интересно, гляньте http://www.erlang-factory.com/upload/presentations/416/MikeW... -- там разобрано подробней ;-)

> Вот именно, у меня начинает складывается что вы целеноправленно передергиваете

Просто танки обсуждаете вместе со знакомыми велосипедиками.  Уж не знаю, целенаправленно ли, но зрелище печальное.

> потому как тема была исключительно о программных коммутаторах

Перечитайте #25, на которое отвечал.  Если что -- астериск в альт собирал ещё в 2003, помнится, и немножко отличаю сегменты telco и SOHO.

> Обязательно поинтерисуютесь, вдруг я хлопок пропустил

</irony>

> заодно быть может вам про биллинг какой или там радиус с дхцп подскажут,
> это как никак чисто телекомовские атрибуты

Разве что RADIUS -- биллинги и тем более реализации DHCP встречаются намного шире.  Кстати, эрланговый dhcpd, умеющий 10k запросов в секунду, у нас тоже написали -- ISC-шный выдыхался заметно раньше.

> Михаил , ваши знания относительно Java а точнее jvm + Java язык
> в каком-то месте сильно перепутаны, потому как javame это собственно совершенно
> другая платформа, и упамянать её собственно не имело никакого смысла

Упомянул как факт неадекватного выбора технологии (причём SE/EE были бы _ещё_ более неадекватными задаче).  Неужели настолько непонятно?

> Берём hh.ru как пример, хотя свет клином на нём именно не сошелся,
> можно и кого другого, и ищем себе под задачу кадры, и
> не важно начинаем мы только иль необходима поддержка.

Брр.  Мы сами вырастили нужное количество на проект, например.  Вы же не думаете, что программистов на hh с завода привозят? :)

> К большому сожалению не разглядел особенно ничего интересного, что должнобыть
> правильно ибо больше похоже на маркетиговую листовку

Можно посмотреть Ваши слайды к докладу, принятому на любую техническую конференцию сравнимого уровня? (извините, если вышло "сперва добей" -- но взялись судить, предъявите квалификацию)

> но то что шину сообщений пришлось писать самим - оценил

Погоняйте 400Mbps со сложной структурой на имеющихся, тогда эти слова будут хоть чего-то стоить.

Н-да, опять офтопик развели.  Закругляюсь.

Ответить | Правка | ^ к родителю #102 | Наверх | Cообщить модератору

104. "(offtopic) адекватность технологий задачам"  +1 +/
Сообщение от ДяДя on 19-Июл-12, 17:18 
>Упомянул как факт неадекватного выбора технологии (причём SE/EE были бы _ещё_ более неадекватными задаче).  Неужели настолько непонятно?

Каким бы хорошим не выглядел Erlang, но от сборщика мусора его не освобождали. Неожиданные сборки также возможны.

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

105. "(offtopic) адекватность технологий задачам"  +/
Сообщение от ДяДя on 19-Июл-12, 17:34 
И кстати вот: http://shootout.alioth.debian.org/u64q/benchmark.php?test=al...

В производительности Erlang ЗАМЕТНО сливает, а по памяти примерно 50/50.

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

85. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 13-Июл-12, 11:41 
Erlang с успехом можно использовать во многих предметных областях.
Сама платформа уже сейчас позволяет очень многое, но девелоперская инфраструктура на текущий момент оставляет желать лучшего.
Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

72. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 16:40 
> К слову почему-то о том, что якобы java не "тормозит" в основном приходится слышать от тех, что серьзно с ней не работал и пользоватся не умеет ...

Исправлено.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

91. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Fomalhaut on 14-Июл-12, 21:51 
Что вы подразумеваете под "работал". Лично мне программировать не приходится (админ), но достаточно много приходится пользоваться Жаба-программами (что особо отмечу - фирменными) и результат весьма не в пользу Java.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

21. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Kroz email(??) on 12-Июл-12, 11:50 
Вы достоинства Java обсуждаете с точки зрения разработчиков: дескать, легко учить, управление памятью и т. п. А вот пользователей забываете: нужно ставить jvm которая жрет ресурсы как не в себя; GUI зачастую отличается от системного, а значит программа выглядит "не родной" и т. п. Хороший программист напишет хорошую программу хоть на java, хоть на c++, плохой программист наделает кучу багов и там, где jvm ему будет всячески помогать, автоматизировать все что можно и думать за него. Так что дело в руках и в голове, а не в языке.

> а людей, знающих СИ от и до, в мире всего несколько человек

Посмеялся, спасибо. А вы с англичанами будете общаться только когда выучите английский язык от и до? Нормальные люди используют ровно то, что им нужно, а не все, что дает им (в данном случае) язык программирования. А вы продолжайте учить свою Java "от и до".

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

80. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от umbr (ok) on 12-Июл-12, 21:39 
>GUI зачастую отличается от системного

SWT же!

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

39. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от edo (ok) on 12-Июл-12, 14:36 
> а людей, знающих СИ от и до, в мире всего несколько человек.

а зачем знать "от и до"? если речь идёт о plain C, достаточно прочитать k&r ;)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

40. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от xxx (??) on 12-Июл-12, 14:42 
>Чем Вам Java не угодила, замечательный и простой язык, который легко выучить
>меня знакомая — аспирант кафедры системного программирования — пишет в цикле:
>String s = new String();
>s = "data # " + arg[0] + " " + arg[1];
>потом ругается, что ей Java не нравится из-за тормознутости.

Поделил на ноль?

К слову о простоте. Ява - это сложный язык с огромной платформой обвешанной энтерпрайзными технологиями, поэтому осилить писать на ней эффективные программы дано не каждому, за-то тормозные поделки писать могут все. Лично я счастлив, что занимаюсь встраиваемым ПО и осиливать многокилометровые талмуды не приходится.

Насчёт тормозов, вот использую я hudson для сборки сишных проектов, и никак не могу понять почему он жрет более 500 мегабайт памяти и 100% грузит проц. А ведь главное нихрена полезного при этом не делает. И это пример хорошего функционального ПО.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

41. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 14:52 
>А ведь главное нихрена полезного при этом не делает.

Делает, почитайте документацию и будет Вам озарение.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

45. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 12-Июл-12, 15:22 
> Насчёт тормозов, вот использую я hudson для сборки сишных проектов, и никак
> не могу понять почему он жрет более 500 мегабайт памяти и
> 100% грузит проц. А ведь главное нихрена полезного при этом не
> делает. И это пример хорошего функционального ПО.

На 100% с вами согласен, НО !!! Здесь вы обязаны привести пример одинаковых по функционалу приложений, но одно на Java, а другое нет. Вот тогда и можно проводить сравнение.

Так получается, что вы Hudson с утилитой make сравниваете и ругаетесь на тормознутость Hudson-а.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

69. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 16:32 
Hudson вероятно правильно сравнивать с аналогом CruiseControl-ом. Та что ж это делается CruiseControl тоже написан на Java. Люди проснитесь, вселенский заговор, не иначе.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

77. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от xxx (??) on 12-Июл-12, 18:40 
>Здесь вы обязаны привести пример одинаковых по функционалу приложений, но одно на Java, а другое нет. Вот тогда и можно проводить сравнение.

Если бы мне понравились другие CI системы на других языках, я бы с hudson не связался.

>Так получается, что вы Hudson с утилитой make сравниваете и ругаетесь на тормознутость Hudson-а.

Как их можно вообще сравнивать, это разные вещи. Более того, в моём случае hudson вызывает gmake для сборки проекта, при этом во время сборки в top'е ни gmake, ни GCC даже не появляются, а java и hudson занимает первые строчки. А ведь всё что он делает в данном случае - это ждёт завершения утилиты gmake, мигает иконкой и пишет логи, ну и конечно же жрёт память и процессор.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

52. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от Crazy Alex (ok) on 12-Июл-12, 15:33 
Не так. Ява - простой (даже примитивный) язык. И за свою примитивность она расплачивается сложностью библиотек и простынями кода - потому что сложность задач никуда не делась и надо с ней какими-то средствами работать.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

56. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 15:38 
> Не так. Ява - простой (даже примитивный) язык. И за свою примитивность она расплачивается сложностью библиотек и простынями кода - потому что сложность задач никуда не делась и надо с ней какими-то средствами работать.

История далеко не новая. Еще лет двадцать назад с ней столкнулись те, кто писал на языке Bourne shell. Чтобы посмотреть на последствия, далеко ходить не нужно - достаточно взять практически любой административный скрипт, решающий более-менее сложную задачу. Вместо одной-двух красивых и прозрачных строчек, мы увидим там простыню на 200Кб, которую можно даже не обфусцировать - она и так запутана по самые не балуйся.

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

88. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Fomalhaut on 14-Июл-12, 21:39 
Проблема в том, что этим недософтом приходится работать. И глюки и тормоза не зависят от "авторства": и цисковские управлялки "железками" тормозят не меньше, чем кривописанные студентами программы.
И насчёт переносимости тоже далеко не всё гладко: начиная с того, что разные реализации Жабы под разные ОСы работают "чуточку по разному". Отсюда и "эффекты".
Ну и пик идиотизма пеЙсателей: писать Жаба программу только (!) для венды на Жабе!
Кстати, особо "весело" работать с такого рода Жабоидами в виртуалках: при условии, что остальное всё работает нормально, но Жаба-проги имеют тенденцию "подвешивать" гостевую. Вот это гуано, например: BMC Remedy OnDemand
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

10. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от edwin3d email on 12-Июл-12, 10:21 
> Хоть с конца текст новости читай. Обидно...

А если по сути постараться разобраться ?
Та же Cassandra - прекрастная NoSQL БД, написанная на Java ... и вкустностей вагон, и стабильно, и все работает.
И таких примеров можно привести очень много ....
А потому нет необходимости исходить слюной при упоминании слова java (который к слову - великолепный язык),а разбиратся в сути.
А суть должна быть такой: Если это работает так, как завлено, то мне лично плевать на чем она написана.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

19. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Аноним (??) on 12-Июл-12, 11:47 
> Та же Cassandra - прекрастная NoSQL БД, написанная на Java ... и
> вкустностей вагон, и стабильно, и все работает.

Только очень мееееедленно. И жрет дофига. А так, конечно, работает. Когда не падает.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

24. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от edwin3d email on 12-Июл-12, 12:15 
>> Та же Cassandra - прекрастная NoSQL БД, написанная на Java ... и
>> вкустностей вагон, и стабильно, и все работает.
> Только очень мееееедленно. И жрет дофига. А так, конечно, работает. Когда не
> падает.

Вы это Twitter'у расскажите. А то мужики то не знали ...


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

73. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Аноним (??) on 12-Июл-12, 16:41 
> Вы это Twitter'у расскажите. А то мужики то не знали ...

Twitter уже привык закупать в 3 раза больше серверов чем нужно. В реальеом мире этого делать никто не будет и cassandra нигде не используется.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

76. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 17:18 
>Twitter уже привык закупать в 3 раза больше серверов чем нужно. В реальеом мире этого делать никто не будет и cassandra нигде не используется.

А твиттер в курсе что они в три раза больше серверов купили чем им нужно? Это что использование Java позволяет в три раза уменьшает необходимое количество серверов или Cassandra?

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

29. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 12-Июл-12, 13:10 
Не всё так в Java однозначно(в остальных платформах/языках, увы, тоже).

Вот, например, целочисленное суммирование элементов массива в цикле, типа:

__int32 sum = 0;
for (int i = 0, n = vec.size(); i < n; i++)
sum += vec[i];

Чтобы на GCC результаты приблизились к Java нужно пошаманить. g++ -O3 -funroll-loops помогает. При этом Java будет компилить код, который оптимален для данного процессора, а GCC   неплохо оптимизирует для -march. Только с данным ключом на другом процессоре будет тормозить или вообще работать не будет.

Память в Java жрут коллекции. Если это неприемлемо, то используют массивы. Может это кому-то покажется не совсем в стиле Java и не очень удобным, но по сравнению с C/C++ вполне приемлемо.

В итоге, (при грамотном подходе, разумеется) производительность систем, где активно используются данные из памяти, ВСЕГДА упирается в пропускную способность памяти, а не в язык разработки. Оптимизировать можно, только с помощью уменьшения объёма данных, для более эффективного использования кэша.


P.S.
За конкретный пример спасибо Роману Елизарову http://elizarov.livejournal.com/ ;-)
Кстати это человек, который РЕАЛЬНО делает высоконагруженные производительные системы.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

63. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 15:49 
> P.S.
> За конкретный пример спасибо Роману Елизарову http://elizarov.livejournal.com/ ;-)
> Кстати это человек, который РЕАЛЬНО делает высоконагруженные производительные системы.

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

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

81. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 12-Июл-12, 22:11 
>... и за многие годы работы с ними, как любой разработчик на его месте, видел миллионы случаев, когда жаба сливает сям.

Если бы он видел миллионы случаев слива, то не работал бы с Java.

Посмотрите клиентов для интереса: http://www.devexperts.com/ru/clients.html
ММВБ, РТС о чём-нибудь говорят? Плюс ведущие брокеры. Это всё реальный хардкор для приложений. Миллионы транзакций.

Кстати он говорит, что C должен знать любой программист.

> Но он также случайно обнаружил редкую, уникальную ситуацию, когда жаба почти не сливает, и не замедлил привести ее в качестве практического примера =)

Это просто самый прямолобый пример, который не завязан на всякие специфичные вещи и его можно адекватно воспроизвести во многих языках/платформах.

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

32. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Анонимъ on 12-Июл-12, 13:29 
Почему-то тоже именно это подумал...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

37. "Открыт код системы распределённой памяти Galaxy"  –4 +/
Сообщение от Stocker on 12-Июл-12, 14:25 
Ну да, ну да... Если всё то же самое написать на си, то конечно можно сэкономить примерно 18 мегабайт памяти и после жёсткой-жёсткой компиляции для совсем конкретного процессора оно на этом процессоре возможно будет быстрее на 1-2 процента.
Итого 1) экономия 18м памяти (а мы ведь говорим о высоконагруженных кластерах, где вся доступная многогиговая память будет занята нашим приложением)
2) Многотрах админов с компиляцией и бубном ради 1-2 процентов (а ведь джаву просто запустить и всё :)
3) Нужно потратить лишний миллион человеко-часов на разработку, хотя эти ресурсы можно потрать на что - либо гораздо более полезное и нужное.

Но вам - то на вашей кухне чо, оналитеги хреновы

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

43. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Анонимъ on 12-Июл-12, 15:19 
Он будет не меньше по размеру (это как раз фиолетово) а быстрее. Именно это требуется для постоянной синхронизации объектов. Там любая прибавка скорости критична... а тут в качестве языка - жаба...
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

55. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от ДяДя on 12-Июл-12, 15:38 
> Он будет не меньше по размеру (это как раз фиолетово) а быстрее.

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

Как только данные перестают помещаться в кэш происходит жуткая просадка. В Java даже есть ключ UseNUMA (на Windows не работает), который эффективно (с помощью данных об архитектуре памяти от ОС) по ядрам распределяет потоки, чтобы повысить вероятность нахождения в кэше полезных данных.

Т.о. память тормозит, а процессор простаивает, даже если он выполняет Java, которая в три раза тупее C(по мнению некоторых). Процессор с лёгкостью успевает перемолоть даже Java. Память за ним не поспевает. И в данный момент НЕВОЗМОЖНО чего-либо сделать. На производительность контроллера памяти и самой памяти невозможно повлиять переписыванием программы на другой язык.

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

92. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Fomalhaut on 14-Июл-12, 22:04 
Т.е. Может быть небольшой блок данных и весьма сложный алгоритм обработки. Особенно - математические расчёты.
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

44. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Аноним (??) on 12-Июл-12, 15:21 
> Ну да, ну да... Если всё то же самое написать на си, то конечно можно сэкономить примерно 18 мегабайт памяти и после жёсткой-жёсткой компиляции для совсем конкретного процессора оно на этом процессоре возможно будет быстрее на 1-2 процента.

Приведенные вами цифры характерны не для жабы, а для нормального компилируемого языка.
Для типичного перехода "жаба -> си" - потребление памяти уменьшится примерно в 18 раз, и работать будет быстрее на 100-200%.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

70. "Открыт код системы распределённой памяти Galaxy"  –1 +/
Сообщение от Аноним (??) on 12-Июл-12, 16:35 
Не лопниш, деточка?
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

49. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 15:28 
> Ну да, ну да... Если всё то же самое написать на си,
> то конечно можно сэкономить примерно 18 мегабайт памяти и после жёсткой-жёсткой
> компиляции для совсем конкретного процессора оно на этом процессоре возможно будет
> быстрее на 1-2 процента.

После перехода с Java на C, экономия ресурсов и прирост скорости обычно составляют не единицы процентов, а разы. Десятки и сотни раз.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

53. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от edwin3d email on 12-Июл-12, 15:34 
> После перехода с Java на C, экономия ресурсов и прирост скорости обычно
> составляют не единицы процентов, а разы. Десятки и сотни раз.

Будте так любезны, подтвердите свои утверждения фактами.
Потому, что на сегодняшний день имеются совсем иные цифры, из которых следует, что Java вполне сопоставима с C++ по производительности в режиме компиляции -O2.

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

60. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 15:42 
> Будте так любезны, подтвердите свои утверждения фактами.

Запросто.
Была у нас система биллинга. Переписали основную часть (не фронтенд, он изначально на пыхе был) с жабы на си - перестало тормозить. И не тормозит даже после того, как перенесли с выделенного мощного сервака на слабый, с кучей других задач.
Вот такие пироги.

> Потому, что на сегодняшний день имеются совсем иные цифры, из которых следует,
> что Java вполне сопоставима с C++ по производительности в режиме компиляции
> -O2.

Фороникс небось?

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

64. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от edwin3d email on 12-Июл-12, 15:54 
>> Будте так любезны, подтвердите свои утверждения фактами.
> Запросто.
> Была у нас система биллинга. Переписали основную часть (не фронтенд, он изначально
> на пыхе был) с жабы на си - перестало тормозить.

"перестало тормозить" это увы, но мало информации.
Тут надо сравнивать:
а) код
б) потребленное процессорное время и памяти.

дело в том, что при переписывании ведь не просто так один в один.
Возможно в старой реализации было что-то. что достаточно было переписать в Java.

>  И
> не тормозит даже после того, как перенесли с выделенного мощного сервака
> на слабый, с кучей других задач.
> Вот такие пироги.
>> Потому, что на сегодняшний день имеются совсем иные цифры, из которых следует,
>> что Java вполне сопоставима с C++ по производительности в режиме компиляции
>> -O2.
> Фороникс небось?

Неа.
Источники различные.
начиная о себя, заканчивая тем. что в инете опубликовано ... на большинстве задач разброс не более 20 %.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

67. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 16:12 
Успокойтесь)) Сейчас в вопрос часто ставят node.js vs Java. А на декстопе в простеньких приложениях Java не прижилась в первую очередь из-за выпиливания ее из винды в далеких годах, необходимости установки виртуальной машины. Всякие сложные декстоп приложения типа Maple/Ramus/и т.п.-и на десктопе отлично себе живут.
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

68. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от ДяДя on 12-Июл-12, 16:23 
>Была у нас система биллинга. Переписали основную часть (не фронтенд, он изначально на пыхе был) с жабы на си - перестало тормозить.

И какой сервер приложений был ??

Сколько раз наблюдал просадку БД. Даже на PHP.
Так здесь переписыванием клиента мало поможешь.
Но, чтобы БД не тормозила, а само приложение тормозило - это первый раз слышу.

Недавно документооборот на Java тестировали. Т.к. специфику приложения знали плохо, то под БД и сервер приложений взяли одинаковые сервера. Ксеоны с 16ядрами. Просела PostgreSQL.
И как здесь переписывание на C поможет? Переписывание SQL-запросов может помочь, но никак не переписывание серверного приложения.


>Фороникс небось?

HotSpot JIT на текущий момент один из лучших компиляторов для x86 и SPARC. Это признано многими экспертами в данной области. И! Вы сами это можете проверить!
Другое дело, что Java не на один JIT завязана.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

62. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от ДяДя on 12-Июл-12, 15:48 
> После перехода с Java на C, экономия ресурсов и прирост скорости обычно
> составляют не единицы процентов, а разы. Десятки и сотни раз.

Ржунемагу!!
Про десятки и сотни жесть!

Я понимаю, если бы вы с PHP сравнили.

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

74. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 16:43 
> Ну да, ну да... Если всё то же самое написать на си,
> то конечно можно сэкономить примерно 18 мегабайт памяти

...на каждый байт хранилища...

> и после жёсткой-жёсткой компиляции для совсем конкретного процессора оно на этом процессоре возможно будет быстрее на 1-2 процента

...чем java на десятке таких процессоров...

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

86. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от none_first (ok) on 13-Июл-12, 12:40 
примеров кода, я так понимаю, не будет ;)...
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

12. "Открыт код системы распределённой памяти Galaxy"  +5 +/
Сообщение от Аноним (??) on 12-Июл-12, 10:36 
судя по камментам, новость была о новой версии джавы, а не о распределённой памяти %)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от Аноним (??) on 12-Июл-12, 11:50 
> Код компонентов Galaxy написан на языке Java.

Непонятно, почему не на питоне? Все-таки, java - это вчерашний день промышленных приложений. Питон может тормозить и жрать память в разы эффективнее.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 12:24 
Потому что в питоне не обязательно создавать новый класс для каждого чиха. Как известно, ёмкость и понятность кода для промышленных приложений являются большим минусом.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

27. "Открыт код системы распределённой памяти Galaxy"  –3 +/
Сообщение от Аноним (??) on 12-Июл-12, 12:52 
Что вам еще известно, что Дед Мороз/Б-г существует?
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

48. "Открыт код системы распределённой памяти Galaxy"  +2 +/
Сообщение от Аноним (??) on 12-Июл-12, 15:26 
> Потому что в питоне не обязательно создавать новый класс для каждого чиха.
> Как известно, ёмкость и понятность кода для промышленных приложений являются большим
> минусом.

Это легко лечится созданием специализированного фреймворка.
Опять же, созданные дополнительной прослойкой тормоза и жрач памяти не помешают.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

57. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Crazy Alex (ok) on 12-Июл-12, 15:39 
Я вот не пойму одну вещь. Обычно в пользу простыней, длинных названий и т.п. приводятся аргументы что, мол, так поддерживать удобнее. Один я такое читаю с трудом? Вот есть какая-нибудь идиома-заклинание из перла, сей и тому подобного. Один раз в этом разобраться надо. Но идиом этих довольно мало, зато потом однив взглядом видишь, что происходит. А теперь берём джаву или код на плюсах (там тоже можно в джава-стиле писать) - простыня с кучей похоже названных переменных и методов. Глаз замыливается моментально, пять строк прочел - в первой уже путаешься. Как это может быть более лёгким в поддержке?
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

78. "Открыт код системы распределённой памяти Galaxy"  +1 +/
Сообщение от Аноним (??) on 12-Июл-12, 18:47 
Да, ты такой один.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

95. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 16-Июл-12, 23:07 
Ложь.
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

34. "Открыт код системы распределённой памяти Galaxy"  +/
Сообщение от Аноним (??) on 12-Июл-12, 13:39 
Как говорится, "представляет чисто академический интерес". Видимо, поэтому и открыли.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру