PALLAS stands for Parallel Applications, Libraries, Languages, Algorithms, and Systems. It is a research group in The Parallel Computing Laboratory of the Electrical Engineering and Computer Science Department at University of California, Berkeley, led by Professor Kurt Keutzer. The group believes that the productive development of applications for an emerging generation of highly parallel microprocessors is the preeminent programming challenge of our time. Its goal is to enable the productive development of efficient parallel applications by domain experts, not just parallel programming experts.
The group conducts its research with the hypothesis that the key to the design of parallel programs is software architecture, and the key to their efficient implementation is frameworks. In its approach, the basis of both the software architecture and the corresponding frameworks is design patterns and a pattern language. Borrowed from civil architecture,[1] the term design pattern means solutions to recurring design problems that domain experts learn. A pattern language is an organized way of navigating through a collection of design patterns to produce a design.
The computational elements of Our Pattern Language(OPL) are built up from a series of computational patterns drawn largely from thirteen motifs . These are considered as the fundamental software building blocks that are then composed using the structural patterns of OPL drawn from common software architectural styles, such as pipe‐and‐filter.[2] A software architecture is then the hierarchical composition of computational and structural patterns, which is subsequently refine using lower‐level design patterns.