| | 7 | === Allocation calculation === |
| | 8 | |
| | 9 | For chip, I'm assuming the median ppImage command takes time_cost ~150 seconds with 2x threading (based on some manipulation of the database values). Then, for a bundle containing N ppImage commands, the allocation is calulated as: |
| | 10 | |
| | 11 | {{{ |
| | 12 | proc_per_core = 24 |
| | 13 | fill_factor = 0.8 |
| | 14 | max_nodes = 1000 |
| | 15 | |
| | 16 | Core_need = N * Nthreads |
| | 17 | Node_need = Core_need / proc_per_core |
| | 18 | Time_need = N * time_cost |
| | 19 | |
| | 20 | time_requested = int((node_need * time_cost) / (fill_factor * max_nodes)) + 1 |
| | 21 | node_requested = int((node_need * time_cost) / (fill_factor * time_requested)) + 1 |
| | 22 | |
| | 23 | N = 37200 |
| | 24 | Nthreads = 2 |
| | 25 | time_cost = 150 / 60 / 60 |
| | 26 | |
| | 27 | Core_need = 74400 |
| | 28 | Node_need = 3100 |
| | 29 | Time_need = 1550 |
| | 30 | |
| | 31 | time_requested = int(3100 * 150 / 60 / 60 / 0.8 / 1000) + 1 = 1 |
| | 32 | node_requested = int(3100 * 150 / 60 / 60 / 0.8 / 1) + 1 = 162 |
| | 33 | |
| | 34 | unused side calculation: |
| | 35 | Time_need / (node_request * proc_per_core / Nthreads) = 0.79733 hours |
| | 36 | |
| | 37 | }}} |