LINUX.ORG.RU

Сообщения andreykyz

 

Нужен алгоритм упаковки(группировки)

Форум — Development

Есть набор пар чисел. Нужно этот набор зарделить на N примерно равных групп где критерием является количество одинаковых чисел в группах. т.е. самый лучший набор будет состоять из таких пар чисел в которых нет в соседних группах.

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

Оптимальный будет: [3, 4][4, 7] и [5, 6] [1, 2] тут связей(совпадающих чисел нет)

 

andreykyz
()

Избыточное кодирование пакетных данных.

Форум — Development

Какой сейчас самый быстрый и прогрессивный метод избыточного кодирования в применении к пакетным данным. Буду применять в ip сетях, когда данные теряются/портятся сразу пакетами.
Пока на ум пришел только некий велосипед, например отправлять дополнительный пакет который содержит сумму (например 20) предыдущих пакетов и если один из этих 20 пакетов портится/теряется то его можно восстановить методом вычитания 19 хороших пакетов из контрольного пакета с суммой.

Жду предложений по алгоритмам и может кто-нибудь знает название описанного мною алгоритма?

 , , ,

andreykyz
()

Вчерашний go meeting

Форум — Talks

Какие отзывы о вчерашней go встреч?
Мне лично не очень поравилось. В начале я вообще не понимал причем тут golang/

 ,

andreykyz
()

Опережающая отправка DUP ACK с роутера

Форум — Development

Есть такая идея по оптимизации трафика.
сеть:

[ноутбук]<--wi-fi 1-->[vnp client]<--3g сеть 2-->[vpn server]<--интернет 3-->[сайт в инернете]
В интернете есть машина на которой стоит VPN демон(модифицированный на базе vtun) на который проброшен tcp туннель через 3G/LTE модем(точнее несколько модемов). Недавно я начал наблюдать такую ситуацию, снижение скорости из за потерь на узле 3. В tcpdump'e четко видно сначала идут tcp сегменты с пропуском, а потом срабатывает либо retransmit либо fast retransmit. У меня появилась идея ввести такой функционал на vpn демоне отслеживать пропуски и отправлять dup ack с роутера с опережением таким образом вызывая fast retransmit не допуская retransmit по rto и сброса окна.
С отслеживанием пропусков tcp сегментов более менее понятно. Но вот с ack не очень.
На сколько мне известно такой механизм примемняется при работе со спутниками, но ничего готового так и не нашел.
Надеюсь описал все дохожчиво. Есть идеи?

 , ,

andreykyz
()

Срезы по времени или отклонение во времени вызова.

Форум — Development

Нужно в программе найти функции у которых есть большое время отклонения от их среднего времени выполнениия. Проблема состоит в том что есть программа которая притормаживает в определенные моменты времени. Есть моменты когда суперцикл программы НЕ успевает отработать по таймингам и нужно найти эти места.

Не обязательно через valgrind, но только без замеров через gettimeofday Есть идеи?

 , , kcachegrind,

andreykyz
()

Подскажите библиотеку/алгоритм

Форум — Development

Есть, проблема. Нужна реализация llinkedlist и hashmap на чистом С по верх Shared memory(shm). т.е. коллекция должна быть на offset'ах и с выделением памяти из кучи. Такого готового решения я не нашел. Решил написать сам на offset'ах, но опять же встает вопрос с выделением памяти из заранее созданного shared memory сегмента. Операционная система Linux c glibc и ulibc.

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

 , , , ,

andreykyz
()

Сглаживание jitter'a

Форум — Development

Есть tun тунель через tcp. У которого большой jitter. tcp соединения которые устанавливаются через этот тунель не могут достич максимальной скорости т.к. большой jitter воспринимается как затор и tcp сбрасывает окно. У кого какие могут быть предложения в реализации так сказать «линии задержки». Где лучше разместить буфер на принимающей или на передающей стороне. Или может в ядре linux уже есть подобный функционал?

 ,

andreykyz
()

2 ветки с одним именем

Форум — Development

Есть проблемка, мне надоело делать ветки с новыми названиями для отработки функционала. Как сделать несколько веток из разных мест ,например, ветки master с одним именем. Как-то так:

                     A---B---C                N---O---P topic
                    /                        /
               D---E---F---G---H---I---J---K---L---M master
Такие вещи обычно получаются когда происходит слияние и topic замыкается на master. А если без слияния?

P.S. надеюсь идея понятна

 ,

andreykyz
()

Какие ещё ресурсы читают/засирают люди с ЛОР'a

Форум — Talks

Меня интересует, какие ресурсы на Английском языке используют пользователи ЛОР'а для своего просвещения? У кого какие вкусы? Ресурсы о политике и экономике в том числе.

 , ,

andreykyz
()

Одноплатный компьютер - A13-OLinuXino Кто-нибудь приобрел?

Форум — Linux-hardware

Как то я уже постил тему про эту железку -> www.linux.org.ru/forum/talks/8072144?lastmod=1344317320311
Инструкция по запуску Debian
Исходники на гитхабе

Кратко спеки:
A13 Cortex A8 processor at 1GHz, 3D Mali400 GPU
512 MB RAM
4GB NAND flash
3 + 1 USB hosts, 3 available for users 1 for WIFI RTL8188CU 802.11n 150Mbit module on-board
цена - 45.00 EUR(без wi-fi) и 55.00 EU(с wi-fi)(также скидки если брать более 5-ти)

Так вот у меня вопрос, кто-нибудь уже приобрел сей девайс? Какие отзывы? Также интересны просто мнения лоровских мыслителей.

 , ,

andreykyz
()

Что будет со стандартным потоком вывода после вызова fork()

Форум — Development

т.е. имеем код в котором код, в котором после вызова fork(), имеется много функций printf(). Куда будет перенаправляться вывод printf и какие из этого могут быть последствия?

 , ,

andreykyz
()

Не могу поставить китайский язык

Форум — Desktop

Проблема с установкой языка:

Ошибка в базе данных пакетов

Установка или удаление программ невозможны. Для исправления этой проблемы используйте менеджер пакетов "Synaptic" или запустите в терминале "sudo apt-get install -f".
sudo apt-get install -f - делал
sudo apt-get update && sudo apt-get upgrade - делал
http://smages.com/?v=2012100413.png
http://smages.com/?v=201210mdm.png

 ,

andreykyz
()

каким образом можно удалить drm или хотябы прослушать запись

Форум — Desktop

Что сказал mplayer:

Playing Desktop/download/at a hotel/audio/13 Дорожка 13.wma.
libavformat version 53.21.0 (external)
Mismatching header version 53.19.0
ASF file format detected.
DRM License URL: http://go.microsoft.com/fwlink/?prd=816&pver=7.1&sbp=DRM&plcid=0x409&clcid=0x409&ar=PersonalV2
This file has been encumbered with DRM encryption, it will not play in MPlayer!

Если открыть ссылку в ie - [img]http://smages.com/thumbs/2012091010.png[/img]

Windows Media Player 10 че-то тоже не хочет. Предлагает зати на сайт но почему-то ничего не происходит.[img]http://smages.com/thumbs/201209unu.png[/img]

Что же это за дела?

 ,

andreykyz
()

Cannot access memory at address 0x7fff8549cd20

Форум — Development

Что-то у меня не оплучается вывести заначения массива структур:

Breakpoint 1, retransmit_send (out2=0x0, mypid=8559) at linkfd.c:441
441                 last_sent_packet_num[i].seq_num = seq_num_tmp;
(gdb) p mypid
$2 = 8559
(gdb) p i
$3 = 2
(gdb) p resend_frames_buf_clone.seq_num
Cannot access memory at address 0x7fff8549cd20
(gdb) p last_sent_packet_num[1].seq_num
Cannot access memory at address 0x435ff0
Что-то я не могу понять, что ему не нравится?

 ,

andreykyz
()

Задачка для размышления. Планирование работы нескольких процессов.

Форум — Development

Имеется однопроцессорная система. Есть несколько однотипных процессов(2 или более). У каждого из процессов есть суперцикл. Нужно сделать так чтобы каждый процесс выполонял весь свой суперцикл только определенное колличество раз и отдавал процессорное время другому процессу. т.е. выполняться они должны последовательно. При этом колличество циклов у разных процессов может быть разным и может меняться с течением времени.

Можно изобразить работу 3-х процессов так:

 (***)->(**)->(****)-\
^                     |
\____________________/
где * - оборот цикла, () - отдельный процесс.

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

Второй случай когда несколько процессоров или ядер я пока не рассматриваю.

 ,

andreykyz
()

«Введите пароль для разблокирования секретного ключа»

Форум — Admin

У меня настроен доступ к локальной виртуальной машине через ssh по ключу (rsa,dsa...). Так вот, убунта при каждом подключении выдает заветное окошко c надписью:

Введите пароль для разблокирования секретного ключа

Чорт, но никакого пароля нет! Я жму отмена и все подключается. Всё работает. Но есть вопрос:
Как сделать так чтобы окошко не появлялось?

 ,

andreykyz
()

Тихо и незаметно. Одноплатный компьютер - A13-OLinuXino

Форум — Talks

Тихо и незаметно запущен в производство одноплатный компьютер A13-OLinuXino на базе китайского ARM SoC Allwinner, также известен как Boxchip, Rockchip. Кстати эта система на кристале является сердцем многих китайских говноплашетов(tetex, rover, ritmix, digma и т.д.)

http://olimex.wordpress.com/2012/08/03/a13-olinuxino-production/
Технические характеристики

 , ,

andreykyz
()

gperftools или что-то еще с поддержкой fork()

Форум — Development

Проблема вот в чем. Нужно определить причину медленной работы приложения после переделки алгоритма его работы. Приложение делает несколько вызовово fork() для демонизации, запуска супервизора и т.д. Решил использовать gperftools. В мануале по gperftools написано что:

If your program forks, the children will also be profiled (since they inherit the same CPUPROFILE setting). Each process is profiled separately; to distinguish the child profiles from the parent profile and from each other, all children will have their process-id appended to the CPUPROFILE name. 
Думаю, ага всё ок. просто появится несколько фалов. В итоге после запуска:
env LD_PRELOAD=/usr/lib/libprofiler.so.0.1.0 CPUPROFILE=softvare.prof ./software
PROFILE: interrupts/evictions/bytes = 0/0/64
выплевывается только один файл «softvare.prof». При открытии которого:
google-pprof --gv ./software software.prof 
Using local file ./software
Using local file software.prof.
No nodes to print
wtf? что делать?

andreykyz
()

Необходимость в такой конструкции.

Форум — Development

В коде часто натыкаюсь на конструкции вида:

tmp = htonl(bufs[imf]);
if( memcpy(buf, &tmp, sizeof(unsigned long)) < 0) {
    p_syslog(LOG_ERR, "memcpy imf");
    err=1;
}
такой участок можно заменить на:
*((unsigned long)buf) = htonl(bufs[imf]);

И если я прав, в чем мог был смысл memcpy, если мы копируем просто примитив?

 ,

andreykyz
()

Относительная адресация

Форум — Development

Можно-ли делать вот так:

char *buf;
*((unsigned long *)buf) = htonl(some_long_value);
*((unsigned short *)(buf+sizeof(unsigned long))) = htons(some_short_value);

И как ведет себя компилятор? Как он расчитывает тип для buf.

P.S. Ключ -std=gnu99

 ,

andreykyz
()

RSS подписка на новые темы