next up previous
Next: Post-run Tools: VisAll Up: Application of GRANLOG Previous: GRANLOG in Andorra-I

GRANLOG in Plosys

This section describes an integration of granularity information generated by GRANLOG in the PLoSys system. As mentioned before, granularity information can help scheduling decisions, in order that better tasks can be assigned to better workers.

The original Plosys system does not use any granularity information in order to guide scheduling decisions. This way, high overhead can be introduced to the system given that small tasks can be exported/imported very often causing a very high communication ratio.

From the information generated by the GRANLOG system, only grain_clause, that corresponds to granularity information about clauses, and grain_goal, that corresponds to the granularity information related to goals, were necessary to perform our work.

The example below shows in boldface, the parameters we used from grain_clause and grain_goal. Note that this information is static. The values are numbers inferred by the GRANLOG system expressed in resolution units.

:- grain_clause(procid, grain_name, mode_list, grain_size_list, simplified_complexity, compl_expression, I/O size,).

:-grain_goal(procid, grain_name, mode_list, grain_size_list,type_list, pending_resolvent, simplified complexity, complexity_of_recursions, number_of_clauses, compl_expression, I/O size).

The following parameters are used in our work: Simplified Complexity of a Clause (Cc); Simplified Complexity of a Goal (Cm); Complexity of recursions (Cr); Number of Clauses (Nc); Accumulator for the complexity of the pending resolvent (ACRPL); Complexity of choicepoints (CPE), and the Worker Load Register (RCT).

Cm provides the system with the complexity of a Prolog procedure. Cr corresponds to the simplified complexity of a recursion. If the procedure is not recursive, the value of this parameter is null. The Nc parameter corresponds to the number of clauses of the given procedure. The ACRPL parameter keeps the total sum of the complexities of pending goals for a given execution. The CPE parameter is calculated using Cm, Cc, Nc and ACRPL. The RCT parameter is a register that contains the partial sum of the complexities of choicepoints already created.

Modifications were done in the Plosys engine in order to support manipulation of the information provided by the GRANLOG system. We did experiments with some of our OR-benchmarks (described in section 5), and our results show that the utilisation of static information can significantly improve performance.


next up previous
Next: Post-run Tools: VisAll Up: Application of GRANLOG Previous: GRANLOG in Andorra-I
Ines de Castro Dutra
1999-05-04