123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
- /*
- Copyright 2017 The Kubernetes Authors.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package cpumanager
- import (
- "k8s.io/kubernetes/pkg/kubelet/cm/cpumanager/topology"
- )
- var (
- topoSingleSocketHT = &topology.CPUTopology{
- NumCPUs: 8,
- NumSockets: 1,
- NumCores: 4,
- CPUDetails: map[int]topology.CPUInfo{
- 0: {CoreID: 0, SocketID: 0},
- 1: {CoreID: 1, SocketID: 0},
- 2: {CoreID: 2, SocketID: 0},
- 3: {CoreID: 3, SocketID: 0},
- 4: {CoreID: 0, SocketID: 0},
- 5: {CoreID: 1, SocketID: 0},
- 6: {CoreID: 2, SocketID: 0},
- 7: {CoreID: 3, SocketID: 0},
- },
- }
- topoDualSocketHT = &topology.CPUTopology{
- NumCPUs: 12,
- NumSockets: 2,
- NumCores: 6,
- CPUDetails: map[int]topology.CPUInfo{
- 0: {CoreID: 0, SocketID: 0},
- 1: {CoreID: 1, SocketID: 1},
- 2: {CoreID: 2, SocketID: 0},
- 3: {CoreID: 3, SocketID: 1},
- 4: {CoreID: 4, SocketID: 0},
- 5: {CoreID: 5, SocketID: 1},
- 6: {CoreID: 0, SocketID: 0},
- 7: {CoreID: 1, SocketID: 1},
- 8: {CoreID: 2, SocketID: 0},
- 9: {CoreID: 3, SocketID: 1},
- 10: {CoreID: 4, SocketID: 0},
- 11: {CoreID: 5, SocketID: 1},
- },
- }
- topoDualSocketNoHT = &topology.CPUTopology{
- NumCPUs: 8,
- NumSockets: 2,
- NumCores: 8,
- CPUDetails: map[int]topology.CPUInfo{
- 0: {CoreID: 0, SocketID: 0},
- 1: {CoreID: 1, SocketID: 0},
- 2: {CoreID: 2, SocketID: 0},
- 3: {CoreID: 3, SocketID: 0},
- 4: {CoreID: 4, SocketID: 1},
- 5: {CoreID: 5, SocketID: 1},
- 6: {CoreID: 6, SocketID: 1},
- 7: {CoreID: 7, SocketID: 1},
- },
- }
- /*
- Topology from https://www.open-mpi.org/projects/hwloc/lstopo/images/KNL.SNC4.H50.v1.11.png.
- Socket0:
- 0-2,9-10,13-14,21-22,25-26,33-34,38-39,46-47,50,57-58,71-72,79-80,87-88,95-96,103-104,109-110,117-118,
- 131-132,139-140,147-148,155-156,163-164,169-170,177-178,191-192,199-200,207-208,215-216,223-224,229-230,
- 237-238,251-252,259-260,267-268,275-276,283-284
- Socket1:
- 3-4,11-12,15-16,23-24,27-28,35-36,40-41,48-49,51-52,59-60,65-66,73-74,81-82,89-90,97-98,111-112,119-120,125-126,
- 133-134,141-142,149-150,157-158,171-172,179-180,185-186,193-194,201-202,209-210,217-218,231-232,239-240,245-246,
- 253-254,261-262,269-270,277-278
- Socket2:
- 5-6,17-18,29-30,42-43,53-54,61-62,67-68,75-76,83-84,91-92,99-100,105-106,113-114,121-122,127-128,135-136,
- 143-144,151-152,159-160,165-166,173-174,181-182,187-188,195-196,203-204,211-212,219-220,225-226,233-234,241-242,
- 247-248,255-256,263-264,271-272,279-280,285-286
- Socket3:
- 7-8,19-20,31-32,37,44-45,55-56,63-64,69-70,77-78,85-86,93-94,101-102,107-108,115-116,123-124,129-130,137-138,
- 145-146,153-154,161-162,167-168,175-176,183-184,189-190,197-198,205-206,213-214,221-222,227-228,235-236,243-244,
- 249-250,257-258,265-266,273-274,281-282,287
- */
- topoQuadSocketFourWayHT = &topology.CPUTopology{
- NumCPUs: 288,
- NumSockets: 4,
- NumCores: 72,
- CPUDetails: map[int]topology.CPUInfo{
- 0: {CoreID: 0, SocketID: 0},
- 169: {CoreID: 0, SocketID: 0},
- 109: {CoreID: 0, SocketID: 0},
- 229: {CoreID: 0, SocketID: 0},
- 50: {CoreID: 1, SocketID: 0},
- 170: {CoreID: 1, SocketID: 0},
- 110: {CoreID: 1, SocketID: 0},
- 230: {CoreID: 1, SocketID: 0},
- 1: {CoreID: 64, SocketID: 0},
- 25: {CoreID: 64, SocketID: 0},
- 13: {CoreID: 64, SocketID: 0},
- 38: {CoreID: 64, SocketID: 0},
- 2: {CoreID: 65, SocketID: 0},
- 26: {CoreID: 65, SocketID: 0},
- 14: {CoreID: 65, SocketID: 0},
- 39: {CoreID: 65, SocketID: 0},
- 9: {CoreID: 72, SocketID: 0},
- 33: {CoreID: 72, SocketID: 0},
- 21: {CoreID: 72, SocketID: 0},
- 46: {CoreID: 72, SocketID: 0},
- 10: {CoreID: 73, SocketID: 0},
- 34: {CoreID: 73, SocketID: 0},
- 22: {CoreID: 73, SocketID: 0},
- 47: {CoreID: 73, SocketID: 0},
- 57: {CoreID: 8, SocketID: 0},
- 177: {CoreID: 8, SocketID: 0},
- 117: {CoreID: 8, SocketID: 0},
- 237: {CoreID: 8, SocketID: 0},
- 58: {CoreID: 9, SocketID: 0},
- 178: {CoreID: 9, SocketID: 0},
- 118: {CoreID: 9, SocketID: 0},
- 238: {CoreID: 9, SocketID: 0},
- 71: {CoreID: 24, SocketID: 0},
- 191: {CoreID: 24, SocketID: 0},
- 131: {CoreID: 24, SocketID: 0},
- 251: {CoreID: 24, SocketID: 0},
- 72: {CoreID: 25, SocketID: 0},
- 192: {CoreID: 25, SocketID: 0},
- 132: {CoreID: 25, SocketID: 0},
- 252: {CoreID: 25, SocketID: 0},
- 79: {CoreID: 32, SocketID: 0},
- 199: {CoreID: 32, SocketID: 0},
- 139: {CoreID: 32, SocketID: 0},
- 259: {CoreID: 32, SocketID: 0},
- 80: {CoreID: 33, SocketID: 0},
- 200: {CoreID: 33, SocketID: 0},
- 140: {CoreID: 33, SocketID: 0},
- 260: {CoreID: 33, SocketID: 0},
- 87: {CoreID: 40, SocketID: 0},
- 207: {CoreID: 40, SocketID: 0},
- 147: {CoreID: 40, SocketID: 0},
- 267: {CoreID: 40, SocketID: 0},
- 88: {CoreID: 41, SocketID: 0},
- 208: {CoreID: 41, SocketID: 0},
- 148: {CoreID: 41, SocketID: 0},
- 268: {CoreID: 41, SocketID: 0},
- 95: {CoreID: 48, SocketID: 0},
- 215: {CoreID: 48, SocketID: 0},
- 155: {CoreID: 48, SocketID: 0},
- 275: {CoreID: 48, SocketID: 0},
- 96: {CoreID: 49, SocketID: 0},
- 216: {CoreID: 49, SocketID: 0},
- 156: {CoreID: 49, SocketID: 0},
- 276: {CoreID: 49, SocketID: 0},
- 103: {CoreID: 56, SocketID: 0},
- 223: {CoreID: 56, SocketID: 0},
- 163: {CoreID: 56, SocketID: 0},
- 283: {CoreID: 56, SocketID: 0},
- 104: {CoreID: 57, SocketID: 0},
- 224: {CoreID: 57, SocketID: 0},
- 164: {CoreID: 57, SocketID: 0},
- 284: {CoreID: 57, SocketID: 0},
- 3: {CoreID: 66, SocketID: 1},
- 27: {CoreID: 66, SocketID: 1},
- 15: {CoreID: 66, SocketID: 1},
- 40: {CoreID: 66, SocketID: 1},
- 4: {CoreID: 67, SocketID: 1},
- 28: {CoreID: 67, SocketID: 1},
- 16: {CoreID: 67, SocketID: 1},
- 41: {CoreID: 67, SocketID: 1},
- 11: {CoreID: 74, SocketID: 1},
- 35: {CoreID: 74, SocketID: 1},
- 23: {CoreID: 74, SocketID: 1},
- 48: {CoreID: 74, SocketID: 1},
- 12: {CoreID: 75, SocketID: 1},
- 36: {CoreID: 75, SocketID: 1},
- 24: {CoreID: 75, SocketID: 1},
- 49: {CoreID: 75, SocketID: 1},
- 51: {CoreID: 2, SocketID: 1},
- 171: {CoreID: 2, SocketID: 1},
- 111: {CoreID: 2, SocketID: 1},
- 231: {CoreID: 2, SocketID: 1},
- 52: {CoreID: 3, SocketID: 1},
- 172: {CoreID: 3, SocketID: 1},
- 112: {CoreID: 3, SocketID: 1},
- 232: {CoreID: 3, SocketID: 1},
- 59: {CoreID: 10, SocketID: 1},
- 179: {CoreID: 10, SocketID: 1},
- 119: {CoreID: 10, SocketID: 1},
- 239: {CoreID: 10, SocketID: 1},
- 60: {CoreID: 11, SocketID: 1},
- 180: {CoreID: 11, SocketID: 1},
- 120: {CoreID: 11, SocketID: 1},
- 240: {CoreID: 11, SocketID: 1},
- 65: {CoreID: 18, SocketID: 1},
- 185: {CoreID: 18, SocketID: 1},
- 125: {CoreID: 18, SocketID: 1},
- 245: {CoreID: 18, SocketID: 1},
- 66: {CoreID: 19, SocketID: 1},
- 186: {CoreID: 19, SocketID: 1},
- 126: {CoreID: 19, SocketID: 1},
- 246: {CoreID: 19, SocketID: 1},
- 73: {CoreID: 26, SocketID: 1},
- 193: {CoreID: 26, SocketID: 1},
- 133: {CoreID: 26, SocketID: 1},
- 253: {CoreID: 26, SocketID: 1},
- 74: {CoreID: 27, SocketID: 1},
- 194: {CoreID: 27, SocketID: 1},
- 134: {CoreID: 27, SocketID: 1},
- 254: {CoreID: 27, SocketID: 1},
- 81: {CoreID: 34, SocketID: 1},
- 201: {CoreID: 34, SocketID: 1},
- 141: {CoreID: 34, SocketID: 1},
- 261: {CoreID: 34, SocketID: 1},
- 82: {CoreID: 35, SocketID: 1},
- 202: {CoreID: 35, SocketID: 1},
- 142: {CoreID: 35, SocketID: 1},
- 262: {CoreID: 35, SocketID: 1},
- 89: {CoreID: 42, SocketID: 1},
- 209: {CoreID: 42, SocketID: 1},
- 149: {CoreID: 42, SocketID: 1},
- 269: {CoreID: 42, SocketID: 1},
- 90: {CoreID: 43, SocketID: 1},
- 210: {CoreID: 43, SocketID: 1},
- 150: {CoreID: 43, SocketID: 1},
- 270: {CoreID: 43, SocketID: 1},
- 97: {CoreID: 50, SocketID: 1},
- 217: {CoreID: 50, SocketID: 1},
- 157: {CoreID: 50, SocketID: 1},
- 277: {CoreID: 50, SocketID: 1},
- 98: {CoreID: 51, SocketID: 1},
- 218: {CoreID: 51, SocketID: 1},
- 158: {CoreID: 51, SocketID: 1},
- 278: {CoreID: 51, SocketID: 1},
- 5: {CoreID: 68, SocketID: 2},
- 29: {CoreID: 68, SocketID: 2},
- 17: {CoreID: 68, SocketID: 2},
- 42: {CoreID: 68, SocketID: 2},
- 6: {CoreID: 69, SocketID: 2},
- 30: {CoreID: 69, SocketID: 2},
- 18: {CoreID: 69, SocketID: 2},
- 43: {CoreID: 69, SocketID: 2},
- 53: {CoreID: 4, SocketID: 2},
- 173: {CoreID: 4, SocketID: 2},
- 113: {CoreID: 4, SocketID: 2},
- 233: {CoreID: 4, SocketID: 2},
- 54: {CoreID: 5, SocketID: 2},
- 174: {CoreID: 5, SocketID: 2},
- 114: {CoreID: 5, SocketID: 2},
- 234: {CoreID: 5, SocketID: 2},
- 61: {CoreID: 12, SocketID: 2},
- 181: {CoreID: 12, SocketID: 2},
- 121: {CoreID: 12, SocketID: 2},
- 241: {CoreID: 12, SocketID: 2},
- 62: {CoreID: 13, SocketID: 2},
- 182: {CoreID: 13, SocketID: 2},
- 122: {CoreID: 13, SocketID: 2},
- 242: {CoreID: 13, SocketID: 2},
- 67: {CoreID: 20, SocketID: 2},
- 187: {CoreID: 20, SocketID: 2},
- 127: {CoreID: 20, SocketID: 2},
- 247: {CoreID: 20, SocketID: 2},
- 68: {CoreID: 21, SocketID: 2},
- 188: {CoreID: 21, SocketID: 2},
- 128: {CoreID: 21, SocketID: 2},
- 248: {CoreID: 21, SocketID: 2},
- 75: {CoreID: 28, SocketID: 2},
- 195: {CoreID: 28, SocketID: 2},
- 135: {CoreID: 28, SocketID: 2},
- 255: {CoreID: 28, SocketID: 2},
- 76: {CoreID: 29, SocketID: 2},
- 196: {CoreID: 29, SocketID: 2},
- 136: {CoreID: 29, SocketID: 2},
- 256: {CoreID: 29, SocketID: 2},
- 83: {CoreID: 36, SocketID: 2},
- 203: {CoreID: 36, SocketID: 2},
- 143: {CoreID: 36, SocketID: 2},
- 263: {CoreID: 36, SocketID: 2},
- 84: {CoreID: 37, SocketID: 2},
- 204: {CoreID: 37, SocketID: 2},
- 144: {CoreID: 37, SocketID: 2},
- 264: {CoreID: 37, SocketID: 2},
- 91: {CoreID: 44, SocketID: 2},
- 211: {CoreID: 44, SocketID: 2},
- 151: {CoreID: 44, SocketID: 2},
- 271: {CoreID: 44, SocketID: 2},
- 92: {CoreID: 45, SocketID: 2},
- 212: {CoreID: 45, SocketID: 2},
- 152: {CoreID: 45, SocketID: 2},
- 272: {CoreID: 45, SocketID: 2},
- 99: {CoreID: 52, SocketID: 2},
- 219: {CoreID: 52, SocketID: 2},
- 159: {CoreID: 52, SocketID: 2},
- 279: {CoreID: 52, SocketID: 2},
- 100: {CoreID: 53, SocketID: 2},
- 220: {CoreID: 53, SocketID: 2},
- 160: {CoreID: 53, SocketID: 2},
- 280: {CoreID: 53, SocketID: 2},
- 105: {CoreID: 60, SocketID: 2},
- 225: {CoreID: 60, SocketID: 2},
- 165: {CoreID: 60, SocketID: 2},
- 285: {CoreID: 60, SocketID: 2},
- 106: {CoreID: 61, SocketID: 2},
- 226: {CoreID: 61, SocketID: 2},
- 166: {CoreID: 61, SocketID: 2},
- 286: {CoreID: 61, SocketID: 2},
- 7: {CoreID: 70, SocketID: 3},
- 31: {CoreID: 70, SocketID: 3},
- 19: {CoreID: 70, SocketID: 3},
- 44: {CoreID: 70, SocketID: 3},
- 8: {CoreID: 71, SocketID: 3},
- 32: {CoreID: 71, SocketID: 3},
- 20: {CoreID: 71, SocketID: 3},
- 45: {CoreID: 71, SocketID: 3},
- 37: {CoreID: 63, SocketID: 3},
- 168: {CoreID: 63, SocketID: 3},
- 108: {CoreID: 63, SocketID: 3},
- 228: {CoreID: 63, SocketID: 3},
- 107: {CoreID: 62, SocketID: 3},
- 227: {CoreID: 62, SocketID: 3},
- 167: {CoreID: 62, SocketID: 3},
- 287: {CoreID: 62, SocketID: 3},
- 55: {CoreID: 6, SocketID: 3},
- 175: {CoreID: 6, SocketID: 3},
- 115: {CoreID: 6, SocketID: 3},
- 235: {CoreID: 6, SocketID: 3},
- 56: {CoreID: 7, SocketID: 3},
- 176: {CoreID: 7, SocketID: 3},
- 116: {CoreID: 7, SocketID: 3},
- 236: {CoreID: 7, SocketID: 3},
- 63: {CoreID: 14, SocketID: 3},
- 183: {CoreID: 14, SocketID: 3},
- 123: {CoreID: 14, SocketID: 3},
- 243: {CoreID: 14, SocketID: 3},
- 64: {CoreID: 15, SocketID: 3},
- 184: {CoreID: 15, SocketID: 3},
- 124: {CoreID: 15, SocketID: 3},
- 244: {CoreID: 15, SocketID: 3},
- 69: {CoreID: 22, SocketID: 3},
- 189: {CoreID: 22, SocketID: 3},
- 129: {CoreID: 22, SocketID: 3},
- 249: {CoreID: 22, SocketID: 3},
- 70: {CoreID: 23, SocketID: 3},
- 190: {CoreID: 23, SocketID: 3},
- 130: {CoreID: 23, SocketID: 3},
- 250: {CoreID: 23, SocketID: 3},
- 77: {CoreID: 30, SocketID: 3},
- 197: {CoreID: 30, SocketID: 3},
- 137: {CoreID: 30, SocketID: 3},
- 257: {CoreID: 30, SocketID: 3},
- 78: {CoreID: 31, SocketID: 3},
- 198: {CoreID: 31, SocketID: 3},
- 138: {CoreID: 31, SocketID: 3},
- 258: {CoreID: 31, SocketID: 3},
- 85: {CoreID: 38, SocketID: 3},
- 205: {CoreID: 38, SocketID: 3},
- 145: {CoreID: 38, SocketID: 3},
- 265: {CoreID: 38, SocketID: 3},
- 86: {CoreID: 39, SocketID: 3},
- 206: {CoreID: 39, SocketID: 3},
- 146: {CoreID: 39, SocketID: 3},
- 266: {CoreID: 39, SocketID: 3},
- 93: {CoreID: 46, SocketID: 3},
- 213: {CoreID: 46, SocketID: 3},
- 153: {CoreID: 46, SocketID: 3},
- 273: {CoreID: 46, SocketID: 3},
- 94: {CoreID: 47, SocketID: 3},
- 214: {CoreID: 47, SocketID: 3},
- 154: {CoreID: 47, SocketID: 3},
- 274: {CoreID: 47, SocketID: 3},
- 101: {CoreID: 54, SocketID: 3},
- 221: {CoreID: 54, SocketID: 3},
- 161: {CoreID: 54, SocketID: 3},
- 281: {CoreID: 54, SocketID: 3},
- 102: {CoreID: 55, SocketID: 3},
- 222: {CoreID: 55, SocketID: 3},
- 162: {CoreID: 55, SocketID: 3},
- 282: {CoreID: 55, SocketID: 3},
- },
- }
- )
|