Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-9096

Some GpuResourcePlugin and ResourcePluginManager methods are synchronized unnecessarily

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3.0, 3.2.1, 3.1.3
    • Component/s: None
    • Labels:
      None

      Description

      These methods are not used concurrently, they are part of the initialization code of NM that happens from one thread.

      This is the list of the call hierarchies: 

      1. GpuResourcePlugin.initialize + ResourcePluginManager.initialize

       

      GpuResourcePlugin.initialize(Context) (org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.gpu) ResourcePluginManager.initialize(Context) (org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin) NodeManager.serviceInit(Configuration) (org.apache.hadoop.yarn.server.nodemanager)

       

       

      2. GpuResourcePlugin.createResourceHandler: 

       

      GpuResourcePlugin.createResourceHandler(Context, CGroupsHandler, PrivilegedOperationExecutor) (org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.gpu) ResourceHandlerModule.addHandlersFromConfiguredResourcePlugins(List, Configuration, Context) (org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources) ResourceHandlerModule.initializeConfiguredResourceHandlerChain(Configuration, Context) (org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources) ResourceHandlerModule.getConfiguredResourceHandlerChain(Configuration, Context) (org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources) ContainerScheduler.serviceInit(Configuration) (org.apache.hadoop.yarn.server.nodemanager.containermanager.scheduler) LinuxContainerExecutor.init(Context) (org.apache.hadoop.yarn.server.nodemanager)
      

       

      3. GpuResourcePlugin.getNodeResourceHandlerInstance: 

       

      GpuResourcePlugin.getNodeResourceHandlerInstance() (org.apache.hadoop.yarn.server.nodemanager.containermanager.resourceplugin.gpu)
      NodeStatusUpdaterImpl.updateConfiguredResourcesViaPlugins(Resource)(2 usages) (org.apache.hadoop.yarn.server.nodemanager)
      NodeStatusUpdaterImpl.serviceInit(Configuration) (org.apache.hadoop.yarn.server.nodemanager)
      

        Attachments

        1. YARN-9096.002.patch
          3 kB
          Szilard Nemeth
        2. YARN-9096.002.patch
          3 kB
          Adam Antal
        3. YARN-9096.001.patch
          4 kB
          Szilard Nemeth

          Activity

            People

            • Assignee:
              shuzirra Gergely Pollak
              Reporter:
              snemeth Szilard Nemeth
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: