Term Definition
PlinyCompute a system for development of high-performance, data-intensive, distributed computing tools and libraries. Offering users a very high-level, declarative interface, relying on automatic, relational-database style optimization to figure out how to stage distributed computations.
Client Code this is C++ user code that runs on a client machine (e.g. a personal computer or laptop) and is used to supply instructions to a PlinyCompute cluster. A connection to the manager node requires the following statement PDBClient pdbClient(8108, "localhost");, where the arguments correspond to the port and IP address of the manager node in the cluster, here is an example.
Node a physical machine where an instance of plinyCompute runs. There are two types of nodes: manager and workers.
Manager a node (machine) that runs manager services, only one manager is allowed in plinyCompute.
Worker a node (machine) that runs worker services. It is possible to use one ore more workers in plinyCompute. This is determined by the content of the file conf/serverlist, which contains one IP address per line (each specifying a worker node in a cluster).
PlinyCompute Object Model is an API for storing and manipulating objects, co-designed with PlinyCompte’s memory management system and execution engine to provide maximum performance. It is responsible for data layout and within-page memory management. All data processed by PlinyCompute are managed by the object model. Because all dynamic object allocation is in-place, directly on a page, there is no need for object serialization and de-serialization before data are transferred to/from storage or over a network. For more details, see the Object Model FAQ’s.
TCAP (pronounced tee-cap) is a functional, domain-specific language that serves as an intermediate representation of user-supplied computations. It can then be used for optimizing queries and pipeline executions. From a logical stand point, TCAP operates over sets of columns of PlinyCompute Objects.
User-defined types PlinyCompute allows users to create their own data types. Users have to defined these types in a shared library and register them in PlinyCompute using the PDBClient::registerType() function.
Lambdas in PlinyCompute to write computations in PlinyCompute, programmers write various C++ codes using a domain-specific lambda calculus. A major difference with other analytics systems is that a programmer is not supplying a computation over input data, but rather an expression in the lambda calculus that specifies how to construct the computation. For example, to implement a SelectionComp over PC Objects of type DataPoint, a programmer must implement the lambda term construction function getSelection (Handle ) which returns a lambda term describing how DataPoint objects should be processed.
PlinyCompute Server Functionalities a manager node in PlinyCompute offers the following server functionalities:

  • Catalog manager, serving system meta-data (including the master copy of the mapping between type codes and PC Object types) and compiled, shared libraries for performing computations over PC Objects.
  • Distributed storage manager, is the centralized server that manages PlinyCompute’s storage subsystem.
  • TCAP optimizer, which is responsible for optimizing programs that have been compiled into PlinyCompute’s domain-specific TCAP language.
  • Distributed query scheduler that is responsible for accepting optimized TCAP computations.
Page