diff options
| author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2012-02-20 12:39:01 -0500 |
|---|---|---|
| committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2012-02-20 12:39:01 -0500 |
| commit | b12d172d6599d7578bc811a36d939d89d415f636 (patch) | |
| tree | 85a5ee32d0f7e03dde932013dadfae271fdd1604 /native/include | |
| parent | b99084aaaf78b4e87ca41b310121b87630239377 (diff) | |
Add OMLP k-exclusion blocking bounds
Diffstat (limited to 'native/include')
| -rw-r--r-- | native/include/sharedres.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/native/include/sharedres.h b/native/include/sharedres.h index 2df9a08..a2e34fd 100644 --- a/native/include/sharedres.h +++ b/native/include/sharedres.h | |||
| @@ -202,6 +202,30 @@ public: | |||
| 202 | 202 | ||
| 203 | }; | 203 | }; |
| 204 | 204 | ||
| 205 | class ReplicaInfo | ||
| 206 | { | ||
| 207 | private: | ||
| 208 | std::vector<unsigned int> num_replicas; | ||
| 209 | |||
| 210 | public: | ||
| 211 | void set_replicas(unsigned int res_id, unsigned int replicas) | ||
| 212 | { | ||
| 213 | assert(replicas >= 1); | ||
| 214 | |||
| 215 | while (num_replicas.size() <= res_id) | ||
| 216 | num_replicas.push_back(1); // default: not replicated | ||
| 217 | |||
| 218 | num_replicas[res_id] = replicas; | ||
| 219 | } | ||
| 220 | |||
| 221 | const unsigned int operator[](unsigned int res_id) const | ||
| 222 | { | ||
| 223 | if (num_replicas.size() <= res_id) | ||
| 224 | return 1; // default: not replicated | ||
| 225 | else | ||
| 226 | return num_replicas[res_id]; | ||
| 227 | } | ||
| 228 | }; | ||
| 205 | 229 | ||
| 206 | struct Interference | 230 | struct Interference |
| 207 | { | 231 | { |
| @@ -391,6 +415,11 @@ BlockingBounds* clustered_rw_omlp_bounds(const ResourceSharingInfo& info, | |||
| 391 | unsigned int procs_per_cluster, | 415 | unsigned int procs_per_cluster, |
| 392 | int dedicated_irq = NO_CPU); | 416 | int dedicated_irq = NO_CPU); |
| 393 | 417 | ||
| 418 | BlockingBounds* clustered_kx_omlp_bounds(const ResourceSharingInfo& info, | ||
| 419 | const ReplicaInfo& replicaInfo, | ||
| 420 | unsigned int procs_per_cluster, | ||
| 421 | int dedicated_irq); | ||
| 422 | |||
| 394 | BlockingBounds* part_omlp_bounds(const ResourceSharingInfo& info); | 423 | BlockingBounds* part_omlp_bounds(const ResourceSharingInfo& info); |
| 395 | 424 | ||
| 396 | 425 | ||
