Budujemy algorytm iteracyjny, używając zestawu zapytań SPARQL dla każdej iteracji. Ten algorytm działa świetnie, ale mamy problem z wykorzystaniem procesora. Silniki SPARQL, takie jak Fuseki, nie są prawdziwie wielowątkowe; umożliwiają wykonywanie wielu jednoczesnych zapytań w wielu wątkach, ale każde pojedyncze zapytanie jest jedno wątkowe. Patrząc na niektóre notatki Fuseki, odnoszę wrażenie, że Fuseki nie jest bezpieczny dla wątków, więc nie jest to trywialny problem.Czy istnieją wątkowe implementacje SPARQL?
Ponieważ nasz algorytm jest z natury szeregowy pod względem zapytań SPARQL i jesteśmy zainteresowani jednym uruchomieniem na raz, czy jest jakiś silnik SPARQL, który może skorzystać z, powiedzmy, 32 rdzeni?
Fuseki jest bezpieczny dla wątków według projektu. Jeśli pojawią się jakieś problemy, prześlij zgłoszenie błędu. – AndyS
@AndyS, z tego co wiem, jest wielowątkowy w tym sensie, że mogę mieć wiele wątków, każdy z własną transakcją. Jednak nie można podzielić tej samej transakcji między wiele wątków. Ta http://jena.apache.org/documentation/tdb/tdb_transactions.html mówi, że wielowątkowy dostęp do tej samej transakcji jest ograniczony do odczytu (lub jeden wątek robi zapis), stąd mój komentarz, że nie jest bezpieczny dla wątków (przynajmniej na to, co chcę). Zauważam również, że silnik NIE korzysta z wielu rdzeni dla jednego zapytania, czego właśnie szukam, stąd moje pytanie. – Adam