)]}'
{"specs/pike/approved/cache-as-a-resource-with-rdt.rst":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Nova currently does not have mechanism to use Last Level Cache (LLC) as a"},{"line_number":14,"context_line":"schedulable resource similar to CPU or Memory.Intel Resource Director"},{"line_number":15,"context_line":"Technology (RDT) enables controlling LLC per workload basis by means of"},{"line_number":16,"context_line":"Cache Allocation Technolgoy (CAT). Cache associations per workload are"},{"line_number":17,"context_line":"controlled via associating workload with construct called cache ways that"},{"line_number":18,"context_line":"divide LLC on each socket into equal chunks of fixed size and constructing a"},{"line_number":19,"context_line":"Cache Bit Mask (CBM) called Class of Service (COS). Although the application"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_9bba3f08","line":16,"range":{"start_line":16,"start_character":17,"end_line":16,"end_character":27},"updated":"2017-10-03 18:37:26.000000000","message":"Technology","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Cache Allocation Technolgoy (CAT). Cache associations per workload are"},{"line_number":17,"context_line":"controlled via associating workload with construct called cache ways that"},{"line_number":18,"context_line":"divide LLC on each socket into equal chunks of fixed size and constructing a"},{"line_number":19,"context_line":"Cache Bit Mask (CBM) called Class of Service (COS). Although the application"},{"line_number":20,"context_line":"of CAT is fairly simple scaling the workloads with the limited amount of LLC"},{"line_number":21,"context_line":"per socket on a host platform needs to consider multiple aspects to meet the"},{"line_number":22,"context_line":"required Quality of Service (QoS) like assigning isolated versus overlapping"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_3b3fcb88","line":19,"range":{"start_line":19,"start_character":21,"end_line":19,"end_character":50},"updated":"2017-10-03 18:37:26.000000000","message":"would be more accurate to say \"associated with a Class of Service\"","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1b782fe435c1439239fc632d84ec2750a8324368","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mechanism to address various QoS and method to assign isolated versus"},{"line_number":27,"context_line":"overlapping cache ways."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose to update scheduler code to interact with Resource Management"},{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_87b4a0d2","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":20},"updated":"2018-03-14 13:59:18.000000000","message":"Are you really proposing to have the scheduler communicate with potentially *thousands* of RMD daemons on all the compute nodes in one or more cells on *each* iteration of the select_destinations() loop?\n\nThis sounds just like the \"metrics-based scheduler\" that was pretty much dead on arrival.\n\nIt would be much better to propose the RMD daemon update the placement service with inventory information directly and let the existing scheduler implementation (which calls placement to filter compute nodes that have available resources before passing filtered hosts to a set of weighers for sorting).","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"7a49d77283bda2681e20a30685753a21e6958586","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_46b6278d","line":33,"updated":"2017-10-03 21:40:32.000000000","message":"Geez, I work for IBM and this is already a ton of TLAs to digest.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"37fb8f48b092f2f21566d41c1f965ad9d5823f09","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mechanism to address various QoS and method to assign isolated versus"},{"line_number":27,"context_line":"overlapping cache ways."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose to update scheduler code to interact with Resource Management"},{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_4b68c11b","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":20},"in_reply_to":"df7087c5_4be3e1d9","updated":"2018-03-15 03:09:35.000000000","message":"And one thing I confused, we should go to the placement or the current NUMA implement. I talk with Jay at Dublin PTG, it sounds like we can go to the current NUMA implement. Since the NUMA support in placement won\u0027t be finished very soon. But I see this proposal https://review.openstack.org/552924, but I guess that won\u0027t be implemented very soon?\n\nAnyway, whatever we go to the placement or current implement, access RMD in the scheduler is a thing I don\u0027t agree in the beginning.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":20207,"name":"sunku ranganath","email":"sunku.ranganath@intel.com","username":"sunkuranganath"},"change_message_id":"51c92634ad6a662305d3a8fe0122cb206c9d5eee","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mechanism to address various QoS and method to assign isolated versus"},{"line_number":27,"context_line":"overlapping cache ways."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose to update scheduler code to interact with Resource Management"},{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_e581c6c4","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":20},"in_reply_to":"df7087c5_7c247eaf","updated":"2018-03-15 00:59:30.000000000","message":"This blueprint was created for pre-placement service model. A new blueprint will be published addressing the above comments.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3967d07afa2b70a791fd2ddb4557ffd0f488d85e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mechanism to address various QoS and method to assign isolated versus"},{"line_number":27,"context_line":"overlapping cache ways."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose to update scheduler code to interact with Resource Management"},{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_7c247eaf","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":20},"in_reply_to":"df7087c5_87b4a0d2","updated":"2018-03-14 15:49:14.000000000","message":"I thought we had agreed at a previous gathering (Sydney maybe?) that the RMD should do exactly that....update placement with the inventory information.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"ef1228248c585159caff2d0e73c6338715b25ad3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mechanism to address various QoS and method to assign isolated versus"},{"line_number":27,"context_line":"overlapping cache ways."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose to update scheduler code to interact with Resource Management"},{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_abfcfd6f","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":20},"in_reply_to":"df7087c5_e581c6c4","updated":"2018-03-15 03:13:07.000000000","message":"Every time a workload is scheduled, the daemon could update node level inventory information. Early on when a node is relatively empty, even with multiple scheduler instances seeking to schedule to the same node there will be no conflict, but later there may be some failures from race conditions. The inventory information for all practical purposes is an object with an interface for interaction. inventory.hostpitality_score(\u003cresource-request\u003e)","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5ca98242ade0a03c278b9dd5c9d3ea20174765d2","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mechanism to address various QoS and method to assign isolated versus"},{"line_number":27,"context_line":"overlapping cache ways."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We propose to update scheduler code to interact with Resource Management"},{"line_number":30,"context_line":"Daemon (RMD), open source software that communicates using REST API, to provide"},{"line_number":31,"context_line":"cache availability using hospitality score for new workloads based on current"},{"line_number":32,"context_line":"workload occupancy and mechanism to provide various QoS policies while exposing"},{"line_number":33,"context_line":"cache as a resource."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Problem description"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_4be3e1d9","line":33,"range":{"start_line":29,"start_character":0,"end_line":33,"end_character":20},"in_reply_to":"df7087c5_e581c6c4","updated":"2018-03-15 02:59:13.000000000","message":"Yes, this is very old proposal. I already sync with the team, go to report the inventory to the placement instead of calling the RMD in each scheduling.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Last Level Cache (LLC) (or simply cache) is a shared hardware resource between"},{"line_number":39,"context_line":"physical CPUs of a socket on a host.In a platform collocated with multiple"},{"line_number":40,"context_line":"workloads, instances can act as noisy neighbors to each other.For example a"},{"line_number":41,"context_line":"high priority latency sensitive workload is adversely affected in performance"},{"line_number":42,"context_line":"when a low priority workload consumes most of the LLC leaving less room for"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_db6e7795","line":39,"range":{"start_line":39,"start_character":14,"end_line":39,"end_character":35},"updated":"2017-10-03 18:37:26.000000000","message":"might be more accurate to just leave out this phrase since it\u0027s sometimes more true to see it as shared between the physical CPUs of a NUMA node within a socket.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":49,"context_line":"a set of processes executing on a socket using Cache Allocation Technology"},{"line_number":50,"context_line":"(CAT).This is made possible via associating workload with construct called"},{"line_number":51,"context_line":"cache ways that divide LLC on each socket into equal chunks of fixed size"},{"line_number":52,"context_line":"cache and constructing a Cache Bit Mask (CBM) on per socket node basis."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Exisiting solutions that use Intel Resource Directory Technology (RDT) that"},{"line_number":55,"context_line":"help associate cache ways to a workload falls short of providing control of"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_9bfd9fb3","line":52,"range":{"start_line":52,"start_character":53,"end_line":52,"end_character":71},"updated":"2017-10-03 18:37:26.000000000","message":"maybe more accurate as \"per cache basis\"?","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"ef1228248c585159caff2d0e73c6338715b25ad3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"a set of processes executing on a socket using Cache Allocation Technology"},{"line_number":50,"context_line":"(CAT).This is made possible via associating workload with construct called"},{"line_number":51,"context_line":"cache ways that divide LLC on each socket into equal chunks of fixed size"},{"line_number":52,"context_line":"cache and constructing a Cache Bit Mask (CBM) on per socket node basis."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Exisiting solutions that use Intel Resource Directory Technology (RDT) that"},{"line_number":55,"context_line":"help associate cache ways to a workload falls short of providing control of"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_8b4259aa","line":52,"range":{"start_line":52,"start_character":53,"end_line":52,"end_character":71},"in_reply_to":"7f515b1d_9bfd9fb3","updated":"2018-03-15 03:13:07.000000000","message":"I would rather just write \"\nCache allocation is supported using Intel Resource Directory Technology (provide link) at the hardware level with its enabling software stack.\" and leave it at that. No need to provide all the details of ways, way size, cache bit mask etc. This would also keep design doc concise.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"ef1228248c585159caff2d0e73c6338715b25ad3","unresolved":false,"context_lines":[{"line_number":60,"context_line":"a few time cycles that exceed far behind hardware time scale. There is a high"},{"line_number":61,"context_line":"chance that the validity of such actions would be made unsable for resources"},{"line_number":62,"context_line":"like cache for workloads that are performance sensitive."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Adding to the complexity, the cache footprint and utilization per workload"},{"line_number":65,"context_line":"would differ based on the platform generation and configuration. Orchestrators"},{"line_number":66,"context_line":"currently dont have a comprehensive methodology to control/allocate resources"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_8bded9d7","line":63,"updated":"2018-03-15 03:13:07.000000000","message":"The hardware time scale is a reference to being able to change allocations in the sub-milliseconds. But until we introduce a node level adaptive component this won\u0027t happen. As long as we are making allocations via the Nova scheduler it is pretty static. And any other monitoring and manager system that is based on collecting node level telemetry, running heuristics and then changing allocation still would be in the seconds or minutes time scale.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1b782fe435c1439239fc632d84ec2750a8324368","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Adding to the complexity, the cache footprint and utilization per workload"},{"line_number":65,"context_line":"would differ based on the platform generation and configuration. Orchestrators"},{"line_number":66,"context_line":"currently dont have a comprehensive methodology to control/allocate resources"},{"line_number":67,"context_line":"like cache at hardware time scale. Although CAT provides isolated or"},{"line_number":68,"context_line":"overlapping cache ways constructs using CBM, its difficult for Nova to"},{"line_number":69,"context_line":"consider multiple combinations of cache ways sharing per host basis at"},{"line_number":70,"context_line":"schedule time."}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_07c09029","line":67,"range":{"start_line":67,"start_character":11,"end_line":67,"end_character":33},"updated":"2018-03-14 13:59:18.000000000","message":"what is \"at hardware time scale\"?","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":20207,"name":"sunku ranganath","email":"sunku.ranganath@intel.com","username":"sunkuranganath"},"change_message_id":"51c92634ad6a662305d3a8fe0122cb206c9d5eee","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Adding to the complexity, the cache footprint and utilization per workload"},{"line_number":65,"context_line":"would differ based on the platform generation and configuration. Orchestrators"},{"line_number":66,"context_line":"currently dont have a comprehensive methodology to control/allocate resources"},{"line_number":67,"context_line":"like cache at hardware time scale. Although CAT provides isolated or"},{"line_number":68,"context_line":"overlapping cache ways constructs using CBM, its difficult for Nova to"},{"line_number":69,"context_line":"consider multiple combinations of cache ways sharing per host basis at"},{"line_number":70,"context_line":"schedule time."}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_4568b21b","line":67,"range":{"start_line":67,"start_character":11,"end_line":67,"end_character":33},"in_reply_to":"df7087c5_07c09029","updated":"2018-03-15 00:59:30.000000000","message":"Indicates the latency of enforcing cache associations should be close to hardware execution cycles.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1b782fe435c1439239fc632d84ec2750a8324368","unresolved":false,"context_lines":[{"line_number":65,"context_line":"would differ based on the platform generation and configuration. Orchestrators"},{"line_number":66,"context_line":"currently dont have a comprehensive methodology to control/allocate resources"},{"line_number":67,"context_line":"like cache at hardware time scale. Although CAT provides isolated or"},{"line_number":68,"context_line":"overlapping cache ways constructs using CBM, its difficult for Nova to"},{"line_number":69,"context_line":"consider multiple combinations of cache ways sharing per host basis at"},{"line_number":70,"context_line":"schedule time."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_a7de840e","line":68,"range":{"start_line":68,"start_character":40,"end_line":68,"end_character":43},"updated":"2018-03-14 13:59:18.000000000","message":"what is this?","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":20207,"name":"sunku ranganath","email":"sunku.ranganath@intel.com","username":"sunkuranganath"},"change_message_id":"51c92634ad6a662305d3a8fe0122cb206c9d5eee","unresolved":false,"context_lines":[{"line_number":65,"context_line":"would differ based on the platform generation and configuration. Orchestrators"},{"line_number":66,"context_line":"currently dont have a comprehensive methodology to control/allocate resources"},{"line_number":67,"context_line":"like cache at hardware time scale. Although CAT provides isolated or"},{"line_number":68,"context_line":"overlapping cache ways constructs using CBM, its difficult for Nova to"},{"line_number":69,"context_line":"consider multiple combinations of cache ways sharing per host basis at"},{"line_number":70,"context_line":"schedule time."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_0585dace","line":68,"range":{"start_line":68,"start_character":40,"end_line":68,"end_character":43},"in_reply_to":"df7087c5_a7de840e","updated":"2018-03-15 00:59:30.000000000","message":"Cache Bit Masks (CBM)","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1b782fe435c1439239fc632d84ec2750a8324368","unresolved":false,"context_lines":[{"line_number":70,"context_line":"schedule time."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Resource Management Daemon (RMD) is an open source daemon that runs on"},{"line_number":73,"context_line":"individual hosts with pluggable interfaces to interact with orchestration"},{"line_number":74,"context_line":"using REST API, monitoring layer using collectd or IPCs and enforcement layer"},{"line_number":75,"context_line":"using libpqos or resctrl file system. RMD contains intellignece to process a"},{"line_number":76,"context_line":"resource policy from orhcestrator and do the required resource adjustments in"},{"line_number":77,"context_line":"real time. The orchestrator policy could be constructed with a specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_47cf6855","line":74,"range":{"start_line":73,"start_character":43,"end_line":74,"end_character":14},"updated":"2018-03-14 13:59:18.000000000","message":"what is meant by \"orchestration\" here? Are you specifically referring to VNFM/MANO system? or are you referring to single-system management of cache?","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":98,"context_line":"of cache ways associated with workload of interest [1]_."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"A public cloud operator would care about monetizing cache as a resource and"},{"line_number":101,"context_line":"gurantee an SLA at same time. Having interfaces with a local daemon that helps"},{"line_number":102,"context_line":"achieve this would be an invaluable addition to the existing hardware"},{"line_number":103,"context_line":"resource set."},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_7bd1c32f","line":101,"range":{"start_line":101,"start_character":37,"end_line":101,"end_character":47},"updated":"2017-10-03 18:37:26.000000000","message":"\"interfaces\" is ambiguous","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1b782fe435c1439239fc632d84ec2750a8324368","unresolved":false,"context_lines":[{"line_number":97,"context_line":"requirements. A very important way to meet the SLOs would be to have a set"},{"line_number":98,"context_line":"of cache ways associated with workload of interest [1]_."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"A public cloud operator would care about monetizing cache as a resource and"},{"line_number":101,"context_line":"gurantee an SLA at same time. Having interfaces with a local daemon that helps"},{"line_number":102,"context_line":"achieve this would be an invaluable addition to the existing hardware"},{"line_number":103,"context_line":"resource set."},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_074ad0aa","line":101,"range":{"start_line":100,"start_character":0,"end_line":101,"end_character":29},"updated":"2018-03-14 13:59:18.000000000","message":"This is highly doubtful. I don\u0027t know of any public cloud that is interested in monetizing low-level cache line availability.\n\nThe only thing that I know public cloud operators are interested in low-level cache about is in fixing Spectre and Meltdown issues.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3967d07afa2b70a791fd2ddb4557ffd0f488d85e","unresolved":false,"context_lines":[{"line_number":97,"context_line":"requirements. A very important way to meet the SLOs would be to have a set"},{"line_number":98,"context_line":"of cache ways associated with workload of interest [1]_."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"A public cloud operator would care about monetizing cache as a resource and"},{"line_number":101,"context_line":"gurantee an SLA at same time. Having interfaces with a local daemon that helps"},{"line_number":102,"context_line":"achieve this would be an invaluable addition to the existing hardware"},{"line_number":103,"context_line":"resource set."},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_bca1b6fa","line":101,"range":{"start_line":100,"start_character":0,"end_line":101,"end_character":29},"in_reply_to":"df7087c5_074ad0aa","updated":"2018-03-14 15:49:14.000000000","message":"It\u0027s probably more useful for workloads where consistent performance is critical, which is more the arena of private cloud.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":110,"context_line":"* Cache resource management with placement api."},{"line_number":111,"context_line":"* Interactions with RMD."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"We will add two new extra spec fileds in flavor:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* `max_cache`: Indicates maximal cache ways of the instance could be used by"},{"line_number":116,"context_line":"               an instance, per socket basis."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_3b822b02","line":113,"range":{"start_line":113,"start_character":20,"end_line":113,"end_character":48},"updated":"2017-10-03 18:37:26.000000000","message":"What about image properties, since it\u0027s really the software running in the image that would have requirements for a certain amount of cache to run at full speed.\n\nAlso, given that cache is essentially a per-NUMA-node resource, for multi-NUMA-node guests would we need to specify cache per-NUMA-node?  (How would we allocate cache if the admin specifies unequal-sized NUMA nodes in the flavor?)","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"We will add two new extra spec fileds in flavor:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* `max_cache`: Indicates maximal cache ways of the instance could be used by"},{"line_number":116,"context_line":"               an instance, per socket basis."},{"line_number":117,"context_line":"* `min_cache`: Indicates minimum number of cache ways could be used by an"},{"line_number":118,"context_line":"               instance, per socket basis."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"A workload could use combination between `max_cache` and `min_cache`:"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_db8f972c","line":118,"range":{"start_line":115,"start_character":0,"end_line":118,"end_character":42},"updated":"2017-10-03 18:37:26.000000000","message":"Units of \"cache ways\" doesn\u0027t really work, since the amount of cache could vary depending on the specific host processor model.  I think you\u0027d need to specify this in terms of MB.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":138,"context_line":"API to query if that `host` welcome this `max_cache`, `min_cache` request of"},{"line_number":139,"context_line":"instance or not."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"But this requires scheduler to query the compute node on the air to get the"},{"line_number":142,"context_line":"hospitality score of selected hosts. There will be some overhead, but it\u0027s"},{"line_number":143,"context_line":"very much flexible for user to define different `max_cache`, `min_cache`"},{"line_number":144,"context_line":"in the flavor."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"And by using hospitality score API, placement-api don\u0027t not need to maintain"},{"line_number":147,"context_line":"cache resource usage."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Nova compute can query RMD API to provide number of resources can be supported"},{"line_number":150,"context_line":"in eache cache resource pool. They are all linear resource in each of the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_fba01394","line":147,"range":{"start_line":141,"start_character":0,"end_line":147,"end_character":21},"updated":"2017-10-03 18:37:26.000000000","message":"I don\u0027t think we want the scheduler to query all the potential hosts on each scheduler operation.\n\nAlso, we need to report the available cache resources (including limitations like whether they\u0027re contiguous) for each host NUMA node so that it can be factored in to the decision made by the NUMATopologyFilter.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"49d126ab3d6eb1f6d0230ffd842dd32c958fc617","unresolved":false,"context_lines":[{"line_number":146,"context_line":"And by using hospitality score API, placement-api don\u0027t not need to maintain"},{"line_number":147,"context_line":"cache resource usage."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Nova compute can query RMD API to provide number of resources can be supported"},{"line_number":150,"context_line":"in eache cache resource pool. They are all linear resource in each of the"},{"line_number":151,"context_line":"pools, havig no overlap with each other, and so they can be maintained by"},{"line_number":152,"context_line":"placement-api."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"** Interactions with RMD"},{"line_number":155,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_7b04237f","line":152,"range":{"start_line":149,"start_character":0,"end_line":152,"end_character":14},"updated":"2017-10-03 18:37:26.000000000","message":"This sounds like an alternate proposal, different from having the scheduler query the compute node.  It\u0027s a bit confusing.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"fed9962627a62661ac55235f2a1e4b860d7f6808","unresolved":false,"context_lines":[{"line_number":296,"context_line":".. [1] Whitepaper \"Deterministic NFV with Intel RDT\" provides example of"},{"line_number":297,"context_line":"       cache usage scenarios for optimal performance:"},{"line_number":298,"context_line":"       \"https://builders.intel.com/docs/networkbuilders/deterministic_network"},{"line_number":299,"context_line":"       _functions_virtualization_with_Intel_Resource_Director_Technology.pdf\""},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"History"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_ae1d4110","line":299,"updated":"2018-03-12 13:42:15.000000000","message":"Is this line break going to mess up formatting?\n\nThanks for including this reference, until I saw it I was going to ask \"does this make that much difference\" but now I can just read this.","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"},{"author":{"_account_id":20207,"name":"sunku ranganath","email":"sunku.ranganath@intel.com","username":"sunkuranganath"},"change_message_id":"51c92634ad6a662305d3a8fe0122cb206c9d5eee","unresolved":false,"context_lines":[{"line_number":296,"context_line":".. [1] Whitepaper \"Deterministic NFV with Intel RDT\" provides example of"},{"line_number":297,"context_line":"       cache usage scenarios for optimal performance:"},{"line_number":298,"context_line":"       \"https://builders.intel.com/docs/networkbuilders/deterministic_network"},{"line_number":299,"context_line":"       _functions_virtualization_with_Intel_Resource_Director_Technology.pdf\""},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"History"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df7087c5_a558ae87","line":299,"in_reply_to":"df7087c5_ae1d4110","updated":"2018-03-15 00:59:30.000000000","message":"Glad it helped","commit_id":"09327bb0171f335b26e9be6d12a89b91dc0e81d2"}]}
