Re: [lms] [OT] rozbiecie ruchu rx i tx jednej sieciowki na2przerwania
On Thu, 25 Mar 2010 10:21:26 +0100, Wojciech Świadkowski wojtek@euro-net.pl wrote:
Z ciekawosci : jaką korzyść można osiągnać z rozbicia ruchu rx i tx
na
osobne przerwania ?
Jak sie ma malo sieciowek a duzo prockow powoduje lepsze rozlozenie obcizenia procesorow np 2 sieciowki i 4 rdzenie i kazdy ma co robic. Sens ma to przy duzym ruchu i przy nadmiarze rdzeni w komputerze.
Ustawienie obsługi przerwania karty sieciowej przez wiele procesorów/rdzeni nie daje tego samego (zresztą tak jest zakładane domyślnie)?
Ktoś mnie kiedyś uczył że w jednym momencie obsluga przerwania moze byc przypisana tylko do 1 procka. 1 przerwanie wykonuje sie tylko na 1 procku, moze zostac przeniesione na
inny, ale ciagle bedzie sie wykonywac na 1 procku Nastepujace po sobie przerwania moga byc obslugiwane na innych prockach
i
stad efekt ze karte obsluguje wiele rdzeni.
Przy kolejnych żądaniach przerwań procedura obsługi wykonuje się na kolejnych rdzeniach/procesorach. Może to jest mało wydajne z jakiegoś powodu?
Tomasz Chiliński pisze:
On Thu, 25 Mar 2010 10:21:26 +0100, Wojciech Świadkowski wojtek@euro-net.pl wrote:
Z ciekawosci : jaką korzyść można osiągnać z rozbicia ruchu rx i tx
na
osobne przerwania ?
Jak sie ma malo sieciowek a duzo prockow powoduje lepsze rozlozenie obcizenia procesorow np 2 sieciowki i 4 rdzenie i kazdy ma co robic. Sens ma to przy duzym ruchu i przy nadmiarze rdzeni w komputerze.
Ustawienie obsługi przerwania karty sieciowej przez wiele procesorów/rdzeni nie daje tego samego (zresztą tak jest zakładane domyślnie)?
Ktoś mnie kiedyś uczył że w jednym momencie obsluga przerwania moze byc przypisana tylko do 1 procka. 1 przerwanie wykonuje sie tylko na 1 procku, moze zostac przeniesione na
inny, ale ciagle bedzie sie wykonywac na 1 procku Nastepujace po sobie przerwania moga byc obslugiwane na innych prockach
i
stad efekt ze karte obsluguje wiele rdzeni.
Przy kolejnych żądaniach przerwań procedura obsługi wykonuje się na kolejnych rdzeniach/procesorach. Może to jest mało wydajne z jakiegoś powodu?
Na logikę biorąc to jeśli przypiszesz obsługę przerwań jednej sieciówki do jednego rdzenia to powinno to działać szybciej, choćby ze względu, że wtedy wykorzystywany jest cache procesora.
On Thu, 25 Mar 2010 13:11:10 +0100, Grzegorz Chwesewicz grzegorz.chwesewicz@retis.net.pl wrote:
Tomasz Chiliński pisze:
Przy kolejnych żądaniach przerwań procedura obsługi wykonuje się na kolejnych rdzeniach/procesorach. Może to jest mało wydajne z jakiegoś powodu?
Na logikę biorąc to jeśli przypiszesz obsługę przerwań jednej sieciówki do jednego rdzenia to powinno to działać szybciej, choćby ze względu, że wtedy wykorzystywany jest cache procesora.
A jak przypiszesz obsługę przerwań jednej sieciówki do kilku rdzeni/procesorów to wtedy cache w procesorze nie jest używany? ;-)
Tomasz Chiliński pisze:
On Thu, 25 Mar 2010 13:11:10 +0100, Grzegorz Chwesewicz grzegorz.chwesewicz@retis.net.pl wrote:
Tomasz Chiliński pisze:
Przy kolejnych żądaniach przerwań procedura obsługi wykonuje się na kolejnych rdzeniach/procesorach. Może to jest mało wydajne z jakiegoś powodu?
Na logikę biorąc to jeśli przypiszesz obsługę przerwań jednej sieciówki do jednego rdzenia to powinno to działać szybciej, choćby ze względu, że wtedy wykorzystywany jest cache procesora.
A jak przypiszesz obsługę przerwań jednej sieciówki do kilku rdzeni/procesorów to wtedy cache w procesorze nie jest używany? ;-)
Jest, ale są wtedy "pudła" (cache miss).
Dnia 2010-03-25 o godz. 13:32 Grzegorz Chwesewicz <grzegorz.chwesewicz@retis.net.pl
napisał(a):
Tomasz Chiliński pisze:
On Thu, 25 Mar 2010 13:11:10 +0100, Grzegorz Chwesewicz grzegorz.chwesewicz@retis.net.pl wrote:
Tomasz Chiliński pisze:
Przy kolejnych żądaniach przerwań procedura obsługi wykonuje s ię na kolejnych rdzeniach/procesorach. Może to jest mało wydajne z jakiegoś po wodu?
Na logikę biorąc to jeśli przypiszesz obsługę przerwań jednej sieciówki do jednego rdzenia to powinno to działać szybciej, choćby ze wzg lędu, że wtedy wykorzystywany jest cache procesora.
A jak przypiszesz obsługę przerwań jednej sieciówki do kilku rdzeni/procesorów to wtedy cache w procesorze nie jest używany? ;-)
Jest, ale są wtedy "pudła" (cache miss).
A co wg ciebie będzie wtedy w cache co da hit przy jednym procku i pudlo przy dwóch?
Rafał Ramocki pisze:
Dnia 2010-03-25 o godz. 13:32 Grzegorz Chwesewicz grzegorz.chwesewicz@retis.net.pl napisał(a):
Tomasz Chiliński pisze:
On Thu, 25 Mar 2010 13:11:10 +0100, Grzegorz Chwesewicz grzegorz.chwesewicz@retis.net.pl wrote:
Tomasz Chiliński pisze:
Przy kolejnych żądaniach przerwań procedura obsługi wykonuje się na kolejnych rdzeniach/procesorach. Może to jest mało wydajne z jakiegoś powodu?
Na logikę biorąc to jeśli przypiszesz obsługę przerwań jednej sieciówki do jednego rdzenia to powinno to działać szybciej, choćby ze względu, że wtedy wykorzystywany jest cache procesora.
A jak przypiszesz obsługę przerwań jednej sieciówki do kilku rdzeni/procesorów to wtedy cache w procesorze nie jest używany? ;-)
Jest, ale są wtedy "pudła" (cache miss).
A co wg ciebie będzie wtedy w cache co da hit przy jednym procku i pudlo przy dwóch?
A chociażby możesz mieć w cache informację czy dany pakiet należy do konkretnego połączenia lub np. możesz tam mieć kod obsługi przerwania.
uczestnicy (3)
-
Grzegorz Chwesewicz
-
Rafał Ramocki
-
Tomasz Chiliński