The OpenNET Project / Index page

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

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

"В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от opennews (??) on 20-Окт-09, 21:42 
На проходившей в сентябре конференции Real-Time Linux Workshop достаточно активно обсуждался (http://linux.slashdot.org/story/09/10/20/137241/Deadline-Sch...) вопрос добавления в ядро Linux планировщика режима реального времени. Такая возможность могла бы быть реализована с использованием уже отработанного в других RT-системах алгоритма приоритезации задач с более ранним временем завершения (EDF, Earliest Deadline First). В настоящее время для ядра  Linux разработана экспериментальная версия диспетчера  EDF — SCHED_DEADLINE, которая ранее была известна как SCHED_EDF.

Необходимость планировщика реального времени в Linux (http://www.evidence.eu.com/content/view/313/390/) обусловлена теми ограничениями, которые привносят существующие алгоритмы диспетчеризации процессорного времени. Среди них можно выделить два основных:
- Существующие решения не способны гарантировать необходимое время выполнения запущенной задачи. Например, если условиями задано...

URL: http://linux.slashdot.org/story/09/10/20/137241/Deadline-Sch...
Новость: http://www.opennet.ru/opennews/art.shtml?num=23916

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

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


3. "В ядро Linux может быть включен диспетчер реального времени"  –36 +/
Сообщение от hatelinux on 20-Окт-09, 21:51 
тоесть приложения в линуксе уже не умеют сами использовать таймеры и прочее что бы завершаться в нужное время?
круто

приложения в линуксе уже неуправляемые ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "В ядро Linux может быть включен диспетчер реального времени"  +6 +/
Сообщение от EL (??) on 20-Окт-09, 21:55 
Хорошо подумал прежде чем высказаться?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "В ядро Linux может быть включен диспетчер реального времени"  –21 +/
Сообщение от hatelinux on 20-Окт-09, 21:59 
>Хорошо подумал прежде чем высказаться?

есть чем дополнить? или кроме похоливарить ничего не умеем?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Zenitur email on 21-Окт-09, 00:27 
Сам блин холиваришь. И не похоливарить, а подкормить.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "В ядро Linux может быть включен диспетчер реального времени"  +9 +/
Сообщение от аноним on 20-Окт-09, 22:00 
Поведение приложения (наверное вы имели ввиду процесса) зависит от ядра. Если ядро решит что процессу стоит отдохнуть и не будет давать ему кванты времени, то никакие таймеры на уровне самого процесса не помогут.

Этот диспетчер предназначен не для настольных PC, а для ...(написано в тексте новости)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "В ядро Linux может быть включен диспетчер реального времени"  –1 +/
Сообщение от vadiml on 20-Окт-09, 22:57 
> Этот диспетчер предназначен не для настольных PC

А для настольных лучше всего -- планировщик  BFS Кона Коливаса, который, к сожалению, наверное в ядро так и не войдёт.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

36. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от аноним on 21-Окт-09, 03:04 
>А для настольных лучше всего -- планировщик  BFS Кона Коливаса, который,
>к сожалению, наверное в ядро так и не войдёт.

потому что линукс - это свобода.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

39. "В ядро Linux может быть включен диспетчер реального времени"  –1 +/
Сообщение от vitek (??) on 21-Окт-09, 07:54 
правильно.
и это не значит, что в ядро надо пихать любое дерьмо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

40. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Michael (??) on 21-Окт-09, 08:43 
Проблема в том, что BFS довольно хорош для своих задач. При том, откуда взялся CFS (Kolivas достал Molnar своим планировщиком SD и Ingo написал нечто, менее остающее от SD по отзывчивости, чем старый планировщик, но при этом строго лучшее по серверной пропускной способности, чем оба других варианта), есть надежда, что RT может быть высоко напильникопригоден и для desktop.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

42. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от vitek (??) on 21-Окт-09, 08:52 
это никакая не проблема...
пробовал я этот bfs. мало того, что ничуть не лучше cfs, так ещё и глюки наблюдаются. например, с sqlite и прогами его использующими (например, evolution - у меня почта где-то 1.2 gb в нём. сломалось всё нахер. хорошо на лвм со снепшотом был)

Вы то сами его пробовали?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "В ядро Linux может быть включен диспетчер реального времени"  +6 +/
Сообщение от pavlinux (ok) on 20-Окт-09, 22:20 
Напиши программку которая считает сумму всех простых чисел от 1 до 2^64
Чтоб она работала ровно 150 мс, а с учётом допускаемых отклонений в
пределах 120 - 180 мс, прекращала суммировать и выводила полученный
результат и время работы.

А самое главное: ПОСТОЯННО И ПРИ ЛЮБЫХ УСЛОВИЯХ РАБОТЫ И НАГРУЗКИ, ЛЮБЫХ ЧАСТЕЙ КОМПЬЮТЕРА.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от аноним on 20-Окт-09, 22:24 
Дада, именно для этого и нужны RTOS.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "В ядро Linux может быть включен диспетчер реального времени"  –17 +/
Сообщение от hatelinux on 20-Окт-09, 23:37 
>Напиши программку которая считает сумму всех простых чисел от 1 до 2^64
>Чтоб она работала ровно 150 мс, а с учётом допускаемых отклонений в
>пределах 120 - 180 мс, прекращала суммировать и выводила полученный
>результат и время работы

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

28. "В ядро Linux может быть включен диспетчер реального времени"  +3 +/
Сообщение от vitek (??) on 21-Окт-09, 01:19 
"прекращала суммировать" - это не значит, что просчитала всё до конца.

т.е. "кончил, не кончил, а регламент 10 минут"....
толи Горбачёв, толи Черномырдин - не помню.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

29. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от pavlinux (ok) on 21-Окт-09, 01:26 
>"прекращала суммировать" - это не значит, что просчитала всё до конца.

Угу...
>т.е. "кончил, не кончил, а регламент 10 минут"....
>толи Горбачёв, толи Черномырдин - не помню.

Да любой пример, где не важна работа, сколь время. А, вот - любая измерительная аппаратура.



Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

38. "В ядро Linux может быть включен диспетчер реального времени"  +3 +/
Сообщение от vitek (??) on 21-Окт-09, 07:53 
радует одно - глубокое понимание предметной области у людей с ником hatelinux.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

45. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от ronin (??) on 21-Окт-09, 11:03 
>[оверквотинг удален]
>
>Угу...
>>т.е. "кончил, не кончил, а регламент 10 минут"....
>>толи Горбачёв, толи Черномырдин - не помню.
>
>Да любой пример, где не важна работа, сколь время. А, вот -
>любая измерительная аппаратура.
>
>
>

Или системы контроля автоматизированных производственных линий (конвееров), реакторов, и т.п.
Или системы обработки биржевых транзакций.
Или embedded-системы управления автомобылями (да и, в принципе, всем, что движется).

Вопшем, много чего...


respect,
ronin

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

31. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Heckfy (ok) on 21-Окт-09, 01:42 
octaword summa() {
long two_power_63 = 9223372036854775808;
return (1+2*two_power_63)*(two_power_63);
}

И это я еще не оптимизировал по времени. :-)
А ведь зная, что там будут сплошные операции сдвига и сумма, я могу представить это массивом, заполненным нулями, старший бит всей последовательности в нотации платформы равен единице.
В итоге, результатом сложения должно быть число, полученное сложением двух чисел:
0x40000000000000000000000000000000 и 0x4000000000000000
Число можно в данном случае получить и как битовую сумму, а можно просто на глаз прикинуть: 0x40000000000000004000000000000000

Погрешность моего предсказания велика, но смею предположить, что на ассемблере Z80 это вычисление заняло бы примерно 150 тактов генератора процессора, что выразилось бы в 150/(3.5E6) секунд процессорного времени. Что дает мне право сделать ошибку и посчитать не за 150 тактов, а в 3.5 раза дольше, дабы уложиться в лимит времени.

А так, задача красивая.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

33. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от pavlinux (ok) on 21-Окт-09, 02:02 
>octaword summa() {
> long two_power_63 = 9223372036854775808;
> return (1+2*two_power_63)*(two_power_63);
>}
>В итоге, результатом сложения должно быть число, полученное сложением двух чисел:
>0x40000000000000000000000000000000 и 0x4000000000000000
>Число можно в данном случае получить и как битовую сумму, а можно просто на глаз прикинуть: 0x40000000000000004000000000000000

40000000000000008000000000000000

Дык, а где ж  простые? :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

60. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от dot_kkursor (ok) on 21-Окт-09, 22:24 
Ну зачем такие вещи пейсать, а.. :(
Пришёл вечером, набросал... ругайте и пользуйтесь:

// (c) .kkursor, 2009
// This code is licensed under WTFPL v.2, available at http://sam.zoy.org/wtfpl/

#include <stdio.h>
#define true 1
#define false 0

long int input (void) {
  long int a=-1;
  printf("Prime number sum calculator\nCopyright (c) .kkursor 2009\nThis code is licensed under WTFPLv2.\n\n");
  while (a < 0) {
        printf("Enter the maximum number you want to use in finding and summing prime numbers: ");
      scanf("%ld", &a);
      printf("\n");
  }
  return a;
}

long int find_prime (long int number) // find the following prime number
{
  long int i, current_num, remain;
  current_num = number+1;
  while (true != false)
  {
     for (i=2; i<current_num; i++)
     {
       remain = current_num%i;
       if (remain == 0) // the number is not prime
           break;
     }
     if (remain != 0)
       break;
     else
       current_num++;
  }
  return current_num;
}

int main (void) {
  long int limit, i=0, sum=0, current_number;
  limit = input();
  if (limit <= 2)
  {
      printf("There are no prime numbers in this range.\n");
      return 0;
  }
  printf("Calculating...\n");
  current_number = 2;
  while (true != false)
  {
    if (current_number >= limit)
          break;
    printf ("Found prime number: %ld\n", current_number);
    current_number = find_prime (current_number);
    sum += find_prime (current_number);
  }
  printf("The sum of prime numbers from 1 to %ld is %ld\n", limit, sum);
  return 1;
}

Сижу сейчас, считаю на своём Celeron M 1.73 до 2^32 для начала...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

61. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Карбофос (ok) on 21-Окт-09, 22:59 
ой! а не проще битовыми полями? решение влоб не всегда самое быстрое :)
к тому же деление в цикле....
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

62. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от dot_kkursor (ok) on 21-Окт-09, 23:01 
>ой! а не проще битовыми полями? решение влоб не всегда самое быстрое
>:)
>к тому же деление в цикле....

Не стреляйте больно, я только начинаю си изучать. :)
Щас пытаюсь приделать к ней вывод remaining % по запросу - не получается :(((

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

64. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 21-Окт-09, 23:41 
да это не критика. :)
операция деления выполняется примерно в 4 раза медленнее операции умножения. ну и остаток от деления - тоже. поэтому надо избегать медленной операции, поэтому нужен массив с true/false, который будет указывать на принадлежность к простому числу, или нет. ;)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

66. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от dot_kkursor (ok) on 22-Окт-09, 00:18 
>да это не критика. :)
>операция деления выполняется примерно в 4 раза медленнее операции умножения. ну и
>остаток от деления - тоже. поэтому надо избегать медленной операции, поэтому
>нужен массив с true/false, который будет указывать на принадлежность к простому
>числу, или нет. ;)

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

Ошибок ещё нашёл логических несколько в коде, неправильно считало, вот с исправлением:
// (c) .kkursor, 2009
// This code is licensed under WTFPL v.2, available at http://sam.zoy.org/wtfpl/

#include <stdio.h>
#define true 1
#define false 0

unsigned long int input (void) {
  unsigned long int a=0;
  printf("Prime number sum calculator\nCopyright (c) .kkursor 2009\nThis code is licensed under WTFPLv2.\n\n");
  while (a == 0) {
        printf("Enter the maximum number you want to use in finding and summing prime numbers: ");
      scanf("%ld", &a);
      printf("\n");
  }
  return a;
}

unsigned long int find_prime (unsigned long int number) // find the following prime number
{
  unsigned long int i, current_num, remain;
  current_num = number+1;
  while (true != false)
  {
     for (i=2; i<current_num; i++)
     {
       remain = current_num%i;
       if (remain == 0) // the number is not prime
           break;
     }
     if (remain != 0)
       break;
     else
       current_num++;
  }
  return current_num;
}

int main (void) {
  unsigned long int limit, i=0, sum=0, current_number;
  limit = input();
  if (limit < 2)
  {
      printf("There are no prime numbers in this range.\n");
      return 0;
  }
  printf("Calculating...\n");
  current_number = 1;
  while (true != false)
  {
  current_number = find_prime (current_number);
    if (current_number >= limit)
          break;
    printf ("Found prime number: %ld\n", current_number);
    sum += current_number;
  }
  printf("The sum of prime numbers from 1 to %ld is %ld\n", limit, sum);
  return 1;
}

Но всё равно, блин, не получается большие числа считать... 225263 - последнее простое число, которое может прибавиться, не превратив сумму неизвестно во что...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

67. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 22-Окт-09, 01:04 
для каждого числа нужен всго лишь один бит. потом, массив можно немного сократить. и прочие трюки встроить. скажем, грубо операция деления в несколько раз медленнее операции доступа к памяти. по крайней мере - в твоем решении.

в 1 мегабайте памяти можно уместить 1024х1024 чисел. ну и так далее.

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

68. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 22-Окт-09, 08:39 
при битовой кодировке - 1024х1024х8х2 чисел. все четные можно выкинуть
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

69. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от dot_kkursor (ok) on 22-Окт-09, 09:09 
>при битовой кодировке - 1024х1024х8х2 чисел. все четные можно выкинуть

Всё равно же делить на 2 %)
Или типа если младший бит 0, то выкинуть нафиг? Побитовые операции, если мне не изменяет мой склероз, выполняются гораздо быстрее...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

70. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Карбофос (ok) on 22-Окт-09, 09:38 
конечно гораздо быстрее, особенно в конвейере, если развернутый цикл, к примеру. или если компилятор его смог развернуть.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

72. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 22-Окт-09, 10:20 
ускоряем твой алгоритм в 2 раза:

for (i=3; i<current_num; i+=2){
  remain = current_num%i;
  if (remain == 0) // the number is not prime
    break;
}

можешь еще одну проверку встроить

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

63. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от dot_kkursor (ok) on 21-Окт-09, 23:05 
>ой! а не проще битовыми полями? решение влоб не всегда самое быстрое
>:)
>к тому же деление в цикле....

А как без деления в цикле можно определить "простоту" числа?
Обнаружил, что несмотря на введённое в прогу 4294967296 (2^32) она понимает ровно в пополам меньше - (2^31-1). Блджад.
А это значит, что она не будет считать даже до (2^31-1), не говоря уже до 2^64.
pavlinux, современные компьютеры это не умеют!
Или я криворук :(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

65. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 21-Окт-09, 23:46 
нарисуй алгоритм на бумаге. скажем, определение простых чисел до 40 начиная с двойки
двойка: зачеркиваем 4, 6, 8, 10...
тройка: зачеркиваем 6, 9, 12, 15...
пять: 10, 15, 20, 25...
семь: 14, 21, 28...
ну и т.д.
уже зачеркнутнутые можно не зачеркивать ;)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

71. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 22-Окт-09, 09:39 
даже узнал, как алгоритм называется: сечение Эратосфена
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

73. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 22-Окт-09, 10:40 
си вообще-то разрешает использовать числа ling long int или __int64
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

74. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Карбофос (ok) on 22-Окт-09, 10:41 
long long int
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

75. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от pavlinux (ok) on 23-Окт-09, 03:44 
>[оверквотинг удален]
>>:)
>>к тому же деление в цикле....
>
>А как без деления в цикле можно определить "простоту" числа?
>Обнаружил, что несмотря на введённое в прогу 4294967296 (2^32) она понимает ровно
>в пополам меньше - (2^31-1). Блджад.
>А это значит, что она не будет считать даже до (2^31-1), не
>говоря уже до 2^64.
>pavlinux, современные компьютеры это не умеют!
>Или я криворук :(

"Всё украдено уже до нас" (с) Ы

#include <limits.h>
#include <gmp.h>

int main (int argc, char **argv)
{
  mpz_t x, sum;
  unsigned long long int i, j, k;

  mpz_init (x);
  mpz_init (sum);

        for (i = 0; i < ULLONG_MAX; i++) { /* ULLONG_MAX = (2^64) - 1 */
        for (j = 0; j < ULLONG_MAX; j++) {

            k = i + j;
            mpz_init_set_ui(x, k);
            if ( mpz_probab_prime_p (x, 10) == 2 ) {
                mpz_add(sum, x, sum);
           }
          }
        }
  gmp_printf("%Zd\n", sum);
  mpz_clear (x);
  mpz_clear (sum);
  return 0;
}


# gcc-4.4.2 isprime.c -lgmp
# time ./a.out &
# echo "Курить...."


Бенчмарк для тех, кто орёт с 8 Gb оператифки своп не нужен!!! :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

76. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Карбофос (ok) on 23-Окт-09, 10:02 
ну это же процесс творческий ;)

сколько он там памяти аллокирует? O_o для 64 бит

примерно базировано на подобном алгоритме:


// http://www.fpx.de/fp/Software/sieve.c
//
#include <stdio.h>
#include <malloc.h>
#include <time.h>

#define TEST(f,x)    (*(f+(x)/16)&(1<<(((x)%16L)/2)))
#define SET(f,x)    *(f+(x)/16)|=1<<(((x)%16L)/2)

int
main(int argc, char *argv[])
{
  unsigned char *feld=NULL, *zzz;
  unsigned long teste=1, max, mom, hits=1, count, alloc, s=0, e=1;
  time_t begin;

  if (argc > 1)
    max = atol (argv[1]) + 10000;
  else
    max = 14010000L;

  while (feld==NULL)
        zzz = feld = malloc (alloc=(((max-=10000L)>>4)+1L));

  for (count=0; count<alloc; count++) *zzz++ = 0x00;

  printf ("Searching prime numbers to : %ld\n", max);

  begin = time (NULL);
  while ((teste+=2) < max)
        if (!TEST(feld, teste)) {
                if  (++hits%2000L==0) {printf (" %ld. prime number\x0d", hits); fflush(stdout);}
                for (mom=3L*teste; mom<max; mom+=teste<<1) SET (feld, mom);
                }

  printf (" %ld prime numbers foundn %ld secs.\n\nShow prime numbers",
          hits, time(NULL)-begin);

  while (s<e) {
        printf ("\n\nStart of Area : "); fflush (stdout); scanf ("%ld", &s);
        printf ("End   of Area : ");     fflush (stdout); scanf ("%ld", &e);

        count=s-2; if (s%2==0) count++;
        while ((count+=2)<e) if (!TEST(feld,count)) printf ("%ld\t", count);
        }
  free (feld);
  return 0;
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

77. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от pavlinux (ok) on 23-Окт-09, 10:36 
/*  
*  Для прогрева всех ядрывшек, теперь c OpenMP
*   gcc-4.4.2 primesum.c -std=gnu99 -O3 -ffast-math -lgmp -fopenmp -o pimesum
*/

#include <gmp.h>

#define POW2_128 "340282366920938463463374607431768211456"

int main (int argc, char **argv)
{
  int k;
  mpz_t i, sum;
  mpz_t LIMIT;

  mpz_init (i);
  mpz_init (sum);
  mpz_init_set_str(LIMIT, POW2_128, 10);

#pragma omp parallel
{
#pragma omp do private (i, k)
                do {
                    mpz_add_ui(i, i, 1ULL);
                    k = mpz_cmp(LIMIT, i);
                    if (mpz_probab_prime_p (i, 10) == 2 ) {
#pragma omp shared (sum)
#pragma omp critical (sum)
                      mpz_add(sum, i, sum);
                      gmp_printf("Prime: %Zd, Sum  %Zd\n", i, sum);
#pragma omp flush(sum)
                   }
               } while ( k != 0 );
#pragma omp end parallel
}
  gmp_printf("%Zd\n", sum);
  mpz_clear (i);
  mpz_clear (sum);

return 0;
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

78. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Карбофос (ok) on 23-Окт-09, 11:06 
в принципе, просто использовать битовые массивы (сечение) - тоже решение "в лоб". проблема с нерациональным использованием памяти - налицо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

79. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от pavlinux (ok) on 23-Окт-09, 18:08 
>в принципе, просто использовать битовые массивы (сечение) - тоже решение "в лоб".
>проблема с нерациональным использованием памяти - налицо.

Уж поверь, в GMP над этим поработали.
Если глянешь исходники, там все увидишь, и битовые, и спец малоки,...

Так вот, теперь надо чтоб эта программка работала ровно, ну скажем 1300 мс +/- 30 мс.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

83. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Карбофос (ok) on 24-Окт-09, 12:25 
доверяй,но проверяй. ;)
качнул исходники с докой из репозитория. мерси за инфу.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

49. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Guest (??) on 21-Окт-09, 11:55 
Учим матчасть, что такое шедулер и что такое таймеры, а потом не задаём глупых вопросов.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

55. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от digiwhite on 21-Окт-09, 13:27 
Друг, лучше иди почитай, что такое ОС реального времени и какими характеристиками она должна обладать. А то ну такую муйню написал.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "В ядро Linux может быть включен диспетчер реального времени"  –8 +/
Сообщение от Ariel (ok) on 20-Окт-09, 22:13 
чего только люди не придумают, чтобы не использовать QNX
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "В ядро Linux может быть включен диспетчер реального времени"  +3 +/
Сообщение от СуперАноним on 20-Окт-09, 22:18 
Ваш QNX уже свободен?
открыт != свободен
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "В ядро Linux может быть включен диспетчер реального времени"  –5 +/
Сообщение от Ariel (ok) on 21-Окт-09, 00:05 
Если вы его используете в научных целях - меняйте что хотите, даже если вы разаработчик и зарабатываете этим - бесплатно скачиваете систему с сайта; если в коммерческих, на свою АЭС - платите;
Кажется вполне справедливо, или для экспериментов на ноутбуке нужно чтобы было написано три раза: свободен? Просто не пойму, ну какая разница, если вы законно ставите систему, никому ничего не платите, и программы писать можете?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

52. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Alexander (??) on 21-Окт-09, 12:21 
Ну так пользователи будут должны платить за неё.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

41. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Аноним (??) on 21-Окт-09, 08:51 
> чего только люди не придумают, чтобы не использовать QNX

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

Как много появилось салабонов, которые не усвоили главное: Open Source дает СВОБОДУ ВЫБОРА.
Но зато вставить свое "я" они готовы в любой теме, обсолютно в ней ничего не смысля.
И это "я" часто заключается в бездумных испражнениях типа "закопать!", "не нужен!", и эти личности искренне заблуждаются, считая, что их "мнение" должно быть определяющим для всех остальных.

QNX поддерживает весьма ограниченный круг "железа".
Чего не скажешь о Linux. И в случае использования QNX выбор железа будет определяться возможностями именно ОС, а не задачей.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "В ядро Linux может быть включен диспетчер реального времени"  +2 +/
Сообщение от pavlinux (ok) on 20-Окт-09, 22:30 
Собственно, не вижу сравнения с RT патчами от Ingo Molnar_а :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Евгений (??) on 20-Окт-09, 23:09 
В lkml писали что существующий rt планировщик не совсем их устраивает. Как я понял этот планировщик совмещает в себе плюсы от fair и от rt каким-то образом.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от pavlinux (ok) on 21-Окт-09, 00:27 
>В lkml писали что существующий rt планировщик не совсем их устраивает. Как
>я понял этот планировщик совмещает в себе плюсы от fair и
>от rt каким-то образом.

А ещё дрова от nvidia в дамп падают
Так что, кто хочет порубиться QuakeWars под Real-Time да и ещё с twinview - обломись :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

54. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от A on 21-Окт-09, 13:12 
У меня не падают. Или проблема только с twinview (не пробовал)?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

80. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от pavlinux (ok) on 23-Окт-09, 18:08 
>У меня не падают. Или проблема только с twinview (не пробовал)?

драйвер правил?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

32. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от _Vitaly_ (ok) on 21-Окт-09, 01:49 
Гы-гы, еще на форониксе потом запустят под rt-планировшиком мускул из шифрованной домашней папки, и скажут, что хуже чем cfq :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "В ядро Linux может быть включен планировщик реального времен..."  +/
Сообщение от develop7 (ok) on 20-Окт-09, 22:53 
Ну наконец-то!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от J.L. on 20-Окт-09, 23:00 
ещё бы внесли в ядро диспетчер для десктопов (а не для "метафизического компутера") и было бы счастье
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "В ядро Linux может быть включен диспетчер реального времени"  –1 +/
Сообщение от pavlinux (ok) on 20-Окт-09, 23:08 
Ну и зачем?
Чтоб firefox всегда грузился за 15 сек., пофигу на Pentium III или на Core i7 ? :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

26. "В ядро Linux может быть включен диспетчер реального времени"  –2 +/
Сообщение от jl on 21-Окт-09, 01:00 
>Ну и зачем?
>Чтоб firefox всегда грузился за 15 сек., пофигу на Pentium III или
>на Core i7 ? :)

на десктопе линукс всё таки тормозит(может быстрее висты, но не быстрее хр), поэтому +1.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

27. "В ядро Linux может быть включен диспетчер реального времени"  –1 +/
Сообщение от Новичок (??) on 21-Окт-09, 01:06 
>на десктопе линукс всё таки тормозит(может быстрее висты, но не быстрее хр),
>поэтому +1.

У меня Mandriva 2009.1 тормозит, а вот Opensuse работала как будто быстрее, но Opensuse 11.1 глючная какая то. Жду выхода Opensuse 11.2


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

43. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Просто прохожий email on 21-Окт-09, 10:27 
1) Смотря как приготовить ( можно LFS-ом, например :) ).
2) Смотря что использовать ( В Ubuntu запускаете столько всякой всячины, что голова кругом идёт. Дистрибутив наравне с Mandriva напичканный разнообразными рюшками, колокольчиками и т.д. ) При допиливании - разгоняется прилично.
3) Windows XP вышла в 2001 году. Уж извините, но функционал по умолчанию десктопного окружения... уж очень ограничен. Возьмём Mandriva 2009. Там KDE 4.1.2 - default desktop. Что такое KDE ? Это... всё пожалуй ))) Самая красивая и конфигурируемая среда из всех, но... и самая ресурсоёмкая (ну GNOME с его GNOME Shell скоро догонит). Я вообще не против этих сред. Но я как-то более аскетичен в этом плане. Предпочитаю XFCE.

Для чистоты экперимента можно взять какой-нибудь дистриб с тех времён ). Разукрасить напильником, прикрутить новый compiz, X, ядро. Задача нетривиальная, но...

4) Linux - просто ядро. Нацепить на него можно всё что угодно. Само по себе это ядро намного прогрессивней и более масштабируемо, чем ядро Windows (являющееся развитием VMS). Ну - по моему мнению.

Да и вообще люблю ОС с ядром Linux за гибкость и динамичность. Сравните скорость работы и предоставляемую функциональность по умолчанию предустановленной Windows XP и фирменной ОС на основе Linux, например, Xandros, которая ставится на EeePC. А включение RT-планировщика в ядро будет ещё одним шагом по курсу максимальной масштабируемости и адаптируемости.

Спорить ни с кем не буду по поводу вышесказанного - со всем согласен по умолчанию ;).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

46. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от аноним on 21-Окт-09, 11:20 
>В Ubuntu запускаете столько всякой всячины
>При допиливании - разгоняется прилично.

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

>3) Windows XP вышла в 2001 году.

что делает ms честь.

>функционал по умолчанию десктопного окружения... уж очень ограничен

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

>Возьмём Mandriva 2009

там глючный kde, с огромным трудом поднимается интернет (vpn, wifi, etc.). каша из qt3.5-qt4.5, gtk2. валится драйвер мобильного радеона. нет даже элементарного индикатора раскладки клавиатуры.

>Что такое KDE ?

это самое бажное десктопное окружение за всю историю человеческой расы.
kde4 пилится больше пяти лет и конца-края не видно. из запланированных фич (обертки над обертками над железом, семантический десктоп, социальный десктоп, etc. etc.) не реализована и треть.
Это... всё пожалуй

>самая ресурсоёмкая

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

>Для чистоты экперимента можно взять какой-нибудь дистриб с тех времён ). Разукрасить
>напильником, прикрутить новый compiz, X, ядро. Задача нетривиальная, но...

задача практически невыполнимая

>Само по себе это ядро намного прогрессивней и более масштабируемо, чем
>ядро Windows (являющееся развитием VMS). Ну - по моему мнению.

проверяли, консультировались с признанными экспертами или вы сам эксперт?
анонимный оналитег, как же

>Сравните скорость работы и предоставляемую функциональность по умолчанию
>предустановленной Windows XP и фирменной ОС на основе Linux, например, Xandros

xp умеет гибернацию. а xandros?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

47. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Аноним (??) on 21-Окт-09, 11:33 
> что же ещё можно ожидать!? если, к примеру, каждый долбаный раз при изменении размера элемента, его декорации заново растеризуются из svg. ну кто так делает!!???

А что в этом плохого? И может предложите путь получше? Или одни риторические вопросы? Какие то 10 лет все расчеты в cairo будет CUDA выполнять.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

51. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от name (??) on 21-Окт-09, 12:14 
>А что в этом плохого?

Да ничего, кроме тормозов

>И может предложите путь получше?

Bitmap, не?

>Какие то 10 лет

Всего-то?! Вендекапец близок как никогда! :-D

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

56. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от Андрей (??) on 21-Окт-09, 18:52 
>>анонимный оналитег, как же

:D :D :D
на себя посмотри

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

57. "В ядро Linux может быть включен диспетчер реального времени"  +/
Сообщение от аноним on 21-Окт-09, 19:06 
>на себя посмотри

от этого ксандрос не научится нормальной гибернации и гибридному режиму.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

58. "В ядро Linux может быть включен диспетчер реального времени"  +1 +/
Сообщение от Карбофос (ok) on 21-Окт-09, 20:27 
> на десктопе линукс всё таки тормозит(может быстрее висты, но не быстрее хр)

хм... достаточно точный сравнительный анализ, основанный на деталлированном описании операционных систем.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

30. "В ядро Linux может быть включен планировщик реального времен..."  –1 +/
Сообщение от pavlinux (ok) on 21-Окт-09, 01:38 
Ну вот обрадую Вас, любители RT на десктопах, - пока сырое дож...ы.

Больше одной задачи, с этим планировщиком, на одном ядре/проце запускать нельзя,
иначе.

Pid: 11, comm: sirq-hrtimer/0 Not tainted 2.6.31-sched-rt #3
Call Trace:
[<ffffffff8136ade1>] ? thread_return+0x170/0x65f
[<ffffffff8100bdde>] ? apic_timer_interrupt+0xe/0x20
[<ffffffff8136b50a>] ? schedule+0xa/0x30
[<ffffffff810578cd>] ? hrtimer_wait_for_timer+0x5d/0xa0
[<ffffffff81053460>] ? autoremove_wake_function+0x0/0x30
[<ffffffff81057920>] ? hrtimer_cancel+0x10/0x30
[<ffffffff810368ce>] ? finish_task_switch+0x13e/0x140
[<ffffffff8136acb2>] ? thread_return+0x41/0x65f
[<ffffffff81031eb4>] ? update_curr_rt+0x144/0x1a0
[<ffffffff8136b4dd>] ? preempt_schedule+0x6d/0x90
[<ffffffff810316f8>] ? deadline_timer+0x58/0xa0
[<ffffffff81056a42>] ? run_hrtimer_softirq+0xc2/0x1b0
[<ffffffff810316a0>] ? deadline_timer+0x0/0xa0
[<ffffffff810426b2>] ? ksoftirqd+0x172/0x2d0
[<ffffffff81042540>] ? ksoftirqd+0x0/0x2d0
[<ffffffff810530b6>] ? kthread+0xa6/0xb0
[<ffffffff8100c30a>] ? child_rip+0xa/0x20
[<ffffffff81053010>] ? kthread+0x0/0xb0
[<ffffffff8100c300>] ? child_rip+0x0/0x20

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

44. "В ядро Linux может быть включен планировщик реального времен..."  +2 +/
Сообщение от A on 21-Окт-09, 10:51 
Для тех, кому это нужно, давно уже есть набор rt-патчей и некоторые дистрибутивы предоставляют альтернативный вариант сборки ядра с этими патчами. Одно из применений — обработка звука с низкими задержками (обычно требуется, чтобы весь цикл обработки одного буфера, в котором могут участвовать несколько приложений, занимал порядка 5-10 мс). В любом "студийном" дистрибутиве (Ubuntu Studio, PlanetCCRMA и т.п.) такое ядро по умолчанию. Естественно, при использовании rt-ядра общая производительность системы несколько снижается, а отзывчивость увеличивается.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

84. "В ядро Linux может быть включен планировщик реального времен..."  +/
Сообщение от Аноним email(??) on 09-Ноя-09, 17:00 
Ставил, кернел паник хапанул сразу же. И много народу пишут что у них то же самое.

Действительно нехорошая проблема на самом деле. Под линух есть неплохие коммерческие DAW'ы energy xt и renoise, а вот попользоваться ими нормально не получается из-за хренового реалтайма.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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