Submit Search
Upload
Clock / Timer
•
1 like
•
603 views
Masato HORINOUCHI
Follow
社内LT大会 0x64物語 #03 OS Kernel 資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 19
Download now
Download to read offline
Recommended
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
Softflowd_49.7d_20160723
Softflowd_49.7d_20160723
Takashi Umeno
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
クックパッドのスケーリング
クックパッドのスケーリング
Satoshi Takada
04 後期勉強会一年の部【小野寺】
04 後期勉強会一年の部【小野寺】
yu-Linux
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
hpingで作るパケット
hpingで作るパケット
Takaaki Hoyo
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Recommended
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
Softflowd_49.7d_20160723
Softflowd_49.7d_20160723
Takashi Umeno
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
クックパッドのスケーリング
クックパッドのスケーリング
Satoshi Takada
04 後期勉強会一年の部【小野寺】
04 後期勉強会一年の部【小野寺】
yu-Linux
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
hpingで作るパケット
hpingで作るパケット
Takaaki Hoyo
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
irix_jp
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
UEFI時代のブートローダ
UEFI時代のブートローダ
Takuya ASADA
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
Etsuji Nakai
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
OSvの概要と実装
OSvの概要と実装
Takuya ASADA
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24
Naoya Nakazawa
about Tcpreplay
about Tcpreplay
@ otsuka752
Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki
Trema での Open vSwitch
Trema での Open vSwitch
kazuyas
OpenvswitchでVPS
OpenvswitchでVPS
Daisuke Nakajima
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
Dpdk環境の話
Dpdk環境の話
Masaru Oki
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
Shuichi Gojuki
Lagopus performance
Lagopus performance
Masaru Oki
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
Spmv9forpublic
Spmv9forpublic
T2C_
カーネルVm関西その参lt
カーネルVm関西その参lt
cosmo0920
OpenBSD/luna88k news at NBUG Meeting 2013-09
OpenBSD/luna88k news at NBUG Meeting 2013-09
Kenji Aoyama
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
Timers
Timers
uchan_nos
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki
More Related Content
What's hot
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
irix_jp
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
UEFI時代のブートローダ
UEFI時代のブートローダ
Takuya ASADA
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
Etsuji Nakai
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
OSvの概要と実装
OSvの概要と実装
Takuya ASADA
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24
Naoya Nakazawa
about Tcpreplay
about Tcpreplay
@ otsuka752
Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki
Trema での Open vSwitch
Trema での Open vSwitch
kazuyas
OpenvswitchでVPS
OpenvswitchでVPS
Daisuke Nakajima
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
Dpdk環境の話
Dpdk環境の話
Masaru Oki
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
Shuichi Gojuki
Lagopus performance
Lagopus performance
Masaru Oki
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
Spmv9forpublic
Spmv9forpublic
T2C_
カーネルVm関西その参lt
カーネルVm関西その参lt
cosmo0920
OpenBSD/luna88k news at NBUG Meeting 2013-09
OpenBSD/luna88k news at NBUG Meeting 2013-09
Kenji Aoyama
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
What's hot
(20)
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
UEFI時代のブートローダ
UEFI時代のブートローダ
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
OSvの概要と実装
OSvの概要と実装
httpd.conf line 1 to 7, 24
httpd.conf line 1 to 7, 24
about Tcpreplay
about Tcpreplay
Lagopus 0.2.2
Lagopus 0.2.2
Trema での Open vSwitch
Trema での Open vSwitch
OpenvswitchでVPS
OpenvswitchでVPS
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
Dpdk環境の話
Dpdk環境の話
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
Lagopus performance
Lagopus performance
Lagopus Switch Usecases
Lagopus Switch Usecases
Spmv9forpublic
Spmv9forpublic
カーネルVm関西その参lt
カーネルVm関西その参lt
OpenBSD/luna88k news at NBUG Meeting 2013-09
OpenBSD/luna88k news at NBUG Meeting 2013-09
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
Similar to Clock / Timer
Timers
Timers
uchan_nos
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
Yohei Azekatsu
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみた
wata2ki
OSC2012-KANSAI@Kyoto JOSUG
OSC2012-KANSAI@Kyoto JOSUG
Hideki Saito
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
Satoshi Shimazaki
[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.
Open stackceilometer
Open stackceilometer
Takahiro Shida
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
Tadashi Yamashita
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Etsuji Nakai
DSoC-RTCs
DSoC-RTCs
FujiokaT
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?
Kei Mikage
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
順也 山口
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
sandai
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
Sunao Tomita
170622 02
170622 02
openrtm
Tremaday5lt
Tremaday5lt
ykuga
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
Takeshi HASEGAWA
Similar to Clock / Timer
(20)
Timers
Timers
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみた
OSC2012-KANSAI@Kyoto JOSUG
OSC2012-KANSAI@Kyoto JOSUG
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
CloudStack徹底入門読書会 第4章 4.6 グローバル設定について
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
Open stackceilometer
Open stackceilometer
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
DSoC-RTCs
DSoC-RTCs
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
170622 02
170622 02
Tremaday5lt
Tremaday5lt
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
More from Masato HORINOUCHI
Church Numerals
Church Numerals
Masato HORINOUCHI
CPS & CTO
CPS & CTO
Masato HORINOUCHI
FM synthesis
FM synthesis
Masato HORINOUCHI
Inside mml2wav.rb
Inside mml2wav.rb
Masato HORINOUCHI
A440
A440
Masato HORINOUCHI
Scheme Interpreter in Ruby
Scheme Interpreter in Ruby
Masato HORINOUCHI
Hash Tree
Hash Tree
Masato HORINOUCHI
POSIX Threads
POSIX Threads
Masato HORINOUCHI
Elixir紹介
Elixir紹介
Masato HORINOUCHI
More from Masato HORINOUCHI
(9)
Church Numerals
Church Numerals
CPS & CTO
CPS & CTO
FM synthesis
FM synthesis
Inside mml2wav.rb
Inside mml2wav.rb
A440
A440
Scheme Interpreter in Ruby
Scheme Interpreter in Ruby
Hash Tree
Hash Tree
POSIX Threads
POSIX Threads
Elixir紹介
Elixir紹介
Recently uploaded
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(11)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Clock / Timer
1.
Clock / Timer 2015/12/15 0x64
Tales #03 OS Kernel Livesense Inc. HORINOUCHI Masato
2.
Linux Kernel Clock 大別すると以下の
2つに分けられる。 • Hardware Clock • その名の通りハードウェア上にある Clock デバイス。 • System Clock • Linux Kernel 内部にある Clock で揮発性。
3.
Linux時刻管理の仕組みと設定 から引用
4.
HW Clock • Real&me
Clock (RTC), BIOS Clock, CMOS Clock と呼ばれる。 • 一般的にはバッテリーバックアップが行なわれる。 • 電源が切れていてもバッテリーやコンデンサーにより駆動。 • &mezone を意識しない。UTC か local&me かわからない。 • Windows 環境は local&me として、Linux 環境は UTC として 動作するため、JST-9 環境だと 9時間のズレが発生する。
5.
System Clock • Linux
Kernel 内部のメモリーで保持している。なので揮発性。 • 2つのデータを持っている。 • x-me: UNIX Epoch (1970/01/01 00:00:00 UTC) からの秒数 • jiffies: 現在秒からの経過ナノ秒数 • UTC で動作する。
6.
Interval Timer • ハードウェアにより割り込みを発生させるデバイス。 •
割り込み発生する度に jiffies を増やしていく。 • 一般的な Linux Kernel では 1,000Hz (1ms) 毎に割り込み発 生。 • jiffies の増加分を x7me に反映していく。
7.
HW Clock にアクセス •
hwclock というツールでアクセスできる。 • hwclock は /etc/adj/me をみて UTC か local/me かを判別。 $ sudo hwclock --show --localtime 2015年12月15日 08時04分42秒 .785058 seconds $ cat /etc/adjtime 0.000000 1450089054 0.000000 1450089054 UTC
8.
HW Clock と
System Clock の関係 • SysVinit (Upstart) の場合 • Ubuntu では /etc/init.d/hwclock.sh で OS 起動/終了 時に同期。 • CentOS 6 では /etc/rc.d/init.d/halt で OS 終了時に 同期。 • 起動時はどうしているのかちょっと調べたけど不明…。
9.
Systemd で RTC
にアクセス • "medatectl というツールでアクセスできる。 $ timedatectl Local time: 火 2015-12-15 17:06:22 JST Universal time: 火 2015-12-15 08:06:22 UTC RTC time: 火 2015-12-15 08:06:20 Time zone: Asia/Tokyo (JST, +0900) Network time on: yes NTP synchronized: yes RTC in local TZ: no
10.
Raspberry Pi • 実は
RTC を搭載していない。 • けど自作する猛者。 • RaspberryPiにRTCモジュールを搭載して、ハードウェア起動 時に時刻を合わせる
11.
Tickless Kernel • ハードウェアにより
CPU に割り込み発生させると電力消費に懸 念。 • 時間の更新を定期的な割り込みではなく Clock Source を参照す ることに。 • これにより CPU が省電力モードでいられる時間を長くする ことが可能に。
12.
Clock Source 主に以下のものがある。上にある方がアクセスコストが低い。 • kvm-clock •
Time Stamp Counter (TSC) • High Precision Event Timer (HPET) • ACPI Power Management Timer (ACPI_PM) • Programmable Interval Timer (PIT) • Real Time Clock (RTC)
13.
RHEL6の&ckless kernel から引用
14.
Clock Source を調べる •
VirtualBox 5.0.10 (準仮想化インターフェース KVM) • Ubuntu 15.10 64bit + Guest Add@ons $ uname -a Linux ubuntu 4.2.0-19-generic #23-Ubuntu SMP Wed Nov 11 11:39:30 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource kvm-clock tsc acpi_pm $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource kvm-clock
15.
Clock Source の速度を計測 元コード1 を改変して
10,000,000 回実行。 #include <sys/time.h> #include <stdio.h> int main() { struct timeval tv; for (int i=0; i<10000000; i++) { int r = gettimeofday(&tv, 0); if (r < 0) { perror("gettimeofday"); return 1; } } return 0; } 1 VirtualBox 5 で利用可能になった Paravirtualiza1on 機能 kvmclock を使う から引用。
16.
計測してみる こんな shell script
にしてみた。 #! /bin/zsh # kvm-clock sudo sh -c "echo kvm-clock > /sys/devices/system/clocksource/clocksource0/current_clocksource" cat /sys/devices/system/clocksource/clocksource0/current_clocksource time ./t # tsc sudo sh -c "echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource" cat /sys/devices/system/clocksource/clocksource0/current_clocksource time ./t # acpi_pm sudo sh -c "echo acpi_pm > /sys/devices/system/clocksource/clocksource0/current_clocksource" cat /sys/devices/system/clocksource/clocksource0/current_clocksource time ./t
17.
Clock Source 考察 •
kvm-clock より TSC の方が 2倍ほど速い。 • が、VM だと TSC の値が怪しいケースも多そう。 • なので素直に kvm-clock を使うのが良さそう。 • acpi_pm は数十倍(30∼70倍)遅い。 • しかもシステムコールしまくり system 時間使いまくり。
18.
まとめ • Linux Kernel
の Clock / Timer 周りは歴史的経緯により複雑。 • Clock / Timer の解像度や精度は上がっている。 • 以前は VM だと Clock ズレまくったものだが、この辺も解決し てきている。 • とはいえ結局は Guest OS で ntp 使うのが良い模様 → KVM において ホストとゲストの時間管理はNTPを用いるべきか?
19.
ご清聴ありがとうございました
Download now