eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingHyper Threading › Re: Hyper Threading
  • Data: 2009-09-18 06:36:31
    Temat: Re: Hyper Threading
    Od: Bernard <b...@e...net> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    mgk wrote:
    > Mam algorytm ktory nie skaluje sie liniowo. Przyrost wydajnosci to
    > pierwiastek z liczby procesorow. Czyli na 4 rdzeniach jest 2 razy. Na
    > 2 jest jakies 1.4 raza.
    > Algorytm ten nie korzysta z operacji zmiennoprzecinkowych.
    >
    > Mam obawy co do HT.
    > Z tego co wiem o HyperThreading to dziala to tak ze na 1 rdzeniu
    > procesor wykonuje 2 watki. Ale tylko wtedy gdy jeden watek
    > wykorzystuje operacje zmiennoprzecinkowe a drugi staloprzecinkowe.
    > Jesli sie myle to prosze o skorygowanie. Tak gdzies czytalem. Nie
    > dotarlem nigdzie jak to jest do konca.

    Mylisz się. Po prostu procesor wykonuje na przemian instrukcje obu
    wątków. Robi to dość elatycznie - kiedy jeden strumień instrukcji
    dostaje czkawki, wykonuje się ten drugi.

    > Ale jesli tak jest to oznacza ze nie ma sensu tworzyc 2 watkow na 1
    > rdzen HT.
    >
    > Czyli jesli moja aplikacja dzieli zadanie na tyle watkow ile mam
    > procesorow, a system mi zglasza bledna ich liczbe poniewaz na 4ro
    > rdzeniowym procesorze HT system mi zglosi 8 procesorow moja aplikacja
    > moze dzialac wolniej niz jakby bylo 4 zwykle rdzenie bez HT.

    Jedne aplikacje dziają lepiej z SMT, inne bez. Multimedia i masowe
    obliczenia mogą być sprawniejsze bez HT.

    > Przykladowo na 2 rdzeniowym CPU moja aplikacja przyspiesza 1.4 raza
    > wzgledem 1 rdzeniowego. Gdy procesor jest 1 rdzeniowy z HT i jesli HT
    > dziala tak jak napisalem to aplikacja przyspiesza 1.4/2 raza... czyli
    > 0.7 czyli spowolni...
    >
    > Czy moje obawy sa sluszne?

    Może są, może nie. Wszystko zależy od zależności międzyinstrukcyjnych i
    od sposobu korzystania z kieszeni.

    > Chociaz nie wiem czy na HT gdy jeden watek wykonuje np kopiowanie
    > zmiennej z pamieci do rejestru, albo wrzucenie na stos, a drugi watek
    > wykonuje dodawanie na ALU to czy nie wykonaja sie te operacje
    > rownolegle?

    Dowolne operacje przy HT wykonują się quasi-równolegle. Z grubsza
    intuicyjnie można to opisać tak, że procesor w kolejnych cyklach
    wykonuje na przemian instrukcje dwóch wątków, i są to zupełnie dowolne
    instrukcje.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: