Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmitry Miloserdov                    2:5020/400     21 Apr 2005  18:47:25
 To : Valentin Nechayev
 Subject : Re: DragonFlyBSD
 -------------------------------------------------------------------------------- 
 
 Hello, Valentin!
 You wrote to me on Wed, 20 Apr 2005 06:59:13 +0000 (UTC):
 
  DM>> То есть только в головах разработчиков? Всех? И как контролировать
  DM>> целостность
  DM>> этой распределенной бд.
  VN> А никак. Вот такая уж специфика разработки без принудительного
  VN> документирования. Welcome to open source world, dude...
 
  DM>> Сериализация нужна только при постановке сообщения
  DM>> в очередь порта - но и тут у них какой-то безблокировочный алгоритм
  DM>> применен ( не вникал но думаю ничего сложного в атомарном добавлении
  DM>> в циклический буфер нет )
  VN> В циклический как раз сложно. В линейный - есть стандартные lock-free
  VN> алгоритмы (на атомарном обмене), примерно такого типа:
 
 [....]
 
  VN> Для циклического же требуется менять значения одновременно в двух
  VN> разных местах
 
 Ты про циклический список а там буфер. Отличия - фиксированная длина
 добавление возможно только в хвост извлечение только из головы.
 При этом извлечение сериализовано автоматически - читатель-то один.
 
 Hапример так:
 
 struct msg* msgbuf[MAXMSGS];
 const int wrap=(INT_MAX/MAXMSG)*MAXMSG;
 int head,tail;
 void push(msg*m)
 { int cur;
   do {
          cur=tail;
          if(cur==head+MAXMSG-1 || head+MAXMSG-1-cur==wrap)
           { _switch(); /* буфер полон */ }
        } while(!atomic_compare_and_set( &tail, cur, (cur+1)%wrap ) );
   if( ! atomic_compare_and_set( &msgbuf[cur%MAXMSG], 0, m ) ) )
     { /* тут скорее всего нужно вставить assert  */ }
 }
 mgs * shift()
 {
   msg *m;
   m=msgbuf[head%MAXMSG];
   if(m) { msgbuf[head%MAXMSG]=0; head=(head+1)%wrap; }
  return m;
 }
 
 При желании shift тоже переделывается для нескольких читателей.
 Если MAXMSG это 1<<n то wrap не нужен.
 Hаверное если сделать rtfs то можно увидеть более красивое решение.
 
  VN> Вот именно. lwkt раздела передал сообщение lwkt диска и ждёт... или не
  VN> ждёт? Если ждёт - получаем затор - с разделом больше ничего нельзя
  VN> делать, с диском больше ничего нельзя делать...; если не ждёт -
  VN> получаем необходимость рисования полной FSM.
 
 Hу зачем же крайности можно микрошедулер внутри треда сделать благо
 опыт тредов freebsd4 еще не забыт ;). stack&state делать не per-lwkt а
 per-message
 там где это нужно. Гарантия что к глобальным данным нет конкурирующего
 доступа остается так как из sub-треды в работе не более одной причем
 все спящие sub-треды уснули по собственному желанию а не вытеснением.
 
 Вариант с "ждем" тоже не фатально плох - это все равно очень большой
 шаг вперед от 4.x с Giant по любому поводу. По сравнению с 5кой тоже
 есть плюсы - там где в 5ке стоит faculty-based mutex при входе, dragonfly
 выиграет из-за возможности распараллеливания "отправной точки" по
 нескольким процессорам ( там где не распараллелят все равно будет не
 хуже 5ки ). Там же, где в 5ке сумели ограничиться коротким мутексом
 и от точки входа до выхода сумели не трогать Giant, 5ка вроде бы должна
 смотреться лучше, правда это произошло скорее всего из-за того что
 вызов был ошибочен и никакой полезной работы сделано не было.
 
 Вышесказанное это ничем не подтвержденное личное предположение.
 
 With best regards, Dmitry Miloserdov.  E-mail: dmitry@bis.ru
 
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 DragonFlyBSD   Alex Ivanov   01 Apr 2005 19:14:30 
 Re: DragonFlyBSD   Gleb Smirnoff   01 Apr 2005 21:33:25 
 Re: DragonFlyBSD   Kirill Ponomarew   01 Apr 2005 21:55:46 
 Re: DragonFlyBSD   Alex Ivanov   04 Apr 2005 11:07:35 
 Re: DragonFlyBSD   Eugeny Chernetcki   01 Apr 2005 22:47:29 
 Re: DragonFlyBSD   Ilya Kiselyov   04 Apr 2005 11:19:23 
 Re: DragonFlyBSD   Eugeny Chernetcki   04 Apr 2005 13:07:56 
 Re: DragonFlyBSD   Sergey Matveychuk   06 Apr 2005 09:43:44 
 Re: DragonFlyBSD   Ilya Kiselyov   06 Apr 2005 10:56:30 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 14:28:19 
 Re: DragonFlyBSD   Gleb Smirnoff   11 Apr 2005 15:38:41 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 15:46:50 
 DragonFlyBSD   Igor Savchyk   05 Apr 2005 14:37:32 
 Re: DragonFlyBSD   Kirill Ponomarew   06 Apr 2005 17:18:45 
 DragonFlyBSD   Igor Savchyk   07 Apr 2005 10:07:46 
 DragonFlyBSD   Ilya Kulagin   07 Apr 2005 14:15:02 
 Re: DragonFlyBSD   Eugene Grosbein   07 Apr 2005 18:57:27 
 DragonFlyBSD   Dmitry Ageev   07 Apr 2005 17:30:58 
 Re: DragonFlyBSD   Eugene Grosbein   07 Apr 2005 22:39:54 
 Re: DragonFlyBSD   Anton V. Yuzhaninov   09 Apr 2005 23:51:43 
 Re: DragonFlyBSD   Gleb Smirnoff   07 Apr 2005 18:31:08 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 19:34:41 
 Re: DragonFlyBSD   Sergey Skvortsov   07 Apr 2005 21:17:14 
 DragonFlyBSD   Vassily Kiryanov   08 Apr 2005 09:09:42 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 20:34:17 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 10:27:03 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 12:37:00 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 14:55:37 
 Re: DragonFlyBSD   Valentin Davydov   09 Apr 2005 13:28:50 
 Re: DragonFlyBSD   Sergey Skvortsov   08 Apr 2005 21:14:24 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 11:10:21 
 Re: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 11:57:41 
 DragonFlyBSD   Vassily Kiryanov   09 Apr 2005 15:00:12 
 Re: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 16:59:54 
 DragonFlyBSD   Slawa Olhovchenkov   09 Apr 2005 23:08:56 
 Re: DragonFlyBSD   Sergey Skvortsov   10 Apr 2005 02:07:42 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 03:05:37 
 Re: DragonFlyBSD   Valentin Nechayev   10 Apr 2005 11:37:59 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 12:40:02 
 Re: DragonFlyBSD   Valentin Nechayev   10 Apr 2005 12:56:52 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 13:50:57 
 Re: DragonFlyBSD   Valentin Nechayev   11 Apr 2005 12:23:26 
 Re: DragonFlyBSD   Eugeny Chernetcki   11 Apr 2005 13:58:38 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 16:34:55 
 Re: DragonFlyBSD   Eugeny Chernetcki   11 Apr 2005 16:44:31 
 DragonFlyBSD   Lev Serebryakov   11 Apr 2005 21:38:48 
 Re: DragonFlyBSD   Eugeny Chernetcki   11 Apr 2005 22:31:08 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 14:10:23 
 DragonFlyBSD   Lev Serebryakov   10 Apr 2005 12:15:36 
 Re: DragonFlyBSD   Eugeny Chernetcki   10 Apr 2005 12:46:49 
 DragonFlyBSD   Alexander Pashchenko   11 Apr 2005 22:57:06 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 18:25:33 
 Re: DragonFlyBSD   Gleb Smirnoff   11 Apr 2005 11:54:43 
 DragonFlyBSD   Vassily Kiryanov   11 Apr 2005 13:31:59 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 14:09:47 
 Re: DragonFlyBSD   Valentin Davydov   11 Apr 2005 18:52:34 
 DragonFlyBSD   Vassily Kiryanov   12 Apr 2005 11:22:11 
 Re: DragonFlyBSD   Valentin Davydov   13 Apr 2005 13:09:05 
 DragonFlyBSD   Alex Masterov   14 Apr 2005 10:59:10 
 DragonFlyBSD   Vassily Kiryanov   14 Apr 2005 17:25:56 
 DragonFlyBSD   Artem Ignatiev   14 Apr 2005 16:44:09 
 DragonFlyBSD   Ivan Ushakov   14 Apr 2005 21:21:29 
 Re: DragonFlyBSD   Dmitry Miloserdov   14 Apr 2005 20:27:26 
 DragonFlyBSD   Ivan Ushakov   15 Apr 2005 08:48:10 
 Re: DragonFlyBSD   Eugene Grosbein   14 Apr 2005 23:33:43 
 DragonFlyBSD   Vassily Kiryanov   15 Apr 2005 09:02:31 
 DragonFlyBSD   Alex Ivanov   15 Apr 2005 10:52:23 
 DragonFlyBSD   Sultan Azhiguzhayev   15 Apr 2005 11:20:48 
 DragonFlyBSD   Artem Ignatiev   15 Apr 2005 16:28:17 
 Re: DragonFlyBSD   Andrew Filonov   15 Apr 2005 17:10:41 
 Re: DragonFlyBSD   Artem Ignatiev   15 Apr 2005 18:29:44 
 Re: DragonFlyBSD   Eugene Grosbein   15 Apr 2005 22:30:41 
 Re: DragonFlyBSD   Artem Ignatiev   15 Apr 2005 20:18:53 
 Re: DragonFlyBSD   Eugene Grosbein   15 Apr 2005 23:58:46 
 Re: DragonFlyBSD   Artem Ignatiev   16 Apr 2005 00:07:33 
 Re: DragonFlyBSD   Eugene Grosbein   16 Apr 2005 11:12:10 
 Re: DragonFlyBSD   Eugeny Dzhurinsky   15 Apr 2005 17:49:46 
 Re: DragonFlyBSD   Artem Ignatiev   15 Apr 2005 20:22:21 
 DragonFlyBSD   Lev Serebryakov   16 Apr 2005 00:18:24 
 Re: DragonFlyBSD   Dmitry Miloserdov   15 Apr 2005 20:42:20 
 DragonFlyBSD   Lev Serebryakov   16 Apr 2005 00:19:34 
 Re: DragonFlyBSD   Andrew Filonov   18 Apr 2005 10:11:35 
 DragonFlyBSD   Lev Serebryakov   19 Apr 2005 23:45:10 
 Re: DragonFlyBSD   Andrew Filonov   20 Apr 2005 11:01:49 
 DragonFlyBSD   Lev Serebryakov   20 Apr 2005 22:55:56 
 Re: DragonFlyBSD   Andrew Filonov   21 Apr 2005 15:28:54 
 DragonFlyBSD   Lev Serebryakov   22 Apr 2005 00:07:12 
 Re: DragonFlyBSD   Mykola Dzham   16 Apr 2005 12:42:15 
 DragonFlyBSD   Vitaly Mihno   01 Jan 2002 17:23:07 
 Re: DragonFlyBSD   Valentin Davydov   14 Apr 2005 18:09:50 
 Re: DragonFlyBSD   Vasily Korytov   07 Apr 2005 23:13:38 
 Re: DragonFlyBSD   Sergey Skvortsov   08 Apr 2005 00:26:30 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 20:38:54 
 Re: DragonFlyBSD   Sergey Skvortsov   08 Apr 2005 22:49:01 
 Re: DragonFlyBSD   Valeriy E. Ushakov   09 Apr 2005 17:51:04 
 Re: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 18:37:08 
 Re: DragonFlyBSD   Valeriy E. Ushakov   09 Apr 2005 20:57:20 
 Re: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 15:34:08 
 Re: DragonFlyBSD   Igor Sysoev   11 Apr 2005 14:15:06 
 DragonFlyBSD   Lev Serebryakov   09 Apr 2005 00:39:24 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 02:59:45 
 DragonFlyBSD   Lev Serebryakov   09 Apr 2005 13:02:44 
 Re: DragonFlyBSD   Valentin Davydov   09 Apr 2005 13:28:50 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 15:35:04 
 Re: DragonFlyBSD   Valentin Davydov   11 Apr 2005 18:52:33 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 18:09:26 
 Re: DragonFlyBSD   Dmitry Miloserdov   12 Apr 2005 21:26:24 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 10:15:25 
 Re: DragonFlyBSD   Dmitry Miloserdov   13 Apr 2005 20:05:40 
 Re: DragonFlyBSD   Valentin Nechayev   20 Apr 2005 10:59:13 
 Re: DragonFlyBSD   Dmitry Miloserdov   21 Apr 2005 18:47:25 
 Re: DragonFlyBSD   Gleb Smirnoff   13 Apr 2005 11:50:56 
 Re: DragonFlyBSD   Dmitry Miloserdov   13 Apr 2005 13:52:06 
 Re: DragonFlyBSD   Gleb Smirnoff   13 Apr 2005 18:13:43 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 18:13:43 
 Re: DragonFlyBSD   Dmitry Miloserdov   13 Apr 2005 21:01:34 
 Re: DragonFlyBSD   Valentin Nechayev   14 Apr 2005 10:26:55 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 00:53:01 
 Re: DragonFlyBSD   Gleb Smirnoff   08 Apr 2005 10:50:34 
 Re: DragonFlyBSD   vladimir.sharun@ukr.net   08 Apr 2005 10:56:41 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 13:29:16 
 DragonFlyBSD   Igor Savchyk   11 Apr 2005 10:20:34 
 DragonFlyBSD   Alex Ivanov   06 Apr 2005 18:26:00 
 DragonFlyBSD   Igor Savchyk   07 Apr 2005 10:01:14 
 Re: DragonFlyBSD   Dmitri Zubko   07 Apr 2005 21:27:40 
 Re: DragonFlyBSD   Valeriy E. Ushakov   08 Apr 2005 01:54:32 
 Re: DragonFlyBSD   Valentin Nechayev   08 Apr 2005 20:40:25 
 Re^2: DragonFlyBSD   Dmitri Zubko   08 Apr 2005 23:48:16 
 Re: DragonFlyBSD   Valentin Nechayev   09 Apr 2005 12:34:56 
 Re^2: DragonFlyBSD   Dmitri Zubko   09 Apr 2005 23:26:08 
 Re: DragonFlyBSD   Valentin Nechayev   10 Apr 2005 11:52:10 
 Re: DragonFlyBSD   Gleb Smirnoff   11 Apr 2005 11:48:39 
 Re: DragonFlyBSD   Valentin Nechayev   13 Apr 2005 14:09:13 
 Re: DragonFlyBSD   Gleb Smirnoff   13 Apr 2005 18:12:42 
 DragonFlyBSD   Sergej Kosinskij   11 Apr 2005 19:57:26 
 Re: Re^2: DragonFlyBSD   Sergey Skvortsov   09 Apr 2005 16:35:42 
 Re^2: Re^2: DragonFlyBSD   Dmitri Zubko   09 Apr 2005 23:43:54 
 Re: Re^2: Re^2: DragonFlyBSD   Sergey Skvortsov   10 Apr 2005 01:47:01 
 Re: Re^2: Re^2: DragonFlyBSD   Valentin Davydov   11 Apr 2005 18:52:32 
 Re: Re^2: Re^2: DragonFlyBSD   Sergey Skvortsov   11 Apr 2005 19:44:19 
 Re: Re^2: Re^2: DragonFlyBSD   Valentin Davydov   13 Apr 2005 13:45:52 
 Re: Re^2: Re^2: DragonFlyBSD   Sergey Skvortsov   13 Apr 2005 14:11:29 
 Re: DragonFlyBSD   Victor Sudakov   09 Apr 2005 19:52:20 
 Re: Re^2: DragonFlyBSD   Sergey Matveychuk   11 Apr 2005 13:55:40 
 Re^2: Re^2: DragonFlyBSD   Dmitri Zubko   12 Apr 2005 21:09:54 
 DragonFlyBSD   Igor Savchyk   12 Apr 2005 11:26:22 
 DragonFlyBSD   Slawa Olhovchenkov   12 Apr 2005 21:55:22 
Архивное /ru.unix.bsd/65775ebbe4f8.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional