none
(Sumber: milis SQL Server) Numa RRS feed

  • Pertanyaan

  • Selamat pagi semuanya,

    tanya dunk sedikit tentang numa.

    1. Dikatakan sql server membagi memory secara merata ke semua numa

    kecuali numa 0 karena numa 0 dipakai untuk os. Asumsikan statement ini benar.

    maka :

    a. misal ada query/job yang butuh memory lebih besar daripada yang dialokasikan

    untuk numanya (misal numa 1) dan misalnkan ada 4 numa (0,1,2,3) apakah ada biaya yang berbeda mengakses memory numa 2, numa 3.

    b. misalkan ada data di cache di numa 2. Data itu berukuran besar.

    Ada query di numa 1 yang membutuhkan data di numa 2. Apa yang terjadi ?

    apakah data dari numa 2 dipindahkan ke numa 1 (karena katanya akses ke

    memory yang terletak di numa berbeda akan boros biaya)

    Atau tetap berada di numa 2.

    c. Bagaimana membentuk query yang numa friendly?

    Definisi friendlynya adalah dia tidak mengakses memory di numa berbeda

    nb : mungkin saya salah menyampaikannnya susah soalnya mengeluarkan isi benak saya

    terima kasih..


    Best Regards,
    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Kamis, 30 Mei 2013 10.46
    Moderator

Jawaban

  • Jawabannya: tidak ada setting yang dapat mengendalikan NUMA dari suatu query. Proses ini berjalan "auto", berdasarkan perhitungan cost query plan.

    Dari sisi penggunaan CPU, yang dapat dilakukan adalah menggunakan hints MAXDOP = 1, sehingga query tidak akan dijalankan dengan fitur parallelism. Ini artinya query tsb hanya akan mendapatkan 1 thread dr CPU dan tidak dipindah (context switching) antar core. Dengan demikian, query tsb akan mendapatkan jatah memory yang terdekat dari NUMA node tsb.

    Sejak SQL 2008 + Win 2008, SQL Server sudah NUMA aware. Artinya penggunaan memory akan selalu mengambil blok terdekat dari NUMA node. Penggunaan memory dari node lain (cross node) mungkin saja dilakukan tetapi prioritasnya lebih rendah.

    Kesimpulan: "pengendalian" CPU dan memori (dalam kaitannya dg NUMA) dapat dilakukan dengan menggunakan MAXDOP hints. Tetapi ini kembali kepada sifat query tersebut, karena ada operasi yang dapat dipercepat dengan proses parallelism dan ada yang tidak.


    Dijawab oleh: Choirul Amri


    Best Regards,
    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Kamis, 30 Mei 2013 10.47
    Moderator

Semua Balasan

  • Jawabannya: tidak ada setting yang dapat mengendalikan NUMA dari suatu query. Proses ini berjalan "auto", berdasarkan perhitungan cost query plan.

    Dari sisi penggunaan CPU, yang dapat dilakukan adalah menggunakan hints MAXDOP = 1, sehingga query tidak akan dijalankan dengan fitur parallelism. Ini artinya query tsb hanya akan mendapatkan 1 thread dr CPU dan tidak dipindah (context switching) antar core. Dengan demikian, query tsb akan mendapatkan jatah memory yang terdekat dari NUMA node tsb.

    Sejak SQL 2008 + Win 2008, SQL Server sudah NUMA aware. Artinya penggunaan memory akan selalu mengambil blok terdekat dari NUMA node. Penggunaan memory dari node lain (cross node) mungkin saja dilakukan tetapi prioritasnya lebih rendah.

    Kesimpulan: "pengendalian" CPU dan memori (dalam kaitannya dg NUMA) dapat dilakukan dengan menggunakan MAXDOP hints. Tetapi ini kembali kepada sifat query tersebut, karena ada operasi yang dapat dipercepat dengan proses parallelism dan ada yang tidak.


    Dijawab oleh: Choirul Amri


    Best Regards,
    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Kamis, 30 Mei 2013 10.47
    Moderator
  • Wah terima kasih banget, ini memberi pencerahan.

    Makasih pak Choirul.


    Best Regards,
    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Kamis, 30 Mei 2013 10.47
    Moderator