Powiedzmy, że 4 wątki działają na 4 oddzielnych rdzeniach procesora wielordzeniowego x86 i nie udostępniają żadnych danych, czy możliwe jest progresywne wykonanie 4 rdzenie wykorzystują oddzielne i predefiniowane części współużytkowanej pamięci podręcznej L2.Czy możliwe jest przypisanie części współużytkowanych pamięci podręcznych L2 do różnych rdzeni?
Odpowiedz
Używajmy dwóch terminów, ekskluzywnych i współdzielonych pamięci podręcznych zamiast pamięci podręcznych L1, L2, L3, L4. Różne rodziny procesorów zaczynają udostępniać pamięć podręczną na różnych poziomach. W przedstawionych terminach pierwotne pytanie brzmi: czy możliwe jest dzielenie współużytkowanej pamięci podręcznej na części, z których każda będzie używana wyłącznie przez jeden z procesorów/rdzeni? Nie ma jednoznacznej odpowiedzi. Ponadto istnieją dwie odpowiedzi naprzeciwko siebie.
1) Pierwsza i ogólna odpowiedź: NIE. Pamięć podręczna jest zaprojektowana w sprzęcie. Dostępnych jest tylko kilka dźwigni sterujących pamięci podręcznej w oprogramowaniu, takich jak włączanie/wyłączanie pamięci podręcznej dla całej pamięci lub określonego regionu pamięci, stosowanie określonych zasad dla spłukiwania pamięci podręcznej (zapisywanie/zapisywanie). NIE w zasadzie ze względu na fakt, że został zaprojektowany do zarządzania sprzętem. Nie ma więc użytecznych interfejsów, które pozwolą na wygodne zarządzanie oprogramowaniem.
2) Druga odpowiedź: Tak. Tak naprawdę pamięć podręczna zaprojektowana w taki sposób, że każda linia pamięci podręcznej może zapisywać dane z określonego zestawu linii pamięci. W związku z tym, jeśli menedżer pamięci zapewnia gwarancję, że ten sam procesor jest używany przez jeden procesor/rdzeń i używa wszystkich linii pamięci przypisanych wyłącznie do tej samej linii pamięci podręcznej, wówczas menedżer pamięci zapewnia, że ta linia pamięci podręcznej będzie używana wyłącznie przez ten procesor. Jest to bardzo trudne rozwiązanie. Ma on bardzo ograniczone korzyści i ma poważne wady: układ pamięci jest bardzo pofragmentowany, wykorzystanie pamięci podręcznej jest niezrównoważone, skomplikowane zarządzanie pamięcią, bardzo zależne od oprogramowania typu "hadrware" (szczegóły można znaleźć w artykule dostarczonym przez "MetallicPriest").
Życiorys: jest to możliwe w teorii i prawie niemożliwe w praktyce.
Oto jeden interesujący artykuł na ten temat, http://www.eecg.toronto.edu/~tamda/papers/softpart.pdf – MetallicPriest
Szczególnie podoba mi się termin * problematycznie * ... ;-) – Axel
Oh, Nie widziałem, aby zalecenie sprawdzania pisowni było problematyczne, gdy pisałem programowo, LOL! – MetallicPriest