Consulta para multiples tarjetas de red
Horst von Brand
vonbrand en inf.utfsm.cl
Jue Mayo 18 13:30:23 CLT 2006
Miguel Oyarzo <admin en aim.cl> wrote:
> At 00:46 18-05-2006, Horst von Brand wrote:
> >Miguel Oyarzo <admin en aim.cl> wrote:
> >
> >[...]
> >
> >> >"socken des teufel" <utfsm.lista en gmail.com> dijo:
> >
> >[Reformateado para hacerlo comprensible, espero sin cambiar el sentido]
> >
> >> > > Desconosco como funciona exactamente, pero no creo que el sistema
> >> > > operativo tenga alguna priodidad sobre alguna irq mas que otra (a no ser
> >> > > lo hayan fijado a mano asi)
> >> > > Ademas el chipset de la system board es el encargado de balancear las
> >> > > irq de los dispositivos.
> >
> >> No creo que chipset (o el controlador de interrupciones) balancee nada,
> >> su unica funcion es encolar las peticiones y establecer prioridades del
> >> HW que hablara a la CPU.
> >Balancean la atencion de las IRQs de parte de las CPUs.
> Una controladora de interrupciones balanceando IRQs?
> algo asi como funcionan las APIC en sistemas SMP?
Eso es la tarea del APIC...
> Pense que ese balanceo era solo para systemas multiprocesadores. Me
> pregunto que sentido tiene balancear IRQs con un solo procesador. No digo
> que no, pero me suena raro.
No puedes balancear, claro ;-)
> >> La pregunta es si la IRQ asignada a cada tarjeta establece o no prioridad
> >> ante la CPU.
> >No.
> No? es decir, el reloj (irq0) tiene la misma prioridad que el puerto
> paralelo (irq7) ? Pienso que el numero de la IRQ si tiene que ver con la
> prioridad ante la CPU.
Segun se de las discusiones de hardware en los libros sobre Linux, no.
> Talvez en las IRQs de uso general (como 9,10,11, 15) se deberia preguntar
> al controlador de interrupciones a quien se le da mayor prioridad
> (dependiendo del numero de interrupcion que use para llamar a la CPU)
Algunas arquitecturas lo hacen (i.e., mientras se atiende la IRQ N las >= N
tienen que esperar), pero el nucleo Linux solo deshabilita la IRQ N en la
CPU que la recibio, cualquiera de las otras puede interrumpir al handler (y
esa misma podria interrumpir a otra CPU).
> >> Creo que eso permitiria distruibuir mejor el rendimiento de un conjunto
> >> de placas en un mismo servidor, (la placa con mayor trafico no mantendria
> >> la atencion de la CPU tanto tiempo) podra ser efectivo esto?
> >No. Solo si las tarjetas estan saturadas podria hacer alguna diferencia.
> >Las tarjetas son /harto/ mas inteligentes de lo que pareces creer.
> Si... puede ser...
> quizas en rendimiento nomal no haria diferencia alguna...
Y en rendimiento "no normal" (red saturada) estan pensando en usar polling,
no interrupciones (no se si esta ya implementado, y para que tarjetas; es
importante a 1Gbps, y a 10Gbps sera indispensable...).
> pero como saber si superamos cierto nivel de saturacion?
> No creo que sea por que estamos cerca del limite del los 10/100 Mbps o
> si?
En Ethernet (compartido), la red esta saturada cuando tienes algo de 70 a
80% de utilizacion. Con una red switcheada, podria ser mas (aunque me late
que alli se te satura el backbone del switch antes...)
Y, nuevamente: Los benchmarks "donde revienta" rara vez son relevantes; si
el tope que da es 120 y tu carga tipica 20 con puntas de 70, ni te afecta.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Más información sobre la lista de distribución Linux