User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
hpsl:sorting [2017/06/01 10:52] kunkelhpsl:sorting [2020/08/13 17:09] (current) – external edit 127.0.0.1
Line 9: Line 9:
 To adjust the equation see the [[#equation_rules|equation rules]], use the table below to adjust the computation and press the button. To adjust the equation see the [[#equation_rules|equation rules]], use the table below to adjust the computation and press the button.
  
 +====== Example ======
 +<data_cdcl>
 +query:showNames=false&dataTableRows%5B%5D=site.name&dataTableRows%5B%5D=site.storage%20system.netto%20capacity&dataTableRows%5B%5D=site.supercomputer.compute%20peak&dataTableRowsGraph%5B%5D=site.storage%20system.netto%20capacity&dataTableRowsGraph%5B%5D=site.supercomputer.nodes&graphShowColumn=site.supercomputer.nodes.count&aggregateByName=site.supercomputer.integrator&siteAggregationOperatorGraph=sum&orderlistBy=equation&siteAggregationOperator=sum&equation=max(dotMultiply(site.supercomputer.nodes.count%2Csite.supercomputer.nodes.processor.cores))&equation_unit=&sort_list_by=&sort_list_asc=false&sort_by=site.supercomputer.nodes.count&sort_asc=false&dataTableLimit=-1
 +type:list
 +year:2017
 +</data_cdcl>
  
-===== List ordered according to the equation ===== 
- 
- 
-<data_hpsl> 
-year:2017 
-equationBox:T 
-equation:sum(storage.capacity) / sum(supercomputer.memory_capacity) 
-equationUnit: storage / memory 
-equationName: StorageRatio 
-storageTypes:all 
-columnsStorage:capacity 
-columnsSupercomputer:memory_capacity 
-columnsSite: 
-aggregateBySite:sum 
-sortBy:equation 
-sortASC:F 
-controls:T 
-</data_hpsl> 
  
  
 ===== Equation rules ===== ===== Equation rules =====
- +  * **Data types**: Attributes of top level entities (e.g., sites) are scalars 
-  * **Expressions**: Consist of list variables, numerical operators (+,-,*,/), reduction functions  (min, max, avg) and functions (abs).+    * When multiple subcomponents may exist, the result for an variable is an array (one value per component, components where the value is empty are ignored) 
 +  * **Expressions**: Consist of list variables, numerical operators (+,-,*,/for scalars 
 +    * dotMultiply and dotDivide allow to multiply characteristics per component 
 +    * Reduction functions  (min, max, avg) and functions (abs) to reduce an array to a scalar
   * **Variables**: You may use any variable from storage, site and supercomputer. You have to prefix the variable with the class, then add a colon and the correct variable name. See the list underneath the table for a description.   * **Variables**: You may use any variable from storage, site and supercomputer. You have to prefix the variable with the class, then add a colon and the correct variable name. See the list underneath the table for a description.
   * **Computation**: The equation is computed per site.    * **Computation**: The equation is computed per site. 
     * Site variables are scalars.      * Site variables are scalars. 
     * Storage and supercomputer are arrays, since a site may have multiple supercomputers and storage systems. Therefore, you must use an reduction functions to aggregate these arrays. It is possible to compute expressions based on multiple values from the same storage and computer, though.     * Storage and supercomputer are arrays, since a site may have multiple supercomputers and storage systems. Therefore, you must use an reduction functions to aggregate these arrays. It is possible to compute expressions based on multiple values from the same storage and computer, though.
-      * Example: min(storage.capacity*2) computes the minimum capacity of all storage systems of a site but multiplies each value with 2 first. +      * Example: min(x*2) computes the minimum per site but multiplies each value with 2 first. 
-      * Example: min(storage.capacity*storage.hddsperforms the operation per storage and then computes the minimum. +      * Example: min(dotMultiply(x.y*x.z)) computes per component x the multiplication of y and z and then takes the minimum. 
-      * Example: sum(storage.capacity) / site.energy_consumption => Note that site variables are scalars. +      * Example: sum(x) / => Aggregates all x for valid subcomponents and divide by single y 
-      * Note: please use brackets for complex equations involving subtraction and division there is bug in the computation  +    * It is not valid to operate with values from different components as their number may vary.
-    * It is not valid to multiply values from supercomputer and storage without previous aggregation. +
-    * The computed value is rounded to integer at the end. If you need finer accuracy just multiply the result with, e.g., 10. +
-    * Sites with a value of 0, infinity or NaN are removed from the visualized list.+