PALM: A Logic Programming System on a Highly Parallel Architecture