Wstęp do algorytmów lock-free
W obecnych czasach cztery czy nawet osiem rdzeni w procesorze komputera osobistego nikogo nie zaskakuje. To, co jeszcze 10 lat temu zarezerwowane było prawie wyłącznie dla domeny procesorów serwerowych, dzisiaj znaleźć można w rozwiązaniach dedykowanych dla telefonów komórkowych. Jednakże czy ze wzrostem ilości rdzeni obserwujemy również wzrost wydajności aplikacji? Innymi słowy, czy trend wzrostu ilości rdzeni w procesorach jest odpowiednio wykorzystany przez programistów? Czy zastosowany algorytm współdzielenia danych może w znaczący sposób ograniczać skalowalność? W niniejszym artykule postaramy się odpowiedzieć na te pytania i jednocześnie pokazać, jak można poprawić swoje „kung-fu” programowania współbieżnego.