SlideShare a Scribd company logo
1 of 32
Download to read offline
SQL Serverのスレッド管理




                    1
Agenda

       SQL Server スレッド スケジューリングの歴史 (5分)

       SQL Serverのスレッド スケジューリング(30分)

       SQL Serverのスレッド モード (5分)

       質疑応答 (5分)




©2012 Microsoft Corporation. All Rights Reserved.            2
SQL Server スケジューリングの歴史




                         3
SQL Server Schedulingの歴史

       SQL Server 6.x
         Preemptive Thread

       SQL Server 7/2000
         Non-Preemptive Thread (UMS)

       SQL Server 2005/2008/2008R2/2012
         Non-Preemptive Thread (SQLOS)



©2012 Microsoft Corporation. All Rights Reserved.     4
Why non-preemptive scheduling

       “RDBMSエンジンに関する調査研究によると、パフォーマンスと
       スケーラビリティの要件をみたすためには、non-preemptiveス
       ケジューリングの効用が必要だということがわかった。”

       “As adequate research shows for RDBMS engine to meet
       performance and scalability requirements it needs to leverage
       non-preemptive scheduling.”



       From
       http://blogs.msdn.com/b/slavao/archive/2005/02/05/367816.
       aspx
©2012 Microsoft Corporation. All Rights Reserved.                      5
SQL Serverのスレッド スケジューリング




                           6
PreemptiveとNon-Preemptive

       • Preemptive (Windows)
       システム (OS) が、CPUを使用するスレッドを決定する。CPU使用
       権の横取り。

       • Non-Preemptive (SQL Server)
       ユーザープログラム(スレッド自身)が、 CPUを使用するスレッド
       を決定する。




©2012 Microsoft Corporation. All Rights Reserved.     7
Non-Preemptive実現性


       システムの観点から見て、完全なNon-Preemptiveス
       ケジューリングを実装することはできない

       ただし、プロセスという閉じた観点であれば、Non-
       Preemptiveスケジューリングは実装可能




©2012 Microsoft Corporation. All Rights Reserved.          8
Windowsのスケジューリング

       CPUを使用するスレッドが切り替わるタイミング(コンテキストスイッチ)

       • クォンタムの終了
          実行中のスレッドが割り当てられたクォンタムを使い切った(CPU
         時間を使い切った)

       • 自発的な待機
         イベント、セマフォなどの同期オブジェクト上で待機が発生

       • プリエンプション
         より高い優先度のスレッドによる横取り

©2012 Microsoft Corporation. All Rights Reserved.   9
SQL Serverのスケジューリング

       CPUを使用するスレッドが切り替わるタイミング(コンテキストスイッチ)


       • SQLOS Yield APIの呼び出し
                スレッドが任意のタイミングで自らCPUの使用権を放棄する


       • 自発的な待機
                同期オブジェクト上での待機が発生 (ロック、ラッチ待ちなど)




©2012 Microsoft Corporation. All Rights Reserved.   10
スレッドを管理しているコンポーネント
       • SOS Scheduler
                 – Yield APIや、同期オブジェクトで待機する場合は最終的に、SOS
                   SchedulerクラスのAPIを呼び出して、スレッドを操作している
       • スケジューラーごとにワーカープールを持っている
       • DMV sys.dm_os_shceduler




©2012 Microsoft Corporation. All Rights Reserved.
スレッドの状態

       • Running状態
          SQLOS上でCPUを使用しているスレッド

       • Runnable状態
         SQLOS上でCPUの使用権を待機しているスレッド

       • Suspended (Waiting) 状態
         同期オブジェクト上で待機しているスレッド


©2012 Microsoft Corporation. All Rights Reserved.             12
スレッドの状態遷移

                                                                           同期オブジェクト
           CPU使用権放棄                                       Running          取得




                                                                    同期オブジェクト
                                                                    待機
                                                                               Suspended
               Runnable
                                                    CPU使用権譲受                    (Waiting)



                                                        同期オブジェクト
                                                        取得


©2012 Microsoft Corporation. All Rights Reserved.
スレッド状態確認

       • DMV sys.dm_os_workers
                 – state カラム




©2012 Microsoft Corporation. All Rights Reserved.
スレッド状態確認

       • DMV sys.dm_os_workers
                 – state カラム




©2012 Microsoft Corporation. All Rights Reserved.
SQLスレッドのスケジューリング
       • SQLのスレッドは、他のスレッドからCPU使用権を譲りうける
         ことで初めて動作できる
                 – Cooperative Scheduling

                                                    コンテキストスイッチ
 T1


                   T1 がT2にCPU                            T 2がT1にCPU
                   使用権を譲渡                                使用権を譲渡

 T2
                                    コンテキストスイッチ                   コンテキストスイッチ
                                                                 Running State
                                                                 Runnable State

©2012 Microsoft Corporation. All Rights Reserved.
CPUの使用権譲渡とは

 イベントオブジェクト(信号)をシグナル状態(青)に変えてあげること

            T1


                                                    T1 は誰かが自分のイベントオブジェク
T1 は、T2が待機しているイベン
                                                    トをシグナル化してくれるのを待機する
トオブジェクトをシグナル化する


            T2

                                                        Signaled State Event
                                                        Not Signaled State Event
                                                        Running State
                                                        Runnable State

©2012 Microsoft Corporation. All Rights Reserved.
コンテキストスイッチ時の重要な処理

   • I/Oキューのチェック
            – 完了しているI/Oのチェックと、I/O完了ルーチンの呼び出し

            T1                                      Call Stack

                               … Yield API コール      ntdll!ZwSignalAndWaitForSingleObject+0xa
                                                    kernel32!SignalObjectAndWait+0x110
                                                    sqldk!SystemThread::SignalAndWait+0x2a
                                                    sqldk!SOS_Scheduler::Switch+0xb5
                                                    sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2
コンテ                            … I/O キューのチェック       ….
キスト
スイッ                            … I/O 要求ごとの完了ルーチンを呼び出す
チ処理



                               … Tnのイベントオブジェクトシグナル化
©2012 Microsoft Corporation. All Rights Reserved.
I/O完了ルーチン:具体例 I/Oラッチ
       I/Oラッチ:物理I/O中のメモリバッファにかける排他のしくみ
                    T1                 ① I/Oラッチをバッファにかける

                                       ② I/O完了ルーチンを設定 (ラッチ解放処理)          I/O要求発行

                                       ③ ReadFile/WriteFile API 非同期コール

                                       ④ I/O キューに発行したI/O要求を追加
                                                                          I/O完了
                                       ⑤ Yield API コール
  コンテ
  キスト
  スイッ                                  ⑥ I/O キューのチェック
  チ処理
                                       ⑦ I/O完了ルーチンの呼び出し (I/Oラッチの解放)


                                       ⑧ Tnのイベントオブジェクトシグナル化
©2012 Microsoft Corporation. All Rights Reserved.
I/O完了ルーチン:コールスタック例

         0:073> k
         Child-SP       RetAddr           Call Site
         00000000`0a8fcc00 000007fe`d7f21e10 sqlmin!FCB::PostRead+0x14
         00000000`0a8fcc50 000007fe`d7f2163c sqlmin!BPool::ReadPageCompletion+0xe7
         00000000`0a8fccc0 000007fe`db8709a8 sqlmin!FCB::IoCompletion+0x97
         (Inline Function) --------`-------- sqldk!SOS_IOCompRequest::ExecuteCompRoutine+0x6
         00000000`0a8fcd10 000007fe`db83222f sqldk!IOQueue::CheckForIOCompletion+0x18e
         00000000`0a8fce10 000007fe`db83c169 sqldk!SOS_Scheduler::SwitchContext+0x67
         00000000`0a8fd0b0 000007fe`db845ebc sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2
         (Inline Function) --------`-------- sqldk!SOS_Scheduler::Suspend+0x20
         00000000`0a8fd0f0 000007fe`db850ddf sqldk!SOS_Task::Sleep+0x1a8
         00000000`0a8fd150 000007fe`d7f2258b sqldk!Worker::OSYieldNoAbort+0x2f
         (Inline Function) --------`-------- sqlmin!SOS_Task::OSYieldNoAbort+0x263
         00000000`0a8fd180 000007fe`d7f07925 sqlmin!BPool::GetFromDisk+0x81b
         ...




©2012 Microsoft Corporation. All Rights Reserved.
その他のIO完了ルーチン

   [代表例]
   • ページ整合性検証

            – チェックサム (既定)
                      • Set the PAGE_VERIFY Database Option to CHECKSUM
                        http://msdn.microsoft.com/en-us/library/bb402873.aspx


            – Stale Read Detection (Trace Flag 818)
                      • Additional SQL Server diagnostics added to detect unreported I/O problems
                        http://support.microsoft.com/kb/826433




©2012 Microsoft Corporation. All Rights Reserved.
I/Oキュー
   • I/Oキューの数
            – sys.dm_os_schedulers の pending_disk_io_count
   • I/O要求の詳細
            – sys.dm_io_pending_io_requests




©2012 Microsoft Corporation. All Rights Reserved.
IO完了ルーチン処理中の確認

   • DMV sys.dm_os_workers
            – is_in_polling_io_completion_routine カラム




©2012 Microsoft Corporation. All Rights Reserved.
SQL Serverのスレッド モード




                      24
ノンプリエンプティブスレッドの問題点

   問題例
   • 処理時間の長い Windows API 呼び出し
   • ユーザーが作成した拡張ストアドプロシージャの呼び出し


                                                    CreateFile では内部でイ
                                                    ベントオブジェクトを使
                                                    用し、自発的に待機状
                     T1                             態となることがある
                                                                        I/O要求発行

                                         … CreateFile API 呼び出し/ 完了待ち



©2012 Microsoft Corporation. All Rights Reserved.
解決策:プリエンプティブスレッド

   スレッドを管理できなくなるタイミングで、プリエンプティブ
   モードにスイッチする

                          T1                        CPU使用権をT2に譲渡した後、
                                                    SOSで管理されないスレッドモー
                                                    ドにスイッチ




    T2
                                                                          I/O要求発行

                                            … CreateFile API 呼び出し/ 完了待ち


©2012 Microsoft Corporation. All Rights Reserved.
スレッドモードの確認

   • DMV sys.dm_os_workers
            – Is_preemptive カラム




©2012 Microsoft Corporation. All Rights Reserved.
プリエンプティブモードで動くスレッド

   • ヘルスチェック スレッド
            – sp_server_diagnosticsスレッド
            – Lease HandShake スレッド (Availability Group)
            – Scheduler Monitorスレッド

                                                          など




©2012 Microsoft Corporation. All Rights Reserved.
まとめ
       •         SQL Server はNon-Preemptiveなスレッドスケジューリング
                 を実装している

       •         Non-Preemptiveなスレッドは、自身でCPU時間を管理す
                 る

       •         SOSのコンテキストスイッチ時にはI/Oの完了がチェックさ
                 れる
                   •         I/O完了時には、I/O完了ルーチンが実行される


       •         SQL Serverのスレッドは必要に応じてプリエンプティブ
                 モードにスイッチする

©2012 Microsoft Corporation. All Rights Reserved.
参考
       SQL Serverのスレッドスケジューリング (DB Online)
       http://enterprisezine.jp/dbonline/detail/4157
       http://enterprisezine.jp/dbonline/detail/4168

       SQLOS - unleashed
       http://blogs.msdn.com/b/slavao/archive/2005/02/05/367816.aspx

       SQL Server 2008 SQLOS
       http://blogs.technet.com/b/josebda/archive/2009/03/30/sql-server-2008-
       sqlos.aspx

       Q&A on Latches in the SQL Server Engine….
       http://blogs.msdn.com/b/psssql/archive/2009/07/08/q-a-on-latches-in-the-sql-
       server-engine.aspx


©2012 Microsoft Corporation. All Rights Reserved.
質疑応答




©2012 Microsoft Corporation. All Rights
                                          31
             Reserved.
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
     conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
                                                                     ©2012 Microsoft Corporation. All Rights
                                 MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
                                                                                                                                                                                                      32
                                                                                  Reserved.

More Related Content

What's hot

x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチMasami Ichikawa
 
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告Uptime Technologies LLC (JP)
 
MySQLインストールのお作法
MySQLインストールのお作法MySQLインストールのお作法
MySQLインストールのお作法Meiji Kimura
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringTakatoshi Matsuo
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009Ryota Watabe
 
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Hiraku Toyooka
 
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)Insight Technology, Inc.
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話nullnilaki
 
TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)
TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)
TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)Takuya Azumi
 
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)Chika SATO
 
JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]
JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]
JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]David Buck
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化Takatoshi Matsuo
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~Ryota Watabe
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介Insight Technology, Inc.
 
cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)iret, Inc.
 
Javaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うJavaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うKenji Kazumura
 

What's hot (20)

x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
 
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
 
MySQLインストールのお作法
MySQLインストールのお作法MySQLインストールのお作法
MySQLインストールのお作法
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
 
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
 
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
 
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話
 
TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)
TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)
TECSの基礎(ETロボコン向けTOPPERS活用セミナー2-1)
 
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
バックアップことはじめ JPUG第29回しくみ+アプリケーション分科会(2014-05-31)
 
JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]
JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]
JDK 13 New Features [MeetUp with Java Experts! @Gaienmae/Dojima 2019]
 
PostgreSQLセキュリティ総復習
PostgreSQLセキュリティ総復習PostgreSQLセキュリティ総復習
PostgreSQLセキュリティ総復習
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
 
cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)
 
Javaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うJavaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使う
 

Similar to C21 SQL Server のスレッド管理 by 古賀啓一郎

COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリングCOD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリングMasayuki Ozawa
 
C13 SQL Server2012知られざるTips集 by 平山理
C13 SQL Server2012知られざるTips集 by 平山理C13 SQL Server2012知られざるTips集 by 平山理
C13 SQL Server2012知られざるTips集 by 平山理Insight Technology, Inc.
 
リアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズリアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズKazuhiro Takahashi
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理junichi anno
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...Insight Technology, Inc.
 
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみようOOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみようTadashi Yamashita
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )ロフト くん
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishYohei Azekatsu
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewYuji Kubota
 
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史Insight Technology, Inc.
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet ServicesNaoto Gohko
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システムTomohiro Ohtake
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...yoshimotot
 
Dbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncDbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncKoji Shinkubo
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?Masayuki Ozawa
 
Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Yuichi Sakuraba
 
Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報Atsuo Yamasaki
 

Similar to C21 SQL Server のスレッド管理 by 古賀啓一郎 (20)

COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリングCOD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
 
C13 SQL Server2012知られざるTips集 by 平山理
C13 SQL Server2012知られざるTips集 by 平山理C13 SQL Server2012知られざるTips集 by 平山理
C13 SQL Server2012知られざるTips集 by 平山理
 
リアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズリアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズ
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
 
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみようOOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
HeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical PreviewHeapStats: Introduction and Technical Preview
HeapStats: Introduction and Technical Preview
 
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
 
Dbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_syncDbts2013 特濃jpoug log_file_sync
Dbts2013 特濃jpoug log_file_sync
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
 
Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド -
 
hbstudy#06
hbstudy#06hbstudy#06
hbstudy#06
 
Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報Share pointを支えるsql server2014最新情報
Share pointを支えるsql server2014最新情報
 

More from Insight Technology, Inc.

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Insight Technology, Inc.
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明するInsight Technology, Inc.
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーンInsight Technology, Inc.
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームInsight Technology, Inc.
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門Insight Technology, Inc.
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー Insight Technology, Inc.
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?Insight Technology, Inc.
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Insight Technology, Inc.
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?Insight Technology, Inc.
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...Insight Technology, Inc.
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 Insight Technology, Inc.
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Insight Technology, Inc.
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]Insight Technology, Inc.
 

More from Insight Technology, Inc. (20)

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
Docker and the Oracle Database
Docker and the Oracle DatabaseDocker and the Oracle Database
Docker and the Oracle Database
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL ServicesLunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

C21 SQL Server のスレッド管理 by 古賀啓一郎

  • 2. Agenda SQL Server スレッド スケジューリングの歴史 (5分) SQL Serverのスレッド スケジューリング(30分) SQL Serverのスレッド モード (5分) 質疑応答 (5分) ©2012 Microsoft Corporation. All Rights Reserved. 2
  • 4. SQL Server Schedulingの歴史 SQL Server 6.x Preemptive Thread SQL Server 7/2000 Non-Preemptive Thread (UMS) SQL Server 2005/2008/2008R2/2012 Non-Preemptive Thread (SQLOS) ©2012 Microsoft Corporation. All Rights Reserved. 4
  • 5. Why non-preemptive scheduling “RDBMSエンジンに関する調査研究によると、パフォーマンスと スケーラビリティの要件をみたすためには、non-preemptiveス ケジューリングの効用が必要だということがわかった。” “As adequate research shows for RDBMS engine to meet performance and scalability requirements it needs to leverage non-preemptive scheduling.” From http://blogs.msdn.com/b/slavao/archive/2005/02/05/367816. aspx ©2012 Microsoft Corporation. All Rights Reserved. 5
  • 7. PreemptiveとNon-Preemptive • Preemptive (Windows) システム (OS) が、CPUを使用するスレッドを決定する。CPU使用 権の横取り。 • Non-Preemptive (SQL Server) ユーザープログラム(スレッド自身)が、 CPUを使用するスレッド を決定する。 ©2012 Microsoft Corporation. All Rights Reserved. 7
  • 8. Non-Preemptive実現性 システムの観点から見て、完全なNon-Preemptiveス ケジューリングを実装することはできない ただし、プロセスという閉じた観点であれば、Non- Preemptiveスケジューリングは実装可能 ©2012 Microsoft Corporation. All Rights Reserved. 8
  • 9. Windowsのスケジューリング CPUを使用するスレッドが切り替わるタイミング(コンテキストスイッチ) • クォンタムの終了 実行中のスレッドが割り当てられたクォンタムを使い切った(CPU 時間を使い切った) • 自発的な待機 イベント、セマフォなどの同期オブジェクト上で待機が発生 • プリエンプション より高い優先度のスレッドによる横取り ©2012 Microsoft Corporation. All Rights Reserved. 9
  • 10. SQL Serverのスケジューリング CPUを使用するスレッドが切り替わるタイミング(コンテキストスイッチ) • SQLOS Yield APIの呼び出し スレッドが任意のタイミングで自らCPUの使用権を放棄する • 自発的な待機 同期オブジェクト上での待機が発生 (ロック、ラッチ待ちなど) ©2012 Microsoft Corporation. All Rights Reserved. 10
  • 11. スレッドを管理しているコンポーネント • SOS Scheduler – Yield APIや、同期オブジェクトで待機する場合は最終的に、SOS SchedulerクラスのAPIを呼び出して、スレッドを操作している • スケジューラーごとにワーカープールを持っている • DMV sys.dm_os_shceduler ©2012 Microsoft Corporation. All Rights Reserved.
  • 12. スレッドの状態 • Running状態 SQLOS上でCPUを使用しているスレッド • Runnable状態 SQLOS上でCPUの使用権を待機しているスレッド • Suspended (Waiting) 状態 同期オブジェクト上で待機しているスレッド ©2012 Microsoft Corporation. All Rights Reserved. 12
  • 13. スレッドの状態遷移 同期オブジェクト CPU使用権放棄 Running 取得 同期オブジェクト 待機 Suspended Runnable CPU使用権譲受 (Waiting) 同期オブジェクト 取得 ©2012 Microsoft Corporation. All Rights Reserved.
  • 14. スレッド状態確認 • DMV sys.dm_os_workers – state カラム ©2012 Microsoft Corporation. All Rights Reserved.
  • 15. スレッド状態確認 • DMV sys.dm_os_workers – state カラム ©2012 Microsoft Corporation. All Rights Reserved.
  • 16. SQLスレッドのスケジューリング • SQLのスレッドは、他のスレッドからCPU使用権を譲りうける ことで初めて動作できる – Cooperative Scheduling コンテキストスイッチ T1 T1 がT2にCPU T 2がT1にCPU 使用権を譲渡 使用権を譲渡 T2 コンテキストスイッチ コンテキストスイッチ Running State Runnable State ©2012 Microsoft Corporation. All Rights Reserved.
  • 17. CPUの使用権譲渡とは イベントオブジェクト(信号)をシグナル状態(青)に変えてあげること T1 T1 は誰かが自分のイベントオブジェク T1 は、T2が待機しているイベン トをシグナル化してくれるのを待機する トオブジェクトをシグナル化する T2 Signaled State Event Not Signaled State Event Running State Runnable State ©2012 Microsoft Corporation. All Rights Reserved.
  • 18. コンテキストスイッチ時の重要な処理 • I/Oキューのチェック – 完了しているI/Oのチェックと、I/O完了ルーチンの呼び出し T1 Call Stack … Yield API コール ntdll!ZwSignalAndWaitForSingleObject+0xa kernel32!SignalObjectAndWait+0x110 sqldk!SystemThread::SignalAndWait+0x2a sqldk!SOS_Scheduler::Switch+0xb5 sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2 コンテ … I/O キューのチェック …. キスト スイッ … I/O 要求ごとの完了ルーチンを呼び出す チ処理 … Tnのイベントオブジェクトシグナル化 ©2012 Microsoft Corporation. All Rights Reserved.
  • 19. I/O完了ルーチン:具体例 I/Oラッチ I/Oラッチ:物理I/O中のメモリバッファにかける排他のしくみ T1 ① I/Oラッチをバッファにかける ② I/O完了ルーチンを設定 (ラッチ解放処理) I/O要求発行 ③ ReadFile/WriteFile API 非同期コール ④ I/O キューに発行したI/O要求を追加 I/O完了 ⑤ Yield API コール コンテ キスト スイッ ⑥ I/O キューのチェック チ処理 ⑦ I/O完了ルーチンの呼び出し (I/Oラッチの解放) ⑧ Tnのイベントオブジェクトシグナル化 ©2012 Microsoft Corporation. All Rights Reserved.
  • 20. I/O完了ルーチン:コールスタック例 0:073> k Child-SP RetAddr Call Site 00000000`0a8fcc00 000007fe`d7f21e10 sqlmin!FCB::PostRead+0x14 00000000`0a8fcc50 000007fe`d7f2163c sqlmin!BPool::ReadPageCompletion+0xe7 00000000`0a8fccc0 000007fe`db8709a8 sqlmin!FCB::IoCompletion+0x97 (Inline Function) --------`-------- sqldk!SOS_IOCompRequest::ExecuteCompRoutine+0x6 00000000`0a8fcd10 000007fe`db83222f sqldk!IOQueue::CheckForIOCompletion+0x18e 00000000`0a8fce10 000007fe`db83c169 sqldk!SOS_Scheduler::SwitchContext+0x67 00000000`0a8fd0b0 000007fe`db845ebc sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2 (Inline Function) --------`-------- sqldk!SOS_Scheduler::Suspend+0x20 00000000`0a8fd0f0 000007fe`db850ddf sqldk!SOS_Task::Sleep+0x1a8 00000000`0a8fd150 000007fe`d7f2258b sqldk!Worker::OSYieldNoAbort+0x2f (Inline Function) --------`-------- sqlmin!SOS_Task::OSYieldNoAbort+0x263 00000000`0a8fd180 000007fe`d7f07925 sqlmin!BPool::GetFromDisk+0x81b ... ©2012 Microsoft Corporation. All Rights Reserved.
  • 21. その他のIO完了ルーチン [代表例] • ページ整合性検証 – チェックサム (既定) • Set the PAGE_VERIFY Database Option to CHECKSUM http://msdn.microsoft.com/en-us/library/bb402873.aspx – Stale Read Detection (Trace Flag 818) • Additional SQL Server diagnostics added to detect unreported I/O problems http://support.microsoft.com/kb/826433 ©2012 Microsoft Corporation. All Rights Reserved.
  • 22. I/Oキュー • I/Oキューの数 – sys.dm_os_schedulers の pending_disk_io_count • I/O要求の詳細 – sys.dm_io_pending_io_requests ©2012 Microsoft Corporation. All Rights Reserved.
  • 23. IO完了ルーチン処理中の確認 • DMV sys.dm_os_workers – is_in_polling_io_completion_routine カラム ©2012 Microsoft Corporation. All Rights Reserved.
  • 25. ノンプリエンプティブスレッドの問題点 問題例 • 処理時間の長い Windows API 呼び出し • ユーザーが作成した拡張ストアドプロシージャの呼び出し CreateFile では内部でイ ベントオブジェクトを使 用し、自発的に待機状 T1 態となることがある I/O要求発行 … CreateFile API 呼び出し/ 完了待ち ©2012 Microsoft Corporation. All Rights Reserved.
  • 26. 解決策:プリエンプティブスレッド スレッドを管理できなくなるタイミングで、プリエンプティブ モードにスイッチする T1 CPU使用権をT2に譲渡した後、 SOSで管理されないスレッドモー ドにスイッチ T2 I/O要求発行 … CreateFile API 呼び出し/ 完了待ち ©2012 Microsoft Corporation. All Rights Reserved.
  • 27. スレッドモードの確認 • DMV sys.dm_os_workers – Is_preemptive カラム ©2012 Microsoft Corporation. All Rights Reserved.
  • 28. プリエンプティブモードで動くスレッド • ヘルスチェック スレッド – sp_server_diagnosticsスレッド – Lease HandShake スレッド (Availability Group) – Scheduler Monitorスレッド など ©2012 Microsoft Corporation. All Rights Reserved.
  • 29. まとめ • SQL Server はNon-Preemptiveなスレッドスケジューリング を実装している • Non-Preemptiveなスレッドは、自身でCPU時間を管理す る • SOSのコンテキストスイッチ時にはI/Oの完了がチェックさ れる • I/O完了時には、I/O完了ルーチンが実行される • SQL Serverのスレッドは必要に応じてプリエンプティブ モードにスイッチする ©2012 Microsoft Corporation. All Rights Reserved.
  • 30. 参考 SQL Serverのスレッドスケジューリング (DB Online) http://enterprisezine.jp/dbonline/detail/4157 http://enterprisezine.jp/dbonline/detail/4168 SQLOS - unleashed http://blogs.msdn.com/b/slavao/archive/2005/02/05/367816.aspx SQL Server 2008 SQLOS http://blogs.technet.com/b/josebda/archive/2009/03/30/sql-server-2008- sqlos.aspx Q&A on Latches in the SQL Server Engine…. http://blogs.msdn.com/b/psssql/archive/2009/07/08/q-a-on-latches-in-the-sql- server-engine.aspx ©2012 Microsoft Corporation. All Rights Reserved.
  • 32. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. ©2012 Microsoft Corporation. All Rights MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 32 Reserved.