Submit Search
Linux女子会 - お仕事メリハリ術♪(プロセススケジューラ編)
4 likes
4,561 views
Yahoo!デベロッパーネットワーク
スケジューラによる効率的なCPU利用を説明します♪
Read more
1 of 33
Download now
Downloaded 27 times
1
2
3
4
5
6
7
8
9
10
11
Most read
12
13
14
15
16
17
18
19
20
Most read
21
22
Most read
23
24
25
26
27
28
29
30
31
32
33
More Related Content
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
PDF
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
PPTX
Paxos
nobu_k
PDF
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
Takateru Yamagishi
PDF
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
PDF
仮想化環境におけるパケットフォワーディング
Takuya ASADA
PDF
Docker Compose 徹底解説
Masahito Zembutsu
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Paxos
nobu_k
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
Takateru Yamagishi
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
仮想化環境におけるパケットフォワーディング
Takuya ASADA
Docker Compose 徹底解説
Masahito Zembutsu
What's hot
(20)
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
PDF
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe
PPTX
Eclipse Iceoryx Overview
Tomoya Fujita
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
Masahito Zembutsu
PDF
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
Atsushi KOMIYA
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
PDF
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
ksk_ha
PPTX
ARM LinuxのMMUはわかりにくい
wata2ki
PDF
Android起動周りのノウハウ
chancelab
PDF
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
PDF
OCIランタイムの筆頭「runc」を俯瞰する
Kohei Tokunaga
PPTX
Java でつくる低レイテンシ実装の技巧
Ryosuke Yamazaki
PDF
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
PDF
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
PDF
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
PPTX
LINE のUI自動テスト事例
LINE Corporation
PDF
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
Yasunori Goto
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
PPTX
0円でできる自宅InfiniBandプログラム
Minoru Nakamura
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe
Eclipse Iceoryx Overview
Tomoya Fujita
Docker道場オンライン#1 Docker基礎概念と用語の理解
Masahito Zembutsu
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
Atsushi KOMIYA
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
ksk_ha
ARM LinuxのMMUはわかりにくい
wata2ki
Android起動周りのノウハウ
chancelab
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
OCIランタイムの筆頭「runc」を俯瞰する
Kohei Tokunaga
Java でつくる低レイテンシ実装の技巧
Ryosuke Yamazaki
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
LINE のUI自動テスト事例
LINE Corporation
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
Yasunori Goto
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
0円でできる自宅InfiniBandプログラム
Minoru Nakamura
Ad
Similar to Linux女子会 - お仕事メリハリ術♪(プロセススケジューラ編)
(20)
PPTX
システムパフォーマンス勉強会#5
shingo suzuki
PPTX
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
PDF
【学習メモ#9th】12ステップで作る組込みOS自作入門
sandai
PDF
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
PDF
Gamedevenvstudy1
Takashi Kokawa
PPTX
中小規模サービスのApacheチューニング
勲 國府田
PDF
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
ManaMurakami1
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
PPTX
TotalViewを使ったFOCUSスパコンでのデバッグ体験 2016
RWSJapan
ODP
Read daemon on 20121110 by shinaisan
shinaisan
PDF
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Akihiro HATANAKA
PDF
[D12] NonStop SQLって何? by Susumu Yamamoto
Insight Technology, Inc.
PDF
短距離古典分子動力学計算の 高速化と大規模並列化
Hiroshi Watanabe
PDF
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
Preferred Networks
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
PDF
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
PDF
System Center Operations Managerによる仮想環境の高度な管理
junichi anno
PDF
シンプルでシステマチックな Linux 性能分析方法
Yohei Azekatsu
PDF
Mt basic as-os_on_danbot
たけおか しょうぞう
PDF
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
システムパフォーマンス勉強会#5
shingo suzuki
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
【学習メモ#9th】12ステップで作る組込みOS自作入門
sandai
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
Gamedevenvstudy1
Takashi Kokawa
中小規模サービスのApacheチューニング
勲 國府田
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
ManaMurakami1
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
TotalViewを使ったFOCUSスパコンでのデバッグ体験 2016
RWSJapan
Read daemon on 20121110 by shinaisan
shinaisan
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Akihiro HATANAKA
[D12] NonStop SQLって何? by Susumu Yamamoto
Insight Technology, Inc.
短距離古典分子動力学計算の 高速化と大規模並列化
Hiroshi Watanabe
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
Preferred Networks
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
System Center Operations Managerによる仮想環境の高度な管理
junichi anno
シンプルでシステマチックな Linux 性能分析方法
Yohei Azekatsu
Mt basic as-os_on_danbot
たけおか しょうぞう
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
Ad
More from Yahoo!デベロッパーネットワーク
(20)
PDF
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
PDF
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
PDF
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
PDF
オンプレML基盤on Kubernetes パネルディスカッション
Yahoo!デベロッパーネットワーク
PDF
LakeTahoe
Yahoo!デベロッパーネットワーク
PDF
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
PDF
Persistent-memory-native Database High-availability Feature
Yahoo!デベロッパーネットワーク
PDF
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
Yahoo!デベロッパーネットワーク
PDF
eコマースと実店舗の相互利益を目指したデザイン #yjtc
Yahoo!デベロッパーネットワーク
PDF
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo!デベロッパーネットワーク
PDF
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
PDF
ビッグデータから人々のムードを捉える #yjtc
Yahoo!デベロッパーネットワーク
PDF
サイエンス領域におけるMLOpsの取り組み #yjtc
Yahoo!デベロッパーネットワーク
PDF
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo!デベロッパーネットワーク
PDF
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo!デベロッパーネットワーク
PDF
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
Yahoo!デベロッパーネットワーク
PDF
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
Yahoo!デベロッパーネットワーク
PDF
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
Yahoo!デベロッパーネットワーク
PDF
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
PDF
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
Yahoo!デベロッパーネットワーク
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
継続的なモデルモニタリングを実現するKubernetes Operator
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes パネルディスカッション
Yahoo!デベロッパーネットワーク
LakeTahoe
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
Persistent-memory-native Database High-availability Feature
Yahoo!デベロッパーネットワーク
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
Yahoo!デベロッパーネットワーク
eコマースと実店舗の相互利益を目指したデザイン #yjtc
Yahoo!デベロッパーネットワーク
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
Yahoo!デベロッパーネットワーク
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo!デベロッパーネットワーク
ビッグデータから人々のムードを捉える #yjtc
Yahoo!デベロッパーネットワーク
サイエンス領域におけるMLOpsの取り組み #yjtc
Yahoo!デベロッパーネットワーク
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo!デベロッパーネットワーク
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
Yahoo!デベロッパーネットワーク
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
Yahoo!デベロッパーネットワーク
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
Yahoo!デベロッパーネットワーク
Linux女子会 - お仕事メリハリ術♪(プロセススケジューラ編)
1.
(LINUXの)お仕事メリハリ術♪ -プロセススケジューラ編-
1
2.
自己紹介
2 山田 賢 北田 章 牧野 恵
3.
はじめに
3 今回の内容が直接お仕事に役立つ機会は多くないか も・・・ Linuxを愛用する立場として、Linuxのメリハリ術を 楽しむスタンスで聞いて頂けると幸いです
4.
目次
4 スケジューラの概要と目的 スケジューリングに影響する項目 スケジューラで遊ぼうお仕事メリハリ術 デベロッパーの方へ
5.
スケジューラの概要
5 1. 各CPUにプロセスを割り振り 2. プロセスの優先順位とタイムスライスを決定 プロセス 割り振り スケジューラ CPU0 プロセス 割り振り プロセス投入 CPU1
6.
スケジューラの概要
6 1. 各CPUにプロセスを割り振り 2. プロセスの優先順位とタイムスライスを決定 20ms実行 3番 1番 2番 4番 CPU0
7.
スケジューラが×で何が困る?
7 仕事がたくさんあるのにCPUを使いきってくれない 割り振り CPU0 CPU1 プロセス投入 割り振り
8.
スケジューラが×で何が困る?
8 仕事がたくさんあるのにCPUを使いきってくれない 割り振り CPU0 CPU1 プロセス投入 割り振り いいPC買ったのに 活用してくれない・・・
9.
スケジューラが×で何が困る?
9 優先してほしいプロセスを優先しない 選択 CPU使用率 CPU使用率 50% 50% CPU0
10.
スケジューラが×で何が困る?
10 優先してほしいプロセスを優先しない 選択 CPU使用率 CPU使用率 50% 50% CPU0 同時実行プロセスのせいで 動画がカクカクする・・・
11.
スケジューラが×で何が困る?
11 条件が同じプロセスに対して同じ時間CPUを使わせ ない 選択 CPU使用率 CPU使用率 90% 10% CPU0
12.
スケジューラが×で何が困る?
12 条件が同じプロセスに対して同じ時間CPUを使わせ ない 選択 CPU使用率 CPU使用率 90% 10% CPU0 私のJavaプログラムの実行 だけいつも遅い・・・
13.
一般的なスケジューラの目的
13 CPU使用率の公平性を保証 ユーザ間 プロセスグループ間 プロセス間 CPU間 etc., 性能の向上 次に実行するプロセスを高速に決定 ハードウェア特性を活用するCPU間振り分け、実行順序、タイムスラ イスの決定 etc.,
14.
スケジューラの
インパクト事例 14 gihyo.jp, “2010年11月18日 "ミラクルパッチ"に Linusも大喜び!Linuxカーネルを高速化させた233 行のコード”, http://gihyo.jp/admin/clip/01/linux_dt/201011/18 = = 以前は対等に扱っていたプロセスを・・・
15.
スケジューラの
インパクト事例 15 gihyo.jp, “2010年11月18日 "ミラクルパッチ"に Linusも大喜び!Linuxカーネルを高速化させた233 行のコード”, http://gihyo.jp/admin/clip/01/linux_dt/201011/18 用途に合わせて自動的に グループ化
16.
スケジューラのことを
知って嬉しいこと 16 急いで実行すべき仕事の優先順位を上げられる 動画再生アプリケーションなど 急いでいない仕事の優先順位を下げられる 周囲からの好感度向上(?) Linux自体に詳しく慣れる
17.
目次
17 スケジューラの概要と目的 スケジューリングに影響する項目 スケジューラで遊ぼうお仕事メリハリ術 デベロッパーの方へ
18.
スケジューリングに
影響する項目 18 CPUアフィニティ スケジューリングポリシー 静的優先度 nice値とCPU使用時間 etc.,
19.
CPUアフィニティ
19 プロセスをどのCPUで実行するか指定 0のみ 両方 1のみ OK 割り振り CPU0 両方 OK 割り振り プロセス投入 CPU1
20.
スケジューリングポリシー
20 優先順位 ポリシー名 リアルタイム 特徴 高い /通常/その他 FIFO リアルタイム 自発的に離さない限り、 OTHER CPUを使用し続ける RR(RoundRobin) リアルタイム 同じ優先度のプロセス がある場合、ラウンド ロビン OTHER 通常 デフォルトポリシー BATCH 通常 バッチプロセス用 BATCH IDLE その他 nice値+19より優先度が 低い 低い
21.
静的優先度
21 リアルタイムプロセスの優先順位を決定 値が小さいほど優先順位は高い 絶対的な優先度 1から99までの値をとる ※便宜上、一般的にはノンリアルタイムで実行 リアルタイムプロセスの されるプロセスのマスコットを使用しております 優先順位は静的に決定 11 15 50 75 1番 2番 3番 4番 CPU0
22.
nice値とCPU使用時間
22 通常プロセスの優先度とタイムスライスを決定 優先度はCPU使用時間とnice値を掛け合わせて決定 タイムスライスはプロセス間のnice値の割合で決定 nice値は-20から19(デフォルトは0) 通常プロセスの nice:10 nice:0 nice:0 CPU使用時間:10 ms 優先順位は動的に決定 CPU使用時間:30 s CPU使用時間:5 s 1番 2番 3番 CPU0
23.
スケジューリングに
影響する項目おさらい 23 実行CPU CPUアフィニティ 実行順序 スケジューリングポリシー 静的優先度 nice値とCPU使用時間 CPU使用時間(タイムスライス) スケジューリングポリシー nice値
24.
目次
24 スケジューラの概要と目的 スケジューリングに影響する項目 スケジューラで遊ぼうお仕事メリハリ術 デベロッパーの方へ
25.
スケジューラで遊ぼう
お仕事メリハリ術デモ 25 コマンドラインからスケジューリングに影響する 項目を変更してみましょう 紹介するコマンド taskset chrt nice renice
26.
taskset
26 tasksetで各プロセスが実行するCPUを指定可能 CPUを指定してプロセスを起動 $ taskset -c 0,1,5 ./a.out 実行中のプロセス(ID:5268)のCPUを指定 $ taskset –p -c 1,2 5268 実行中のプロセス(ID:5268)のCPUアフィニティ確認 $ taskset –p 5268
27.
chrt
27 プロセスのポリシーと静的優先度を変更 静的優先度の設定では1から99の範囲で値を指定 99が最大の優先度(静的優先度の1)となる FIFOかつ静的優先度20でプロセスを起動 99-20で計算 $ sudo chrt -f -p 79 ./a.out 実行中のプロセス(ID:30621)をBATCHに設定 $ chrt -b -p 0 30621 実行中のプロセス(ID:30621)のポリシーと優先度を 確認 $ chrt -p 30621
28.
nice
28 nice値をプログラム起動時に指定 一般ユーザはnice値を下げれない 高い値ほど他のプロセスにCPUを譲るのでniceな値 nice値10を指定してプログラムを起動 $ nice –n 10 ./a.out nice値にマイナスを指定したい場合はsudoで実行 $ sudo nice –n -10 ./a.out
29.
renice
29 実行中のプロセスのnice値を変更 プロセスID:4559のnice値を+10 $ renice +10 4559 実行ユーザがyahooのプロセスのnice値を20に変更 $ renice 20 -u yahoo
30.
まとめ
30 プロセスはプロセスに設定された様々な項目に基づ いてスケジューリングされる 上記の項目はコマンドラインから変更可能 Linuxで遊べる作業効率化 静的優先度の表示や設定基準値などは、コマンドにより異な るので注意 但し、極端な設定は他のプロセスやユーザの迷惑になりうる ので程々に…
31.
目次
31 スケジューラの概要と目的 スケジューリングに影響する項目 スケジューラで遊ぼうお仕事メリハリ術 デベロッパーの方へ
32.
デベロッパーの方へ
32 YJDN (Yahoo! JAPAN Developer Network) Yahoo! JAPANのサービスを利用するAPIを提供しています http://developer.yahoo.co.jp/ Tech Blog Yahoo! JAPANの動向や最新情報を発信しています http://techblog.yahoo.co.jp/
33.
33 ご清聴ありがとうございました
Download