Wyniki 1-6 spośród 6 dla zapytania: authorDesc:"KRZYSZTOF TABOREK"

Analityczna metoda wyznaczania wydajności systemów wieloprocesorowych

Czytaj za darmo! »

Zaprezentowano analityczną metodę wyznaczania wydajności systemów wieloprocesorowych ze wspólną pamięcią. Podany został model kolejkowy takich systemów. Na podstawie tego modelu zostały wyprowadzone wzory, dzięki którym można obliczać średnie czasy oczekiwania procesorów (klientów) na swoją obsługę (w kolejce). Podany został schemat obliczeniowy, pozwalający wyznaczać wydajność takich systemów wieloprocesorowych. Otrzymane tą metodą wyniki analityczne zostały porównane ze zmierzonymi w rzeczywistym systemie wieloprocesorowym. Przedstawiona metoda charakteryzuje się dużą dokładnością. Abstract. The analytical method of performance prediction of multiprocessor systems with common memory was presented. The queueing model of such systems was given. On the base of this model formulas were derived. Thanks to them we can calculate mean waiting times of processors (customers) for their services (in the queue). The calculation diagram was presented. It allows to compute performance of such multiprocessor systems. The results obtained thanks to this analytical method were compared with the corresponding results which were measured in the real multiprocessor system. The presented method is conspicuous by its high precision. (Analytical method of performance prediction of multiprocessor systems). Słowa kluczowe: model kolejkowy, system wieloprocesorowy, układ arbitrażu, wydajność systemu wieloprocesorowego. Keywords: arbitration circuit, multiprocessor performance, multiprocessor system, queueing model. Wstęp Typowa architektura systemu wieloprocesorowego ze wspólną pamięcią może być w sposób ogólny pokazana jak na rysunku 1. Obecnych N procesorów komunikuje się tutaj ze wspólną pamięcią poprzez pojedynczą magistralę. Ponieważ jednocześnie nawet kilka procesorów może chcieć wymieniać swoje dane z pamięcią, a w tym samym czasie tylko jeden z nich może to robić, to w systemie znajduje się nadzorca, który steruje całym ruchem danych przez magistralę[...]

Analityczna metoda opisująca działanie układów arbitrażu z rotacją priorytetów


  W systemach wieloprocesorowych, ale także w wielu innych urządzeniach np. telekomunikacyjnych, stosuje się tzw. układy arbitrażu (zwane często po prostu arbitrami ). Ich głównym zadaniem jest rozstrzygać konflikty, które powstają gdy wielu klientów (aktywne podzespoły) chce jednocześnie wykorzystać wspólny zasób systemu. W systemie wieloprocesorowym tymi klientami są procesory, które chcą wymieniać dane ze wspólną pamięcią (zwaną także pamięcią globalną). W danym momencie tylko jeden z nich może to robić i układ arbitrażu wybiera spośród zgłaszających się procesorów jednego, któremu udostępnia magistralę, łącząc go z pamięcią globalną. Układ arbitrażu dokonuje tego wyboru stosując określony algorytm (protokół) obsługi zgłoszeń. W układach arbitrażu można zaimplementować różne algorytmy obsługi zgłoszeń np.: FCFS (FIFO), LCFS (LIFO), czy też różne protokoły priorytetowe. W systemach wieloprocesorowych bardzo często stosowane są układy arbitrażu, wykorzystujące protokoły z tzw. rotacją priorytetów [3]. Rodzaje protokołów z rotacją priorytetów Można wyróżnić kilka typów protokołów obsługi z rotacją priorytetów. Działanie dwóch spośród nich pokazano graficznie na rys. 1. Działanie najbardziej popularnego tego rodzaju protokołu przedstawiono na rys. 1 (lewa strona). Algorytm ten można szczegółowo nazwać - z pełną rotacją priorytetów do najniższego. Na tym rysunku i w dalszej części artykułu będzie on oznaczany symbolicznie jako RL. Dla tego rodzaju algorytmu, kiedy arbiter wybrał klienta (zgłoszenie od procesora) o k-tym priorytecie to, po jego obsłudze, klientowi temu nadawany jest najniższy z możliwych priorytetów w systemie. Klienci o wyższych priorytetach (0,... k-1) zachowują swoje priorytety, natomiast klienci o niższych priorytetach (k+1,... K-1) zwiększają swój priorytet o jeden. Algorytm ten charakteryzuje się dużą sprawiedliwością (fairness) w obsłudze klientów [3]. Drugi z protokołów, których działanie przedstawiono na[...]

Równomierne obciążenie procesorów w systemie wieloprocesorowym

Czytaj za darmo! »

System wieloprocesorowy ze wspólną pamięcią został w uproszczony sposób pokazany na rys. 1. Obecne w systemie procesory realizując swoje zadania programowe muszą co pewien czas kontaktować się ze wspólną pamięcią, tzw. pamięcią globalną. Kontakty te umożliwiają wymianę danych między poszczególnymi jednostkami obliczeniowymi. W tym celu procesory wysyłają tzw. zgłoszenia dostępu. Ponieważ do[...]

Nierównomierne obciążenie procesorów w systemie wieloprocesorowym

Czytaj za darmo! »

Niech systemwieloprocesorowy ze wspólną pamięcią [2] składa się z N procesorów. Obecne w systemie procesory, realizując swoje zadania programowe, muszą co pewien czas kontaktować się ze wspólną pamięcią, tzw. pamięcią globalną. Kontakty te umożliwiają wymianę danych między poszczególnymi jednostkami obliczeniowymi. W tym celu procesory wysyłają tzw. zgłoszenia dostępu. Ponieważ do pamięci globalnej wiedzie tylko jedna magistrala, a w danej chwili tylko jeden procesor może z niej korzystać, to procesory o niższych priorytetach będą czasami musiały oczekiwać na swój dostęp w kolejce. Zależnie od sprzętowej konstrukcji takiego systemu, cykl dostępu do pamięci globalnej każdego procesora (nie licząc jego ewentualnego czasu oczekiwania w kolejce), składa się z jednego lub kilku cyk[...]

System wieloprocesorowy do badania układów arbitrażu – rozwiązanie sprzętowe


  Architektura prezentowanego systemu wieloprocesorowego jest rozwinięciem zaprojektowanego wcześniej 8-bitowego systemu wieloprocesorowego, który został opisany w [3]. Schemat blokowy obrazujący ideę działania tego zmodyfikowanego systemu wieloprocesorowego przedstawia rys. 1. Cały system możemy podzielić na bloki funkcjonalne, które ze sobą współpracują. Jeden z procesorów jest wyróżniony i nazwany master. Pozostałe, znajdujące się w systemie procesory, są jednostkami podległymi i każdy z nich jest nazwany slave. Wszystkie procesory wyposażono w pamięci lokalne. Procesor master steruje całym systemem. Może on uruchomić poszczególne jednostki slave używając systemu przerwań. W tym celu, poprzez magistralę globalną, master ustawia w rejestrze zgłoszeń przerwań odpowiednie bity. Ustawione przerzutniki wysyłają do odpowiadających sobie procesorów slave aktywne sygnały INT. Uruchomione poprzez przerwania jednostki podległe wykonują zadania i na końcu swojej pracy zerują swoje przerzutniki w rejestrze zgłoszeń przerwań. Wydajność systemu wieloprocesorowego określana jest poprzez pomiar czasu wykonania całego programu. Czas jest mierzony do momentu gdy wszystkie bity Qi rejestru przerwań zostaną wyzerowane. Procesor master ma również swój przerzutnik w rejestrze zgłoszeń przerwań a odpowiadający jemu bit Q0 procesor ten ustawia jak i zeruje na drodze programowej. Realizując swoje zadanie, każdy z procesorów próbuje zapisać lub odczytać dane z pamięci globalnej. W tym celu wysyła swój sygnał zgłoszenia/REQUEST do układu arbitrażu. Gdy arbiter zezwala zgłaszającej się jednostce przejąć magistralę, to wysyła do niej sygnał zwrotny/GRANT. Procesory, które wysłały swoje zgłoszenia ale nie dostały zezwolenia na przejęcie magistrali globalnej, są utrzymywane w stanie WAIT (brak sygnału READY). W tak zaprojektowanym systemie układ arbitrażu jest samodzielnym modułem. Ułatwione jest zatem badanie wydajności systemu wieloprocesorowego w zal[...]

Układ arbitrażu z pełną rotacją priorytetów do najniższego dla systemu wieloprocesorowego

Czytaj za darmo! »

W klasycznej architekturze systemu wieloprocesorowego procesory komunikują się przez wspólną pamięć oraz pojedynczą magistralę [2]. Jednocześnie nawet kilka jednostek procesorów może wysłać swoje zgłoszenia dostępu do pamięci. Jednak w tym samym czasie tylko jeden procesor może przesyłać dane przez magistralę. Pozostałe jednostki muszą oczekiwać w kolejce na dostęp do magistrali. Z tego też[...]

 Strona 1