211service.com
Nowy język programowania równoległego
Zaprojektowano nowy język programowania, aby jak najlepiej wykorzystać najnowsze wielordzeniowe procesory komputerowe. Jeśli znajdzie uznanie wśród programistów, może dostarczyć potężniejsze oprogramowanie dla wielu komputerów.
W ciągu ostatnich kilku lat, gdy zmagali się z fizycznymi ograniczeniami miniaturyzacji, producenci mikroukładów przeszli od zwiększania mocy rdzeni procesora — części układu obsługującego dane i instrukcje — do dodawania większej liczby rdzeni do jednego układu . Na przykład procesory Intel i3 i i7 mają odpowiednio dwa i cztery rdzenie.
Stanowi to wyzwanie dla programistów. Ponieważ większość języków programowania została zaprojektowana dla układów jednordzeniowych, dzielenie zadań i wysyłanie ich równolegle do każdego rdzenia może być trudne. Jeśli koder nie jest ostrożny, może to powodować błędy w sposobie, w jaki każdy rdzeń w chipie uzyskuje dostęp do współdzielonych sekcji pamięci.
Tucker Taft , dyrektor ds. technologii i prezes bostońskiej firmy programistycznej SofCheck , zaprojektował nowy język – zwany Równoległy język specyfikacji i implementacji (ParaSail) — specjalnie do pisania oprogramowania dla procesorów wielordzeniowych. Język ma na celu uniknięcie pułapek, które zwykle zdarzają się podczas pracy z układami wielordzeniowymi.
Dla programisty ParaSail wygląda jak zmodyfikowana forma Java lub C#, dwóch wiodących języków. Różnica polega na tym, że automatycznie dzieli program na tysiące mniejszych zadań, które można następnie rozłożyć na rdzenie — sztuczka zwana piko-wątkami, która maksymalizuje liczbę zadań wykonywanych równolegle, niezależnie od liczby rdzeni. ParaSail wykonuje również debugowanie automatycznie, co czyni kod bezpieczniejszym. Domyślnie wszystko odbywa się równolegle, chyba że powiesz inaczej, mówi Taft.
Oczekuje się, że w ciągu następnej dekady liczba rdzeni w chipach komputerowych wzrośnie jeszcze bardziej. Obecnie istnieje kilka maszyn z dziesiątkami lub setkami rdzeni, mówi Taft.
ParaSail wykorzystuje szereg innych sztuczek, niektóre czerpią z języków opracowanych pod koniec lat 80. i na początku lat 90. dla superkomputerów — maszyn obsługujących wiele pojedynczych chipów komputerowych połączonych w sieć. Projekt samego języka jest w zasadzie kompletny, mówi Taft, który przedstawił szczegóły języka w środę o godz Konwencja O’Reilly Open Source . Pierwsza wersja kompilatora zostanie wydana mniej więcej w przyszłym miesiącu. Język będzie działał na komputerach z systemem Windows, Mac i Linux.
Microsoft i Intel inwestują 20 milionów dolarów w dostosowanie istniejących języków do procesorów wielordzeniowych, więc trudno powiedzieć, czy ParaSail zostanie powszechnie przyjęty. Wielu ludzi rozwiązuje ten problem, biorąc istniejące języki i próbując je ulepszyć w obsłudze przetwarzania równoległego, mówi Taft.
Taft ma już udokumentowane osiągnięcia w świecie rozwoju języka komputerowego, mówi Denis Nicole z grupy inżynierii systemów niezawodnych i oprogramowania na Uniwersytecie w Southampton. Dodaje jednak, że zwykle potrzeba firm wielkości Sun, aby wprowadzić nowe języki do społeczności.