Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Long-term testing on accelerated Linux kernel
Search
Yoshitake Kobayashi
May 05, 2010
Technology
0
5
Long-term testing on accelerated Linux kernel
CELF Japan Technical Jamboree 32
Yoshitake Kobayashi
May 05, 2010
Tweet
Share
More Decks by Yoshitake Kobayashi
See All by Yoshitake Kobayashi
InnerSource Learning Path - インナーソースで始める組織内オープンソース開発入門&実践 -
ystk
1
170
Civil Infrastructure Platform : Industrial-Grade Linux
ystk
0
18
Boosting Software Development with Generative AI
ystk
0
24
Enhancing Cyber Resilience and Sustainability in Critical Infrastructure with CIP and IEC-62443-4
ystk
0
20
Introducing CIP in 10 minutes
ystk
0
32
Civil Infrastructure Platform-Empowering Sustainable Living with Industrial Grade Linux
ystk
0
29
Enhancing Cyber Resilience with CIP
ystk
0
7
共に創る未来:ソフトウェア開発における共創・協働のアプローチと戦略
ystk
0
100
Civil Infrastructure Platform : Industrial-Grade Linux
ystk
0
530
Other Decks in Technology
See All in Technology
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
860
3月のAWSアップデートを5分間でざっくりと!
kubomasataka
0
130
生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について
nwiizo
7
1.3k
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
5
6.5k
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
630
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
410
Dynamic Reteaming And Self Organization
miholovesq
3
680
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
140
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
1
390
Рекомендации с нуля: как мы в Lamoda превратили главную страницу в ключевую точку входа для персонализированного шоппинга. Данил Комаров, Data Scientist, Lamoda Tech
lamodatech
0
820
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
140
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
200
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Being A Developer After 40
akosma
91
590k
Building Adaptive Systems
keathley
41
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
BBQ
matthewcrist
88
9.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Into the Great Unknown - MozCon
thekraken
38
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
It's Worth the Effort
3n
184
28k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
Mar. 5, 2010 Long-term testing on accelerated Linux kernel Yoshitake
Kobayashi Advanced Software Technology Group Corporate Software Engineering Center TOSHIBA CORPORATION Copyright 2010, Toshiba Corporation.
2 本日の発表のアウトライン 問題 Linuxカーネルの加速方法 実装と問題点 実験 まとめ
3 はじめに 今回 今回 今回 今回の の の の話 話
話 話は は は は・・・ ・・・ ・・・ ・・・ • 「こんなことをやってみた」という内容です 何 何 何 何をしたか をしたか をしたか をしたか • Linux カーネルの動作を加速してみました • ....というのは,少し(かなり?)”怪しい”部分を含みます
4 問題と解決案 問題 • 長期稼動を対象としたテストには時間がかかる → 手っ取り早く長期間分のテストをしてみたい START GOAL 加速
加速 加速 加速! ! ! !
5 制限事項 加速 加速 加速 加速できないものは できないものは できないものは できないものは多 多
多 多い い い い • CPUの最大動作周波数 • ディスクアクセススピード • ネットワーク通信速度 • ..... 加速 加速 加速 加速できそうなもの できそうなもの できそうなもの できそうなもの • 時間の進み方 ハード ハード ハード ハードそのものは そのものは そのものは そのものは 加速不可 加速不可 加速不可 加速不可
6 時間の加速にあたって Linuxにおける における における における時間管理 時間管理 時間管理 時間管理 •
jiffies - システム起動時から経過したtick数 • xtime - 現在時刻と日付を保持 加速 加速 加速 加速の の の の定義 定義 定義 定義 • 加速 = jiffies × 加速係数 jiffies jiffies jiffies jiffiesが が が が基本 基本 基本 基本
7 実装 1. Kconfigにパラメータを追加 • Config SPEEDUP_RATIO (範囲:1~1000) 2. do_timer()関数でごにょごにょ
• 単に加速係数を掛けているだけ 3.操作は procfs経由で行う 例: echo 100 > /proc/sys/kern/accel など 実装環境: kernel-2.6.18 (Debian/GNU Linux 4.0) void do_timer(….) { jiffies_64 = jiffies_64 + (1 * speedup_ratio); ….. } 1000倍速 倍速 倍速 倍速で で で で起動 起動 起動 起動! まともに まともに まともに まともに 動 動 動 動かない かない かない かない!
8 動作不具合現象と原因 1. 現象 • ファイルシステムがマウントできない • デバイスがまともに動作しない 2. 原因
• カーネル内部のタイムアウト処理 - デバイスドライバ - ファイルシステム • ユーザレベルプログラムのタイムアウト 例: udev
9 具体例 マウスが動かない • 以下のカーネルメッセージが表示される - Mar 4 00:18:13 accel
kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away. - 赤で書いたファイル名は実際には”psmouse-base.c” (コメントのバグ?) キーボード • キーボード入力: 一瞬で数十文字入力が可能に! • シリアルコンソールは大丈夫 スクリーンセーバー • 一瞬でブラックアウト
10 タイムアウトへの対策 1. 方針 • 対象カーネルのタイムアウト依存部を整理 • jiffiesを利用している部分を中心にgrepで 2. 方法
• 加速係数に合わせてタイムアウトを調整 • ( timeout * speedup_ratio ) でタイムアウトを長く gnomeデスクトップ デスクトップ デスクトップ デスクトップ環境 環境 環境 環境までそれなりに までそれなりに までそれなりに までそれなりに動 動 動 動いた いた いた いた
11 実験 ★ 簡単なテストプログラムをいくつか用意 • gettimeofday()利用による時間進行確認プログラム • times()利用による時間進行確認プログラム • syslog,
message, vmstatログ監視プログラム • とりあえず10年程度走らせてみる(1000倍速で約4日) ★ 結果 • gettimeofday()利用では特に問題なし • times()利用ではclock_tオーバーフローを確認 (マニュアルに書かれている通りの動作) • syslog, message, vmstatログ監視では特に異常は見当たらない • ACPIによる電源断も10年経過後も行えるようだ
12 スクリーンショット xdaliclockはそれなりの はそれなりの はそれなりの はそれなりの速度 速度 速度 速度で で
で で動作 動作 動作 動作 xclockは は は は針 針 針 針がまともに がまともに がまともに がまともに動作 動作 動作 動作せず せず せず せず( ( ( (スキップ スキップ スキップ スキップ動作 動作 動作 動作) ) ) ) 40倍速程度 倍速程度 倍速程度 倍速程度で で で で CPU使用率 使用率 使用率 使用率100% % % %に に に に 450日弱 日弱 日弱 日弱で で で で不正 不正 不正 不正な な な な値 値 値 値が が が が 出力 出力 出力 出力されている されている されている されている
13 まとめ Linuxカーネル カーネル カーネル カーネルを を を を加速 加速
加速 加速してみた してみた してみた してみた • 本当に(ハードウェアが)速くなるわけではない - 物理的に加速したのではないので限界あり - 加速したのは時刻のみ • ソフトウェアの実行は”見た目”で早く感じることもある • clock_tのオーバーフロー問題は,1日程度で再現可能 • カーネル自体は10年動作させても大丈夫そう • 長期稼動向けの試験に応用することを期待 • 他の有効利用方法についてはアイデア アイデア アイデア アイデア募集中 募集中 募集中 募集中です
14 2008 / 7 / 24 TOSHIBA Confidential