home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat5 / numa.z / numa
Encoding:
Text File  |  2001-04-17  |  10.3 KB  |  265 lines

  1.  
  2.  
  3.  
  4. nnnnuuuummmmaaaa((((5555))))                                                                nnnnuuuummmmaaaa((((5555))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      numa - non uniform memory access
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      This document briefly describes the IRIX NUMA memory management
  13.      subsystem, and provides a top level index for all NUMA management tools
  14.      available in Origin systems.
  15.  
  16.  
  17.    TTTTooooppppoooollllooooggggyyyy
  18.      The command topology(1) can be used to get a quick view of the topology
  19.      of an Origin system. This command produces output that lists processors,
  20.      nodes, routers, and the links that connect all these devices. For more
  21.      information, see hinv(1) and hwgraph(4).
  22.  
  23.  
  24.    NNNNaaaammmmeeee SSSSppppaaaacccceeeessss ffffoooorrrr NNNNooooddddeeeessss
  25.      There are several related name spaces for nodes. The main name space is
  26.      that provided by the hardware graph, where a name is a string of
  27.      characters in the form of a path that both identifies a node and defines
  28.      its location relative to the overall hardware.
  29.  
  30.           $ find /hw -name node -print
  31.           /hw/module/1/slot/n1/node
  32.           /hw/module/1/slot/n2/node
  33.           /hw/module/1/slot/n3/node
  34.           /hw/module/1/slot/n4/node
  35.           /hw/module/2/slot/n1/node
  36.           /hw/module/2/slot/n2/node
  37.           /hw/module/2/slot/n3/node
  38.           /hw/module/2/slot/n4/node
  39.  
  40.  
  41.  
  42.      Another highly visible name space for nodes is the _C_o_m_p_a_c_t _N_o_d_e
  43.      _I_d_e_n_t_i_f_i_e_r_s. This space is just a compact enumeration of the nodes
  44.      currently available in the system, from 0 to NUMNODES-1.  These numbers
  45.      are known as _c_n_o_d_e_i_d_s and their relation to path names is defined by the
  46.      hardware graph directory ////hhhhwwww////nnnnooooddddeeeennnnuuuummmm.
  47.  
  48.  
  49.           $ cd /hw/nodenum
  50.           $ ls -l
  51.           total 0
  52.           lrw-------    1 root     sys           26 Jul 10 13:36 0 -> /hw/module/1/slot/n1/node
  53.           lrw-------    1 root     sys           26 Jul 10 13:36 1 -> /hw/module/1/slot/n2/node
  54.           lrw-------    1 root     sys           26 Jul 10 13:36 2 -> /hw/module/1/slot/n3/node
  55.           lrw-------    1 root     sys           26 Jul 10 13:36 3 -> /hw/module/1/slot/n4/node
  56.           lrw-------    1 root     sys           26 Jul 10 13:36 4 -> /hw/module/2/slot/n1/node
  57.           lrw-------    1 root     sys           26 Jul 10 13:36 5 -> /hw/module/2/slot/n2/node
  58.           lrw-------    1 root     sys           26 Jul 10 13:36 6 -> /hw/module/2/slot/n3/node
  59.           lrw-------    1 root     sys           26 Jul 10 13:36 7 -> /hw/module/2/slot/n4/node
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. nnnnuuuummmmaaaa((((5555))))                                                                nnnnuuuummmmaaaa((((5555))))
  71.  
  72.  
  73.  
  74.      The relation between cnodeids and node path names may change across
  75.      reboots.
  76.  
  77.  
  78.      There are two additional name spaces used internally by the operating
  79.      system:  The _N_u_m_a _A_d_d_r_e_s_s _S_p_a_c_e _I_d_e_n_t_i_f_i_e_r or _n_a_s_i_d_s, which is used
  80.      internally to define the section of the physical memory space that will
  81.      be covered by a node; and the Persistent Node Identifier, which is used
  82.      to identify hardware components. For a more detailed description, see the
  83.      Origin Technical Report.
  84.  
  85.  
  86.    NNNNaaaammmmeeee SSSSppppaaaacccceeeessss ffffoooorrrr PPPPrrrroooocccceeeessssssssoooorrrrssss
  87.      The main name space for processors is provided by the hardware graph,
  88.      where a name is a string of characters in the form of a path that both
  89.      identifies a processor (CPU) and defines its location relative to the
  90.      overall hardware.
  91.  
  92.           $ find /hw -name "[ab]" -print
  93.           /hw/module/1/slot/n1/node/cpu/a
  94.           /hw/module/1/slot/n1/node/cpu/b
  95.           /hw/module/1/slot/n2/node/cpu/a
  96.           /hw/module/1/slot/n2/node/cpu/b
  97.           /hw/module/1/slot/n3/node/cpu/a
  98.           /hw/module/1/slot/n3/node/cpu/b
  99.           /hw/module/1/slot/n4/node/cpu/a
  100.           /hw/module/1/slot/n4/node/cpu/b
  101.           /hw/module/2/slot/n1/node/cpu/a
  102.           /hw/module/2/slot/n1/node/cpu/b
  103.           /hw/module/2/slot/n2/node/cpu/a
  104.           /hw/module/2/slot/n2/node/cpu/b
  105.           /hw/module/2/slot/n3/node/cpu/a
  106.           /hw/module/2/slot/n3/node/cpu/b
  107.           /hw/module/2/slot/n4/node/cpu/a
  108.           /hw/module/2/slot/n4/node/cpu/b
  109.  
  110.  
  111.  
  112.      The listing above shows all processors in a system, and each path name
  113.      also identifies the node the processor is connected to.
  114.  
  115.  
  116.      Another name space for processors is the _C_o_m_p_a_c_t _P_r_o_c_e_s_s_o_r _I_d_e_n_t_i_f_i_e_r_s,
  117.      or simply _c_p_u_i_d_s. This space is just a compact enumeration of the
  118.      processors currently available in the system, from 0 to NUMCPUS-1. Their
  119.      relation to path names is defined by the hardware graph directory
  120.      ////hhhhwwww////ccccppppuuuunnnnuuuummmm.
  121.  
  122.           $ cd /hw/cpunum
  123.           $ ls -l
  124.           total 0
  125.           lrw-------    1 root     sys  32 Jul 10 14:53 0 -> /hw/module/1/slot/n1/node/cpu/a
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. nnnnuuuummmmaaaa((((5555))))                                                                nnnnuuuummmmaaaa((((5555))))
  137.  
  138.  
  139.  
  140.           lrw-------    1 root     sys  32 Jul 10 14:53 1 -> /hw/module/1/slot/n1/node/cpu/b
  141.           lrw-------    1 root     sys  32 Jul 10 14:53 10 -> /hw/module/2/slot/n2/node/cpu/a
  142.           lrw-------    1 root     sys  32 Jul 10 14:53 11 -> /hw/module/2/slot/n2/node/cpu/b
  143.           lrw-------    1 root     sys  32 Jul 10 14:53 12 -> /hw/module/2/slot/n3/node/cpu/a
  144.           lrw-------    1 root     sys  32 Jul 10 14:53 13 -> /hw/module/2/slot/n3/node/cpu/b
  145.           lrw-------    1 root     sys  32 Jul 10 14:53 14 -> /hw/module/2/slot/n4/node/cpu/a
  146.           lrw-------    1 root     sys  32 Jul 10 14:53 15 -> /hw/module/2/slot/n4/node/cpu/b
  147.           lrw-------    1 root     sys  32 Jul 10 14:53 2 -> /hw/module/1/slot/n2/node/cpu/a
  148.           lrw-------    1 root     sys  32 Jul 10 14:53 3 -> /hw/module/1/slot/n2/node/cpu/b
  149.           lrw-------    1 root     sys  32 Jul 10 14:53 4 -> /hw/module/1/slot/n3/node/cpu/a
  150.           lrw-------    1 root     sys  32 Jul 10 14:53 5 -> /hw/module/1/slot/n3/node/cpu/b
  151.           lrw-------    1 root     sys  32 Jul 10 14:53 6 -> /hw/module/1/slot/n4/node/cpu/a
  152.           lrw-------    1 root     sys  32 Jul 10 14:53 7 -> /hw/module/1/slot/n4/node/cpu/b
  153.           lrw-------    1 root     sys  32 Jul 10 14:53 8 -> /hw/module/2/slot/n1/node/cpu/a
  154.           lrw-------    1 root     sys  32 Jul 10 14:53 9 -> /hw/module/2/slot/n1/node/cpu/b
  155.  
  156.  
  157.  
  158.      The relation between cpuids and cpu path names may change across reboots.
  159.  
  160.  
  161.  
  162.    LLLLooooccccaaaalllliiiittttyyyy MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt
  163.      IRIX provides a rich set of features for managing memory locality, both
  164.      automatically and manually. All automatic memory locality management
  165.      procedures work based on the concept of adaptability; all manual tools
  166.      work based on hints provided by users, compilers, or special high level
  167.      memory placement tools.
  168.  
  169.  
  170.    AAAAuuuuttttoooommmmaaaattttiiiicccc MMMMeeeemmmmoooorrrryyyy LLLLooooccccaaaalllliiiittttyyyy MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt
  171.      Automatic memory locality management in IRIX is based on dynamic memory
  172.      migration (see migration(5)), dynamic memory replication (see
  173.      replication(5)), and an initial placement policy based on a First Touch
  174.      Placement Algorithm.  System administrators can tune the aggressiveness
  175.      of both migration and replication for a system using the numa tunables
  176.      file (/var/sysgen/mtune/numa) or the command sn(1).
  177.  
  178.  
  179.    UUUUsssseeeerrrr DDDDrrrriiiivvvveeeennnn MMMMeeeemmmmoooorrrryyyy LLLLooooccccaaaalllliiiittttyyyy MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt
  180.      IRIX provides a Memory Management Control Interface (mmci(5)) to allow
  181.      users control over memory system behavior. This interface covers both
  182.      NUMA and generic memory system control. For NUMA, the interface provides
  183.      control over placement, migration and replication policies; for generic
  184.      memory management, the interface provides control over page size and
  185.      paging algorithms.
  186.  
  187.  
  188.      MMCI can be used directly (mmci(5)), via compiler directives (mp(3F),
  189.      mp(3C)), or via high level placement tools (dplace(1), dplace(3),
  190.      dplace(5), dprof(1)).
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. nnnnuuuummmmaaaa((((5555))))                                                                nnnnuuuummmmaaaa((((5555))))
  203.  
  204.  
  205.  
  206.    PPPPeeeerrrrffffoooorrrrmmmmaaaannnncccceeee MMMMoooonnnniiiittttoooorrrriiiinnnngggg
  207.      Users can monitor memory reference patterns produced by their
  208.      applications using the memory reference counters provided by the Origin
  209.      hardware (refcnt(5)).  High level tools that simplify this procedure are
  210.      dlook(1) and dprof(1).
  211.  
  212.  
  213.      Users can also monitor the r10k event counters (r10k_counters(5)). See
  214.      perfex(1), ssrun(1), speedshop(1).
  215.  
  216.  
  217. FFFFIIIILLLLEEEESSSS
  218.      /var/sysgen/mtune/numa
  219.  
  220.  
  221. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  222.      migration(5), replication(5), mtune(4), refcnt(5), mmci(5), nstats(1),
  223.      sn(1), mld(3c), mldset(3c), pm(3c), migration(3c), pminfo(3c),
  224.      numa_view(1), dplace(1), dprof(1).
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.